From 4ad50040e245efeae77c2f05b8fe11a8aed7812e Mon Sep 17 00:00:00 2001 From: dongqin <123456> Date: Mon, 29 Jul 2019 16:51:13 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dbug,=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E8=84=B1=E6=95=8F=E5=A4=84=E7=90=86=E3=80=81=E5=8E=BB=E9=99=A4?= =?UTF-8?q?java=201.8=E7=89=B9=E6=9C=89=E7=9A=84api?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/request/AfterVisitPelvicFloorRequest.java | 13 ++++++ .../request/BabyAfterVisitBuildListRequest.java | 13 ++++++ .../operate/web/request/BabyAfterVisitRequest.java | 13 ++++++ .../web/request/PelvicFloorInfoListRequest.java | 13 ++++++ .../service/impl/BabyAfterVisitServiceImpl.java | 49 ++++++++-------------- .../impl/BabyEvaluationCriterionServiceImpl.java | 1 + .../web/service/impl/PelvicFloorServiceImpl.java | 38 ++++------------- .../platform/operate/web/utils/EncryptUtil.java | 36 ++++++++++++++++ 8 files changed, 116 insertions(+), 60 deletions(-) create mode 100644 platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/EncryptUtil.java diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/AfterVisitPelvicFloorRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/AfterVisitPelvicFloorRequest.java index a206c5f..cc3d9e4 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/AfterVisitPelvicFloorRequest.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/AfterVisitPelvicFloorRequest.java @@ -40,6 +40,19 @@ public class AfterVisitPelvicFloorRequest extends BaseQuery implements Serializa */ private String yearResult; + /** + * 是否加密 1|是 2|否 + */ + private String isEncrypt = "2"; + + public String getIsEncrypt() { + return isEncrypt; + } + + public void setIsEncrypt(String isEncrypt) { + this.isEncrypt = isEncrypt; + } + public String getQueryNo() { return queryNo; } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BabyAfterVisitBuildListRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BabyAfterVisitBuildListRequest.java index dc8556d..4696502 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BabyAfterVisitBuildListRequest.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BabyAfterVisitBuildListRequest.java @@ -93,6 +93,19 @@ public class BabyAfterVisitBuildListRequest extends BaseQuery implements Seriali */ private String positiveProject; + /** + * 是否加密 1|是 2|否 + */ + private String isEncrypt = "2"; + + public String getIsEncrypt() { + return isEncrypt; + } + + public void setIsEncrypt(String isEncrypt) { + this.isEncrypt = isEncrypt; + } + public String getPositiveProject() { return positiveProject; } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BabyAfterVisitRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BabyAfterVisitRequest.java index fc619e8..6e5027a 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BabyAfterVisitRequest.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BabyAfterVisitRequest.java @@ -58,6 +58,19 @@ public class BabyAfterVisitRequest extends BaseQuery { */ private Integer highRiskType; + /** + * 是否加密 1|是 2|否 + */ + private String isEncrypt = "2"; + + public String getIsEncrypt() { + return isEncrypt; + } + + public void setIsEncrypt(String isEncrypt) { + this.isEncrypt = isEncrypt; + } + public Integer getHighRiskType() { return highRiskType; } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/PelvicFloorInfoListRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/PelvicFloorInfoListRequest.java index 782bb99..cb5f951 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/PelvicFloorInfoListRequest.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/PelvicFloorInfoListRequest.java @@ -49,6 +49,19 @@ public class PelvicFloorInfoListRequest extends BaseQuery implements Serializabl @Size(max = 1) private String treatmentStatus; + /** + * 是否加密 1|是 2|否 + */ + private String isEncrypt = "2"; + + public String getIsEncrypt() { + return isEncrypt; + } + + public void setIsEncrypt(String isEncrypt) { + this.isEncrypt = isEncrypt; + } + public String getStartTreatmentTime() { return startTreatmentTime; } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BabyAfterVisitServiceImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BabyAfterVisitServiceImpl.java index 5591da4..2e86277 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BabyAfterVisitServiceImpl.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BabyAfterVisitServiceImpl.java @@ -17,6 +17,7 @@ import com.lyms.platform.operate.web.request.BabyAfterVisitInfoDetailRequest; import com.lyms.platform.operate.web.request.BabyAfterVisitRequest; import com.lyms.platform.operate.web.service.BabyAfterVisitService; import com.lyms.platform.operate.web.utils.CollectionUtils; +import com.lyms.platform.operate.web.utils.EncryptUtil; import com.lyms.platform.operate.web.utils.InitDataUtils; import com.lyms.platform.operate.web.worker.BabyAfterVisitInfoModelWork; import com.lyms.platform.operate.web.worker.BabyAfterVisitStatisticsModelWork; @@ -131,6 +132,9 @@ public class BabyAfterVisitServiceImpl implements BabyAfterVisitService { highRiskType = exists ? -1 : highRiskType; } objectMap.put("highRiskType", highRiskType); + + objectMap.put("mphone", "1".equals(request.getIsEncrypt()) ? EncryptUtil.numberEncrypt(model.getMphone()) : model.getMphone()); + objectMap.put("mcertNo", "1".endsWith(request.getIsEncrypt()) ? EncryptUtil.numberEncrypt(model.getMcertNo()) : model.getMcertNo()); mapList.add(objectMap); } @@ -322,7 +326,7 @@ public class BabyAfterVisitServiceImpl implements BabyAfterVisitService { // 起止月龄 Integer startMonthsAge = request.getStartMonthsAge(); Integer endMonthsAge = request.getEndMonthsAge(); - if (Objects.nonNull(startMonthsAge) && Objects.nonNull(endMonthsAge) && endMonthsAge >= startMonthsAge) { + if (startMonthsAge != null && endMonthsAge != null && endMonthsAge >= startMonthsAge) { // 当月最后一天 Calendar calendar = Calendar.getInstance(); Date start; @@ -331,7 +335,6 @@ public class BabyAfterVisitServiceImpl implements BabyAfterVisitService { } else { calendar.setTime(new Date()); calendar.add(Calendar.MONTH, -startMonthsAge); - //calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH)); start = calendar.getTime(); } @@ -392,7 +395,7 @@ public class BabyAfterVisitServiceImpl implements BabyAfterVisitService { // 逾期天数 Integer beyondDay = request.getBeyondDay(); - boolean nonNull = Objects.nonNull(beyondDay); + boolean nonNull = beyondDay != null; if (appointmentTimeBoolean && nonNull) { startAppointmentTime += " 00:00:00"; endAppointmentTime += " 23:59:59"; @@ -410,20 +413,6 @@ public class BabyAfterVisitServiceImpl implements BabyAfterVisitService { s2 = getStartDate(beyondDay); } - Date date = new Date(); - // 交集 - /* boolean a = s2.before(e1) && e1.after(e2) && s1.before(s2) && date.after(s2) && date.before(e1); - boolean b = s2.before(e1) && e2.before(e1) && s1.before(s2) && date.after(s2) && date.before(e2); - boolean c = s2.before(s1) && s1.before(e2) && e2.before(e1) && date.before(e2) && date.after(s1); - boolean d = s2.before(s1) && s1.before(e1) && e1.before(e2) && date.before(e1) && date.after(s1); - boolean e = s2.after(s1) && s1.after(e2) && e2.after(e1) && date.after(s1) && date.before(e2); - if (a || b) { - query.addCriteria(Criteria.where("appointmentTime").gte(s2).lte(date)); - } else if (c || d || e) { - query.addCriteria(Criteria.where("appointmentTime").gte(s1).lte(date)); - }else { - return new BaseResponse(); - }*/ if (s1.before(s2) && s2.before(e1) && e1.before(e2)) { query.addCriteria(Criteria.where("appointmentTime").gte(s2).lte(e1)); } else if (s1.before(s2) && s2.before(e2) && e2.before(s1)) { @@ -454,10 +443,6 @@ public class BabyAfterVisitServiceImpl implements BabyAfterVisitService { if (beyondDay > 0) { end = getEndDate(beyondDay); start = getStartDate(beyondDay); - /*if (date.before(start) || date.after(end)) { - return new BaseResponse(); - } - query.addCriteria(Criteria.where("appointmentTime").gte(start).lte(date));*/ query.addCriteria(Criteria.where("appointmentTime").gte(start).lte(end)); } else { // 针对逾期天数为负数 @@ -495,7 +480,8 @@ public class BabyAfterVisitServiceImpl implements BabyAfterVisitService { objectMap.put("sexStr", SexEnum.getTextById(model.getSex())); objectMap.put("birthStr", DateUtil.getyyyy_MM_dd(model.getBirth())); objectMap.put("monthsAge", DateUtil.getBabyMonthAge(model.getBirth(), new Date())); - objectMap.put("mphone",model.getMphone().replaceAll("(\\d{3})\\d{4}(\\d{4})", "$1****$2")); + // 脱敏处理 + objectMap.put("mphone","1".equals(request.getIsEncrypt()) ? EncryptUtil.numberEncrypt(model.getMphone()) : model.getMphone()); // 预约时间 Date appointmentTime = model.getAppointmentTime(); @@ -754,6 +740,7 @@ public class BabyAfterVisitServiceImpl implements BabyAfterVisitService { * @param type 0-追访概况、1-档案转正、2-儿保检查、3-眼保检查 * @param statusType 1- 状态:正常 2-状态:作废 4-状态:预建档/临时建档 1-状态:正式建档/已建档 */ + @Override public void addOrUpdateAfterVisitData(BaseModel model, Integer type, Integer statusType){ try { ExecutorService service = new ThreadPoolExecutor(1, 1, 0, TimeUnit.MILLISECONDS, @@ -878,7 +865,7 @@ public class BabyAfterVisitServiceImpl implements BabyAfterVisitService { } List projectStrs = InitDataUtils.getPositiveProjectByKey(babyEyeCheck); if (CollectionUtils.isNotEmpty(projectStrs)) { - String join = String.join(",", projectStrs); + String join = org.apache.commons.lang.StringUtils.join(projectStrs,","); update.set("positiveProject", join); } @@ -918,17 +905,17 @@ public class BabyAfterVisitServiceImpl implements BabyAfterVisitService { String afterVisitWorkflow = request.getAfterVisitWorkflow(); Date appointmentTime = request.getAppointmentTime(); String type = request.getType(); - if (Objects.isNull(babyId) || Objects.isNull(afterVisitUser) || - Objects.isNull(afterVisitTime) || Objects.isNull(afterVisitWay) || - Objects.isNull(isAppointment) || Objects.isNull(afterVisitResult) || - Objects.isNull(afterVisitWorkflow) || (Objects.equals(isAppointment, "1") && Objects.isNull(appointmentTime)) || - Objects.isNull(type)) { + if (StringUtils.isEmpty(babyId) || StringUtils.isEmpty(afterVisitUser) || + afterVisitTime == null || StringUtils.isEmpty(afterVisitWay) || + StringUtils.isEmpty(isAppointment) || StringUtils.isEmpty(afterVisitResult) || + StringUtils.isEmpty(afterVisitWorkflow) || (Objects.equals(isAppointment, "1") && appointmentTime == null) || + StringUtils.isEmpty(type)) { return new BaseResponse("参数缺失", ErrorCodeConstants.PARAMETER_ERROR); } BabyAfterVisitInfoDetailModel model = request; model.setCreateTime(new Date()); model.setAfterVisitTime(new Date(afterVisitTime.getTime())); - if (Objects.nonNull(appointmentTime)) { + if (appointmentTime != null) { model.setAppointmentTime(new Date(appointmentTime.getTime())); } model.setYn(1); @@ -966,7 +953,7 @@ public class BabyAfterVisitServiceImpl implements BabyAfterVisitService { Query query = new Query(); String babyId = request.getBabyId(); String type = request.getType(); - if (Objects.isNull(babyId) || Objects.isNull(type)) { + if (StringUtils.isEmpty(babyId) || StringUtils.isEmpty(type)) { return new BaseResponse("数据缺失", ErrorCodeConstants.PARAMETER_ERROR); } query.addCriteria(Criteria.where(BABY_ID).is(babyId).and("type").is(type).and("yn").is(1)); @@ -1003,7 +990,7 @@ public class BabyAfterVisitServiceImpl implements BabyAfterVisitService { String id = request.getId(); String babyId = request.getBabyId(); String type = request.getType(); - if (Objects.isNull(id) || Objects.isNull(babyId) || Objects.isNull(type)) { + if (StringUtils.isEmpty(id) || StringUtils.isEmpty(babyId) || StringUtils.isEmpty(type)) { return new BaseResponse("参数缺失", ErrorCodeConstants.PARAMETER_ERROR); } mongoTemplate.updateFirst(Query.query(Criteria.where("_id").is(id)), Update.update("yn", 2), BabyAfterVisitInfoModel.class); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BabyEvaluationCriterionServiceImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BabyEvaluationCriterionServiceImpl.java index 2440e9a..114db6c 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BabyEvaluationCriterionServiceImpl.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BabyEvaluationCriterionServiceImpl.java @@ -460,6 +460,7 @@ public class BabyEvaluationCriterionServiceImpl implements BabyEvaluationCriteri Users users = usersMapper.getUsers(Integer.parseInt(checkDoctor)); String checkDoctorName = null != users ? users.getName() : ""; stringMap.put("checkDoctorName", checkDoctorName); + add(stringMap); } }}; diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PelvicFloorServiceImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PelvicFloorServiceImpl.java index f0f3194..698079e 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PelvicFloorServiceImpl.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PelvicFloorServiceImpl.java @@ -11,6 +11,7 @@ import com.lyms.platform.common.utils.StringUtils; import com.lyms.platform.operate.web.facade.AutoMatchFacade; import com.lyms.platform.operate.web.request.*; import com.lyms.platform.operate.web.service.PelvicFloorService; +import com.lyms.platform.operate.web.utils.EncryptUtil; import com.lyms.platform.permission.dao.master.MasterUsersMapper; import com.lyms.platform.permission.model.Users; import com.lyms.platform.pojo.*; @@ -569,12 +570,11 @@ public class PelvicFloorServiceImpl implements PelvicFloorService { String treatmentTimeStr = null == treatmentTime ? "" :DateUtil.getyyyy_MM_dd(treatmentTime); map.put("detailModels", subMaps); map.put("treatmentTimeStr", treatmentTimeStr); - map.put("cardNo", infoModel.getCardNo()); - map.put("cardNoEnc", numberEncrypt(infoModel.getCardNo())); map.put("name", infoModel.getName()); map.put("age", DateUtil.getAge(infoModel.getBirth())); - map.put("phoneEnc", numberEncrypt(infoModel.getPhone())); - map.put("phone", infoModel.getPhone()); + // 脱敏处理 + map.put("cardNo", "1".equals(param.getIsEncrypt()) ? EncryptUtil.numberEncrypt(infoModel.getCardNo()) : infoModel.getCardNo()); + map.put("phone", "1".equals(param.getIsEncrypt()) ? EncryptUtil.numberEncrypt(infoModel.getPhone()) : infoModel.getPhone()); String checkDoctorStr = ""; String checkDoctorId = infoModel.getCheckDoctorId(); if (StringUtils.isNotEmpty(checkDoctorId)) { @@ -635,30 +635,6 @@ public class PelvicFloorServiceImpl implements PelvicFloorService { } /** - * 脱敏处理 - * - * @param strNo - * @return - */ - public String numberEncrypt(String strNo) { - if (StringUtils.isEmpty(strNo)) { - return ""; - } - int length = strNo.length(); - if (length == 11) { - // 手机号 - strNo = strNo.replaceAll("(\\d{3})\\d{4}(\\d{4})", "$1****$2"); - } else if (length > 11) { - // 身份证 - strNo = strNo.replaceAll("(?<=\\w{3})\\w(?=\\w{4})", "*"); - } else if (length >= 8 && length < 11) { - // 护照 - strNo = strNo.substring(0, 2) + new String(new char[strNo.length() - 5]).replace("\0", "*") + strNo.substring(strNo.length() - 3); - } - return strNo; - } - - /** * 追访管理-盆底治疗 - 列表 * * @param param @@ -711,7 +687,11 @@ public class PelvicFloorServiceImpl implements PelvicFloorService { List floorModels = mongoTemplate.find(query, AfterVisitPelvicFloorModel.class); List> mapList = new LinkedList<>(); for (AfterVisitPelvicFloorModel model : floorModels) { - + if ("1".equals(param.getIsEncrypt())) { + // 脱敏处理 + model.setPhone(EncryptUtil.numberEncrypt(model.getPhone())); + model.setCardNo(EncryptUtil.numberEncrypt(model.getCardNo())); + } Map map = BeanUtils.objectToObjectMap(model); map.put("age", DateUtil.getAge(model.getBirth())); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/EncryptUtil.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/EncryptUtil.java new file mode 100644 index 0000000..95bdd26 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/EncryptUtil.java @@ -0,0 +1,36 @@ +package com.lyms.platform.operate.web.utils; + +import com.lyms.platform.common.utils.StringUtils; + +/** + * 必要信息脱敏处理 + * @Author dongqin + * @Description + * @Date 15:05 2019/7/29 + */ +public class EncryptUtil { + + /** + * 脱敏处理 + * + * @param strNo + * @return + */ + public static String numberEncrypt(String strNo) { + if (StringUtils.isEmpty(strNo)) { + return ""; + } + int length = strNo.length(); + if (length == 11) { + // 手机号 + strNo = strNo.replaceAll("(\\d{3})\\d{4}(\\d{4})", "$1****$2"); + } else if (length > 11) { + // 身份证 + strNo = strNo.replaceAll("(?<=\\w{3})\\w(?=\\w{4})", "*"); + } else if (length >= 8 && length < 11) { + // 护照 + strNo = strNo.substring(0, 2) + new String(new char[strNo.length() - 5]).replace("\0", "*") + strNo.substring(strNo.length() - 3); + } + return strNo; + } +} -- 1.8.3.1