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_ID_CARD = "ID_CARD";
String MASK_TYPE_MOBILE = "MOBILE"; 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); return maskIdCard(originString);
} else if (MaskResponse.MASK_TYPE_MOBILE.equals(maskType)) { } else if (MaskResponse.MASK_TYPE_MOBILE.equals(maskType)) {
return maskMobile(originString); return maskMobile(originString);
} else if (MaskResponse.MASK_TYPE_CHINESE_NAME.equals(maskType)) {
return maskChineseName(originString);
} else { } else {
return originString; 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后面打码

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 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都为空时,默认查询当前工作人员所属组织下的小区"); log.info("agencyId与gridId都为空时,默认查询当前工作人员所属组织下的小区");
CustomerStaffInfoCacheResult result= CustomerStaffRedis.getStaffInfo(customerId,staffId); CustomerStaffInfoCacheResult result= CustomerStaffRedis.getStaffInfo(customerId,staffId);
if (null == result || StringUtils.isBlank(result.getAgencyId())) { if (null == result || StringUtils.isBlank(result.getAgencyId())) {
log.error(String.format("staffId:%s,工作人员缓存信息查询异常")); log.error(String.format("staffId:%s,工作人员缓存信息查询异常", staffId));
return Collections.emptyList(); return Collections.emptyList();
} }
agencyId=result.getAgencyId(); agencyId=result.getAgencyId();
@ -214,15 +214,15 @@ public class IcNeighborHoodServiceImpl extends BaseServiceImpl<IcNeighborHoodDao
public List<BuildingResultDTO> getNeighborhoodList(TokenDto tokenDto, IcNeighborHoodDTO dto) { public List<BuildingResultDTO> getNeighborhoodList(TokenDto tokenDto, IcNeighborHoodDTO dto) {
dto.setCustomerId(tokenDto.getCustomerId()); dto.setCustomerId(tokenDto.getCustomerId());
if (StringUtils.isBlank(dto.getAgencyId()) && StringUtils.isEmpty(dto.getGridId())) { // if (StringUtils.isBlank(dto.getAgencyId()) && StringUtils.isEmpty(dto.getGridId())) {
log.info("agencyId与gridId都为空时,默认查询当前工作人员所属组织下的小区"); // log.info("agencyId与gridId都为空时,默认查询当前工作人员所属组织下的小区");
CustomerStaffInfoCacheResult result= CustomerStaffRedis.getStaffInfo(tokenDto.getCustomerId(), tokenDto.getUserId()); // CustomerStaffInfoCacheResult result= CustomerStaffRedis.getStaffInfo(tokenDto.getCustomerId(), tokenDto.getUserId());
if (null == result || StringUtils.isBlank(result.getAgencyId())) { // if (null == result || StringUtils.isBlank(result.getAgencyId())) {
log.error(String.format("staffId:%s,工作人员缓存信息查询异常")); // log.error(String.format("staffId:%s,工作人员缓存信息查询异常", tokenDto.getUserId()));
return Collections.emptyList(); // return Collections.emptyList();
} // }
dto.setAgencyId(result.getAgencyId()); // dto.setAgencyId(result.getAgencyId());
} // }
return icBuildingDao.listBuildingInfo(dto); 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.id AS neighborhoodId,
n.NEIGHBOR_HOOD_NAME AS neighborhoodName, n.NEIGHBOR_HOOD_NAME AS neighborhoodName,
n.GRID_ID, n.GRID_ID,
g.GRID_NAME g.GRID_NAME,
a.ALL_PARENT_NAME,
a.ORGANIZATION_NAME AS AGENCY_NAME,
n.CUSTOMER_ID
FROM FROM
ic_building b ic_building b
LEFT JOIN ic_neighbor_hood n ON b.NEIGHBOR_HOOD_ID = n.id 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_grid g ON n.GRID_ID = g.id
LEFT JOIN customer_agency a ON a.id = g.pid
WHERE WHERE
n.DEL_FLAG = '0' n.DEL_FLAG = '0'
AND b.DEL_FLAG = '0' AND b.DEL_FLAG = '0'
AND g.DEL_FLAG = '0' AND g.DEL_FLAG = '0'
AND a.DEL_FLAG = '0'
AND n.CUSTOMER_ID = #{customerId} AND n.CUSTOMER_ID = #{customerId}
<if test="gridId != null and gridId != ''"> <if test="gridId != null and gridId != ''">
AND n.GRID_ID = #{gridId} AND n.GRID_ID = #{gridId}
@ -474,9 +479,11 @@
<if test="buildingName != null and buildingName != ''"> <if test="buildingName != null and buildingName != ''">
AND (n.NEIGHBOR_HOOD_NAME LIKE CONCAT('%', #{buildingName}, '%') OR b.BUILDING_NAME LIKE CONCAT('%', #{buildingName}, '%')) AND (n.NEIGHBOR_HOOD_NAME LIKE CONCAT('%', #{buildingName}, '%') OR b.BUILDING_NAME LIKE CONCAT('%', #{buildingName}, '%'))
</if> </if>
AND ( <if test="agencyId != null and agencyId != ''">
n.AGENCY_ID = #{agencyId} AND (
OR n.AGENCY_PIDS LIKE CONCAT('%', #{agencyId}, '%')) n.AGENCY_ID = #{agencyId}
OR n.AGENCY_PIDS LIKE CONCAT('%', #{agencyId}, '%'))
</if>
</select> </select>
<select id="getBuildingInfoByName" resultType="com.epmet.entity.IcBuildingEntity" <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; private String idCard;
/**
* 客户ID
*/
private String customerId;
/**
* 部门ID
*/
private String agencyId;
private String isVaccination; private String isVaccination;
private String gridId; private String gridId;
private String villageId; 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 * @return
*/ */
@PostMapping("listresi-zhzl") @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) { public Result<PageData<Map<String, Object>>> listResiZhzl(@LoginUser TokenDto tokenDto, @RequestBody IcResiUserPageFormDTO pageFormDTO) {
pageFormDTO.setCustomerId(tokenDto.getCustomerId()); pageFormDTO.setCustomerId(tokenDto.getCustomerId());
pageFormDTO.setStaffId(tokenDto.getUserId()); 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.annotation.MaskResponse;
import com.epmet.commons.tools.aop.NoRepeatSubmit; import com.epmet.commons.tools.aop.NoRepeatSubmit;
import com.epmet.commons.tools.dto.form.PageFormDTO; 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.exception.EpmetException;
import com.epmet.commons.tools.page.PageData; 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.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ExcelPoiUtils; import com.epmet.commons.tools.utils.ExcelPoiUtils;
import com.epmet.commons.tools.utils.ExcelUtils; import com.epmet.commons.tools.utils.ExcelUtils;
@ -61,9 +63,9 @@ public class IcVaccinePrarmeterController {
@RequestMapping("page") @RequestMapping("page")
// @MaskResponse(fieldNames = {"MOBILE", "ID_CARD"}, fieldsMaskType = {MaskResponse.MASK_TYPE_MOBILE, MaskResponse.MASK_TYPE_ID_CARD}) // @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.page(params);
PageData<IcVaccinePrarmeterDTO> page = icVaccinePrarmeterService.getPhrasePage(params); PageData<IcVaccinePrarmeterDTO> page = icVaccinePrarmeterService.getPhrasePage(params,tokenDto);
return new Result<PageData<IcVaccinePrarmeterDTO>>().ok(page); return new Result<PageData<IcVaccinePrarmeterDTO>>().ok(page);
} }
@ -75,7 +77,7 @@ public class IcVaccinePrarmeterController {
@NoRepeatSubmit @NoRepeatSubmit
@PostMapping("save") @PostMapping("save")
public Result save(@RequestBody IcVaccinePrarmeterDTO dto){ public Result save(@RequestBody IcVaccinePrarmeterDTO dto, @LoginUser TokenDto tokenDto){
//效验数据 //效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
icVaccinePrarmeterService.save(dto); icVaccinePrarmeterService.save(dto);
@ -116,6 +118,13 @@ public class IcVaccinePrarmeterController {
@PostMapping("vaccine-export") @PostMapping("vaccine-export")
public void vaccineExport(HttpServletResponse response, @RequestBody VaccinePrarmeterListFormDTO formDTO, @LoginUser TokenDto tokenDto) throws Exception { public void vaccineExport(HttpServletResponse response, @RequestBody VaccinePrarmeterListFormDTO formDTO, @LoginUser TokenDto tokenDto) throws Exception {
ValidatorUtils.validateEntity(formDTO, PageFormDTO.AddUserInternalGroup.class); 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); List<IcVaccinePrarmeterDTO> list = icVaccinePrarmeterDao.vaccineExport(formDTO);
ExcelUtils.exportExcelToTarget(response, null, list, IcVaccinePrarmeterExcel.class); 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 * @param params
* @return * @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 * @return
*/ */
@Override @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); IPage<IcVaccinePrarmeterDTO> page = getPage(params);
List<IcVaccinePrarmeterDTO> list = baseDao.getPhrasePage(params); List<IcVaccinePrarmeterDTO> list = baseDao.getPhrasePage(params);
return new PageData<>(list, page.getTotal()); return new PageData<>(list, page.getTotal());
@ -345,26 +352,26 @@ public class IcVaccinePrarmeterServiceImpl extends BaseServiceImpl<IcVaccinePrar
list.get(i).setAddStatus(true); list.get(i).setAddStatus(true);
continue; continue;
} }
if (StringUtils.isBlank(list.get(i).getSecondVacTime()) && !list.get(i).getAddStatus()){ // if (StringUtils.isBlank(list.get(i).getSecondVacTime()) && !list.get(i).getAddStatus()){
errorInfo.add(getErrorInfo(list.get(i), "第二次接种时间不能为空",i+1)); // errorInfo.add(getErrorInfo(list.get(i), "第二次接种时间不能为空",i+1));
list.get(i).setAddStatus(true); // list.get(i).setAddStatus(true);
continue; // continue;
} // }
if (StringUtils.isBlank(list.get(i).getSecondVacSite()) && !list.get(i).getAddStatus()){ // if (StringUtils.isBlank(list.get(i).getSecondVacSite()) && !list.get(i).getAddStatus()){
errorInfo.add(getErrorInfo(list.get(i), "第二次接种地点不能为空",i+1)); // errorInfo.add(getErrorInfo(list.get(i), "第二次接种地点不能为空",i+1));
list.get(i).setAddStatus(true); // list.get(i).setAddStatus(true);
continue; // continue;
} // }
if (StringUtils.isBlank(list.get(i).getThirdVacTime()) && !list.get(i).getAddStatus()){ // if (StringUtils.isBlank(list.get(i).getThirdVacTime()) && !list.get(i).getAddStatus()){
errorInfo.add(getErrorInfo(list.get(i), "第三次接种时间不能为空",i+1)); // errorInfo.add(getErrorInfo(list.get(i), "第三次接种时间不能为空",i+1));
list.get(i).setAddStatus(true); // list.get(i).setAddStatus(true);
continue; // continue;
} // }
if (StringUtils.isBlank(list.get(i).getThirdVacSite()) && !list.get(i).getAddStatus()){ // if (StringUtils.isBlank(list.get(i).getThirdVacSite()) && !list.get(i).getAddStatus()){
errorInfo.add(getErrorInfo(list.get(i), "第三次接种地点不能为空",i+1)); // errorInfo.add(getErrorInfo(list.get(i), "第三次接种地点不能为空",i+1));
list.get(i).setAddStatus(true); // list.get(i).setAddStatus(true);
continue; // continue;
} // }
} }
// 校验所属网格通过名称能否匹配到ID // 校验所属网格通过名称能否匹配到ID

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

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

Loading…
Cancel
Save