wangxianzhang 3 years ago
parent
commit
284f52a315
  1. 1
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/annotation/MaskResponse.java
  2. 24
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/processor/MaskProcessor.java
  3. 6
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/BuildingResultDTO.java
  4. 20
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcNeighborHoodServiceImpl.java
  5. 15
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcBuildingDao.xml
  6. 9
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/VaccinePrarmeterListFormDTO.java
  7. 3
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java
  8. 15
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccinePrarmeterController.java
  9. 2
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccinePrarmeterService.java
  10. 49
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccinePrarmeterServiceImpl.java
  11. 4
      epmet-user/epmet-user-server/src/main/resources/mapper/IcVaccinePrarmeterDao.xml

1
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/annotation/MaskResponse.java

@ -15,6 +15,7 @@ public @interface MaskResponse {
*/
String MASK_TYPE_ID_CARD = "ID_CARD";
String MASK_TYPE_MOBILE = "MOBILE";
String MASK_TYPE_CHINESE_NAME = "CHINESE_NAME";
///**
// * 默认的一些字段,如果没有手动指定,就会使用默认的。如果手动指定了,就不再使用默认的

24
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/processor/MaskProcessor.java

@ -133,11 +133,35 @@ public class MaskProcessor {
return maskIdCard(originString);
} else if (MaskResponse.MASK_TYPE_MOBILE.equals(maskType)) {
return maskMobile(originString);
} else if (MaskResponse.MASK_TYPE_CHINESE_NAME.equals(maskType)) {
return maskChineseName(originString);
} else {
return originString;
}
}
/**
* 对中文人名进行打码
* @param originString
* @return
*/
private String maskChineseName(String originString) {
if (StringUtils.isBlank(originString)) {
// 空串,或者只有一个字的,不打码,直接返回
return originString;
}
int length = originString.length();
// 2个字以上的,首位字母明文,中间*
// 中文不能用\\w,要用[\u4e00-\u9fa5]
if (length == 2) {
return originString.replaceAll("^([\\u4e00-\\u9fa5]).*$", "$1*");
} else {
String maskStr = StrUtil.repeat("*", length - 2);
return originString.replaceAll("^([\\u4e00-\\u9fa5]).*([\\u4e00-\\u9fa5])$", "$1" + maskStr + "$2");
}
}
/**
* 唯一整件号打码可能是身份证号或者是护照号
* 将明文字符串打码变为掩码保留前6后面打码

6
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/BuildingResultDTO.java

@ -28,4 +28,10 @@ public class BuildingResultDTO implements Serializable {
private String label;
private String allParentName;
private String agencyName;
private String customerId;
}

20
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcNeighborHoodServiceImpl.java

@ -191,7 +191,7 @@ public class IcNeighborHoodServiceImpl extends BaseServiceImpl<IcNeighborHoodDao
log.info("agencyId与gridId都为空时,默认查询当前工作人员所属组织下的小区");
CustomerStaffInfoCacheResult result= CustomerStaffRedis.getStaffInfo(customerId,staffId);
if (null == result || StringUtils.isBlank(result.getAgencyId())) {
log.error(String.format("staffId:%s,工作人员缓存信息查询异常"));
log.error(String.format("staffId:%s,工作人员缓存信息查询异常", staffId));
return Collections.emptyList();
}
agencyId=result.getAgencyId();
@ -214,15 +214,15 @@ public class IcNeighborHoodServiceImpl extends BaseServiceImpl<IcNeighborHoodDao
public List<BuildingResultDTO> getNeighborhoodList(TokenDto tokenDto, IcNeighborHoodDTO dto) {
dto.setCustomerId(tokenDto.getCustomerId());
if (StringUtils.isBlank(dto.getAgencyId()) && StringUtils.isEmpty(dto.getGridId())) {
log.info("agencyId与gridId都为空时,默认查询当前工作人员所属组织下的小区");
CustomerStaffInfoCacheResult result= CustomerStaffRedis.getStaffInfo(tokenDto.getCustomerId(), tokenDto.getUserId());
if (null == result || StringUtils.isBlank(result.getAgencyId())) {
log.error(String.format("staffId:%s,工作人员缓存信息查询异常"));
return Collections.emptyList();
}
dto.setAgencyId(result.getAgencyId());
}
// if (StringUtils.isBlank(dto.getAgencyId()) && StringUtils.isEmpty(dto.getGridId())) {
// log.info("agencyId与gridId都为空时,默认查询当前工作人员所属组织下的小区");
// CustomerStaffInfoCacheResult result= CustomerStaffRedis.getStaffInfo(tokenDto.getCustomerId(), tokenDto.getUserId());
// if (null == result || StringUtils.isBlank(result.getAgencyId())) {
// log.error(String.format("staffId:%s,工作人员缓存信息查询异常", tokenDto.getUserId()));
// return Collections.emptyList();
// }
// dto.setAgencyId(result.getAgencyId());
// }
return icBuildingDao.listBuildingInfo(dto);
}

15
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcBuildingDao.xml

@ -458,15 +458,20 @@
n.id AS neighborhoodId,
n.NEIGHBOR_HOOD_NAME AS neighborhoodName,
n.GRID_ID,
g.GRID_NAME
g.GRID_NAME,
a.ALL_PARENT_NAME,
a.ORGANIZATION_NAME AS AGENCY_NAME,
n.CUSTOMER_ID
FROM
ic_building b
LEFT JOIN ic_neighbor_hood n ON b.NEIGHBOR_HOOD_ID = n.id
LEFT JOIN customer_grid g ON n.GRID_ID = g.id
LEFT JOIN customer_agency a ON a.id = g.pid
WHERE
n.DEL_FLAG = '0'
AND b.DEL_FLAG = '0'
AND g.DEL_FLAG = '0'
AND a.DEL_FLAG = '0'
AND n.CUSTOMER_ID = #{customerId}
<if test="gridId != null and gridId != ''">
AND n.GRID_ID = #{gridId}
@ -474,9 +479,11 @@
<if test="buildingName != null and buildingName != ''">
AND (n.NEIGHBOR_HOOD_NAME LIKE CONCAT('%', #{buildingName}, '%') OR b.BUILDING_NAME LIKE CONCAT('%', #{buildingName}, '%'))
</if>
AND (
n.AGENCY_ID = #{agencyId}
OR n.AGENCY_PIDS LIKE CONCAT('%', #{agencyId}, '%'))
<if test="agencyId != null and agencyId != ''">
AND (
n.AGENCY_ID = #{agencyId}
OR n.AGENCY_PIDS LIKE CONCAT('%', #{agencyId}, '%'))
</if>
</select>
<select id="getBuildingInfoByName" resultType="com.epmet.entity.IcBuildingEntity"

9
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/VaccinePrarmeterListFormDTO.java

@ -30,6 +30,15 @@ public class VaccinePrarmeterListFormDTO extends PageFormDTO implements Serializ
*/
private String idCard;
/**
* 客户ID
*/
private String customerId;
/**
* 部门ID
*/
private String agencyId;
private String isVaccination;
private String gridId;
private String villageId;

3
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java

@ -1365,7 +1365,8 @@ public class IcResiUserController implements ResultDataResolver {
* @return
*/
@PostMapping("listresi-zhzl")
@MaskResponse(fieldNames = {"MOBILE", "ID_CARD"}, fieldsMaskType = {MaskResponse.MASK_TYPE_MOBILE, MaskResponse.MASK_TYPE_ID_CARD})
@MaskResponse(fieldNames = {"MOBILE", "ID_CARD", "NAME"},
fieldsMaskType = {MaskResponse.MASK_TYPE_MOBILE, MaskResponse.MASK_TYPE_ID_CARD, MaskResponse.MASK_TYPE_CHINESE_NAME})
public Result<PageData<Map<String, Object>>> listResiZhzl(@LoginUser TokenDto tokenDto, @RequestBody IcResiUserPageFormDTO pageFormDTO) {
pageFormDTO.setCustomerId(tokenDto.getCustomerId());
pageFormDTO.setStaffId(tokenDto.getUserId());

15
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccinePrarmeterController.java

@ -5,8 +5,10 @@ import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.annotation.MaskResponse;
import com.epmet.commons.tools.aop.NoRepeatSubmit;
import com.epmet.commons.tools.dto.form.PageFormDTO;
import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.redis.common.CustomerStaffRedis;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ExcelPoiUtils;
import com.epmet.commons.tools.utils.ExcelUtils;
@ -61,9 +63,9 @@ public class IcVaccinePrarmeterController {
@RequestMapping("page")
// @MaskResponse(fieldNames = {"MOBILE", "ID_CARD"}, fieldsMaskType = {MaskResponse.MASK_TYPE_MOBILE, MaskResponse.MASK_TYPE_ID_CARD})
public Result<PageData<IcVaccinePrarmeterDTO>> page(@RequestParam Map<String, Object> params){
public Result<PageData<IcVaccinePrarmeterDTO>> page(@RequestParam Map<String, Object> params, @LoginUser TokenDto tokenDto){
// PageData<IcVaccinePrarmeterDTO> page = icVaccinePrarmeterService.page(params);
PageData<IcVaccinePrarmeterDTO> page = icVaccinePrarmeterService.getPhrasePage(params);
PageData<IcVaccinePrarmeterDTO> page = icVaccinePrarmeterService.getPhrasePage(params,tokenDto);
return new Result<PageData<IcVaccinePrarmeterDTO>>().ok(page);
}
@ -75,7 +77,7 @@ public class IcVaccinePrarmeterController {
@NoRepeatSubmit
@PostMapping("save")
public Result save(@RequestBody IcVaccinePrarmeterDTO dto){
public Result save(@RequestBody IcVaccinePrarmeterDTO dto, @LoginUser TokenDto tokenDto){
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
icVaccinePrarmeterService.save(dto);
@ -116,6 +118,13 @@ public class IcVaccinePrarmeterController {
@PostMapping("vaccine-export")
public void vaccineExport(HttpServletResponse response, @RequestBody VaccinePrarmeterListFormDTO formDTO, @LoginUser TokenDto tokenDto) throws Exception {
ValidatorUtils.validateEntity(formDTO, PageFormDTO.AddUserInternalGroup.class);
formDTO.setCustomerId(tokenDto.getCustomerId());
// 获取工作人员缓存信息
CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(tokenDto.getCustomerId(), tokenDto.getUserId());
if (null == staffInfo) {
throw new EpmetException(String.format("查询工作人员%s缓存信息失败...", tokenDto.getUserId()));
}
formDTO.setAgencyId(staffInfo.getAgencyId());
List<IcVaccinePrarmeterDTO> list = icVaccinePrarmeterDao.vaccineExport(formDTO);
ExcelUtils.exportExcelToTarget(response, null, list, IcVaccinePrarmeterExcel.class);

2
epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccinePrarmeterService.java

@ -35,7 +35,7 @@ public interface IcVaccinePrarmeterService extends BaseService<IcVaccinePrarmete
* @param params
* @return
*/
PageData<IcVaccinePrarmeterDTO> getPhrasePage(Map<String, Object> params);
PageData<IcVaccinePrarmeterDTO> getPhrasePage(Map<String, Object> params, TokenDto tokenDto);
/**
* 默认查询

49
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccinePrarmeterServiceImpl.java

@ -124,7 +124,14 @@ public class IcVaccinePrarmeterServiceImpl extends BaseServiceImpl<IcVaccinePrar
* @return
*/
@Override
public PageData<IcVaccinePrarmeterDTO> getPhrasePage(Map<String, Object> params) {
public PageData<IcVaccinePrarmeterDTO> getPhrasePage(Map<String, Object> params, TokenDto tokenDto) {
params.put("customerId",tokenDto.getCustomerId());
// 获取工作人员缓存信息
CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(tokenDto.getCustomerId(), tokenDto.getUserId());
if (null == staffInfo) {
throw new EpmetException(String.format("查询工作人员%s缓存信息失败...", tokenDto.getUserId()));
}
params.put("agencyId",staffInfo.getAgencyId());
IPage<IcVaccinePrarmeterDTO> page = getPage(params);
List<IcVaccinePrarmeterDTO> list = baseDao.getPhrasePage(params);
return new PageData<>(list, page.getTotal());
@ -345,26 +352,26 @@ public class IcVaccinePrarmeterServiceImpl extends BaseServiceImpl<IcVaccinePrar
list.get(i).setAddStatus(true);
continue;
}
if (StringUtils.isBlank(list.get(i).getSecondVacTime()) && !list.get(i).getAddStatus()){
errorInfo.add(getErrorInfo(list.get(i), "第二次接种时间不能为空",i+1));
list.get(i).setAddStatus(true);
continue;
}
if (StringUtils.isBlank(list.get(i).getSecondVacSite()) && !list.get(i).getAddStatus()){
errorInfo.add(getErrorInfo(list.get(i), "第二次接种地点不能为空",i+1));
list.get(i).setAddStatus(true);
continue;
}
if (StringUtils.isBlank(list.get(i).getThirdVacTime()) && !list.get(i).getAddStatus()){
errorInfo.add(getErrorInfo(list.get(i), "第三次接种时间不能为空",i+1));
list.get(i).setAddStatus(true);
continue;
}
if (StringUtils.isBlank(list.get(i).getThirdVacSite()) && !list.get(i).getAddStatus()){
errorInfo.add(getErrorInfo(list.get(i), "第三次接种地点不能为空",i+1));
list.get(i).setAddStatus(true);
continue;
}
// if (StringUtils.isBlank(list.get(i).getSecondVacTime()) && !list.get(i).getAddStatus()){
// errorInfo.add(getErrorInfo(list.get(i), "第二次接种时间不能为空",i+1));
// list.get(i).setAddStatus(true);
// continue;
// }
// if (StringUtils.isBlank(list.get(i).getSecondVacSite()) && !list.get(i).getAddStatus()){
// errorInfo.add(getErrorInfo(list.get(i), "第二次接种地点不能为空",i+1));
// list.get(i).setAddStatus(true);
// continue;
// }
// if (StringUtils.isBlank(list.get(i).getThirdVacTime()) && !list.get(i).getAddStatus()){
// errorInfo.add(getErrorInfo(list.get(i), "第三次接种时间不能为空",i+1));
// list.get(i).setAddStatus(true);
// continue;
// }
// if (StringUtils.isBlank(list.get(i).getThirdVacSite()) && !list.get(i).getAddStatus()){
// errorInfo.add(getErrorInfo(list.get(i), "第三次接种地点不能为空",i+1));
// list.get(i).setAddStatus(true);
// continue;
// }
}
// 校验所属网格通过名称能否匹配到ID

4
epmet-user/epmet-user-server/src/main/resources/mapper/IcVaccinePrarmeterDao.xml

@ -78,6 +78,8 @@
CHECK_REASON
from ic_vaccine_prarmeter
where DEL_FLAG = 0
and CUSTOMER_ID = #{customerId}
AND (AGENCY_ID = #{agencyId} OR PIDS LIKE CONCAT('%',#{agencyId},'%'))
<if test="name != null and name != ''">
and NAME like CONCAT('%' ,#{name}, '%')
</if>
@ -150,6 +152,8 @@
CHECK_REASON
from ic_vaccine_prarmeter
where DEL_FLAG = 0
and CUSTOMER_ID = #{customerId}
AND (AGENCY_ID = #{agencyId} OR PIDS LIKE CONCAT('%',#{agencyId},'%'))
<if test="name != null and name != ''">
and NAME like CONCAT('%' ,#{name}, '%')
</if>

Loading…
Cancel
Save