From 6c40e04eb7c2060feb2533735cd3089d438965e5 Mon Sep 17 00:00:00 2001 From: nidapeng <jp@doumee.com> Date: 星期二, 19 三月 2024 17:19:36 +0800 Subject: [PATCH] 整理 --- server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncVisitServiceImpl.java | 115 +++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 98 insertions(+), 17 deletions(-) diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncVisitServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncVisitServiceImpl.java index da073fe..827a7fc 100644 --- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncVisitServiceImpl.java +++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncVisitServiceImpl.java @@ -1,6 +1,8 @@ package com.doumee.service.business.impl.hksync; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.doumee.biz.system.SystemDictDataBiz; import com.doumee.core.constants.ResponseStatus; import com.doumee.core.exception.BusinessException; @@ -8,6 +10,7 @@ import com.doumee.core.haikang.model.param.BaseListPageResponse; import com.doumee.core.haikang.model.param.BaseResponse; import com.doumee.core.haikang.model.param.request.*; +import com.doumee.core.haikang.model.param.request.event.visit.EventVisitInfoRequest; import com.doumee.core.haikang.model.param.respose.*; import com.doumee.core.haikang.service.HKService; import com.doumee.core.utils.Constants; @@ -16,9 +19,11 @@ import com.doumee.core.utils.ImageBase64Util; import com.doumee.core.wx.wxPlat.WxPlatNotice; import com.doumee.dao.business.DeviceRoleMapper; +import com.doumee.dao.business.RetentionMapper; import com.doumee.dao.business.join.VisitsJoinMapper; import com.doumee.dao.business.model.DeviceRole; import com.doumee.dao.business.model.Member; +import com.doumee.dao.business.model.Retention; import com.doumee.dao.business.model.Visits; import com.github.yulichang.wrapper.MPJLambdaWrapper; import lombok.extern.slf4j.Slf4j; @@ -38,6 +43,8 @@ public class HkSyncVisitServiceImpl extends HkSyncBaseServiceImpl { @Autowired private VisitsJoinMapper visitsMapper; + @Autowired + private RetentionMapper retentionMapper; @Autowired private SystemDictDataBiz systemDictDataBiz; @Autowired @@ -88,7 +95,7 @@ * * 10锛氶個绾︿腑锛堝憳宸ュ彂璧烽個绾︼紝璁垮杩樻湭搴旈個锛夈�� * * 11锛氶個绾﹀け鏁堬紙鍛樺伐鍙戣捣閭�绾︼紝涓�鐩村埌褰撳墠鏃堕棿瓒呰繃棰勮绂诲紑鏃堕棿锛岃瀹㈣繕鏈簲閭�锛� */ - if (model.getVisitorStatus()!=null && "3,4,11".contains( model.getVisitorStatus()+"" )){ + if (model.getVisitorStatus()!=null && ",3,4,11,".contains( "," +model.getVisitorStatus()+"," )){ //瀵圭浉搴旂姸鎬佷笅鐨勬暟鎹繘琛屻�愬凡澶辨晥銆戝鐞� Visits update = new Visits(); //宸插け鏁� @@ -100,21 +107,26 @@ update.setRemark("瓒呮椂鏈櫥璁�"); visitsMapper.updateById(update); } - if (model.getVisitorStatus()!=null && "5,6".contains( model.getVisitorStatus()+"" )){ + if (model.getVisitorStatus()!=null && ",5,6,".contains( "," +model.getVisitorStatus()+"," )){ // 瀵圭浉搴旂姸鎬佷笅鐨勬暟鎹繘琛屻�愬凡绛剧銆戝鐞� if(!Constants.equalsInteger(c.getStatus(),Constants.VisitStatus.signout)){ Visits update = new Visits(); //宸插け鏁� - update.setStatus(Constants.VisitStatus.invalid); + update.setStatus(Constants.VisitStatus.signout); update.setEditDate(date); update.setId(c.getId()); update.setInDate(DateUtil.getISO8601DateByStr2(model.getVisitStartTime())); update.setOutDate(DateUtil.getISO8601DateByStr2(model.getVisitEndTime())); update.setRemark("宸茬绂�"); visitsMapper.updateById(update); + + //鍏堝垹闄ゅ師鏈夌殑鍦ㄥ満浜哄憳(鏅�氳瀹級 + retentionMapper.delete(new UpdateWrapper<Retention>().lambda() + .eq(Retention::getType,Constants.memberType.visitor) + .eq(Retention::getMemberId,c.getMemberId())); } } - if (model.getVisitorStatus()!=null&& "7,8".contains( model.getVisitorStatus()+"")){ + if (model.getVisitorStatus()!=null&& ",7,8,".contains( "," +model.getVisitorStatus()+"," )){ //濡傛灉宸茬櫥璁� if(!Constants.equalsInteger(c.getStatus(),Constants.VisitStatus.signin)){ Visits update = new Visits(); @@ -126,6 +138,12 @@ update.setOutDate(DateUtil.getISO8601DateByStr2(model.getVisitEndTime())); update.setRemark("瓒呮椂鏈鍒�"); visitsMapper.updateById(update); + //鍏堝垹闄ゅ師鏈夌殑鍦ㄥ満浜哄憳(鏅�氳瀹級 + retentionMapper.delete(new UpdateWrapper<Retention>().lambda() + .eq(Retention::getType,Constants.memberType.visitor) + .eq(Retention::getMemberId,c.getMemberId())); + //鍐嶆彃鍏ユ渶鏂扮殑鍦ㄥ巶浜哄憳 + retentionMapper.insert(getRetentionModelByVisitRequest(c,update.getInDate())); } } } @@ -135,6 +153,29 @@ Constants.DEALING_HK_VISIT_EXPIRE =false; } } + + private Retention getRetentionModelByVisitRequest(Visits visits,Date date) { + Retention retention = new Retention(); + retention.setIsdeleted(Constants.ZERO); + retention.setCreateDate(date); + retention.setClasses(visits.getClasses()); + retention.setCode(visits.getCode()); + retention.setIdcardNo(visits.getIdcardNo()); + retention.setIdcardDecode(visits.getIdcardDecode()); + retention.setName(visits.getName()); + retention.setBirthday(visits.getBirthday()); + retention.setType(visits.getMemberType()); + retention.setCompanyId(visits.getCompanyId()); + retention.setCompanyName(visits.getCompanyName()); + retention.setEventDate(retention.getCreateDate()); + retention.setFaceImg(visits.getFaceImg()); + retention.setImgurl(visits.getImgurl()); + retention.setPhone(visits.getPhone()); + retention.setMemberId(visits.getMemberId()); + + return retention; + } + public AppointmentInfoResponse getVisitRecord(String orderId){ //鍒嗛〉閬嶅巻寰幆鏌ヨ鎵�鏈夐棬绂佽澶囨暟鎹� if(StringUtils.isBlank(orderId)){ @@ -164,8 +205,8 @@ List<DeviceRole> roleList = deviceRoleMapper.selectList(new QueryWrapper<DeviceRole>().lambda() .eq(DeviceRole::getType, Constants.ONE)); //鏍囪鏄惁璧板厤鐧昏棰勭害 - String applyType =systemDictDataBiz.queryByCode(Constants.HK_PARAM,Constants.MDJ_VISIT_REQUIRED).getCode(); - String applyLwType =systemDictDataBiz.queryByCode(Constants.HK_PARAM,Constants.MDJ_LW_REQUIRED).getCode(); +// String applyType =systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.MDJ_VISIT_REQUIRED).getCode(); +// String applyLwType =systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.MDJ_LW_REQUIRED).getCode(); try { //鏌ヨ鎵�鏈夐渶瑕佸悓姝ョ殑鏁版嵁 List<Visits> list = getVisitList(); @@ -177,8 +218,7 @@ Date date = new Date(); for(Visits c : list) { //鍙戣捣娴峰悍棰勭害鎺ュ彛锛堥渶瑕佺櫥璁帮級锛屾牴鎹绾﹁繑鍥炴帴鍙e皝瑁呯敵璇疯褰曟洿鏂板瓧娈� - String type = Constants.equalsInteger(c.getType(),Constants.ONE)?applyType:applyLwType; - getUpdateModelByResponse(c,date,type,roleList,path); + getUpdateModelByResponse(c,date,roleList,path); visitsMapper.updateById(c); if(Objects.isNull(c.getParentId())){ wxPlatNotice.sendVisitAuditTemplateNotice(c, @@ -227,13 +267,15 @@ * @param date * @param type 0闇�瑕佺櫥璁� 1鍏嶇櫥璁� */ - private void getUpdateModelByResponse( Visits c,Date date,String type,List<DeviceRole> roleList,String path ) { + private void getUpdateModelByResponse( Visits c,Date date, List<DeviceRole> roleList,String path ) { String code = null; String id = null; String qrcode = null; + String reson = ""; //鍙戣捣娴峰悍棰勭害鎺ュ彛 - if(StringUtils.equals(type,"0")){ + if(Constants.equalsInteger(c.getVisitType(),Constants.ZERO)){ //锛堥渶瑕佺櫥璁帮級 + c.setVisitType(Constants.ZERO); VisitAppointmentRequest request = getHkRequestPara(c,roleList,path); if(request == null){ //娴峰悍涓嬪彂鎴愬姛 @@ -251,8 +293,10 @@ id =response.getData().getAppointmentInfoList().get(0).getOrderId(); qrcode =response.getData().getAppointmentInfoList().get(0).getQRCode(); } + reson = response!=null?JSONObject.toJSONString(response):""; }else{ //鍏嶇櫥璁� + c.setVisitType(Constants.ONE); VisitAppointmentMDJRequest request =getHkMDJRequestPara(c,roleList,path); if(request == null){ //娴峰悍涓嬪彂鎴愬姛 @@ -268,17 +312,18 @@ id = response.getData().getOrderId(); qrcode =response.getData().getQRCode(); } + reson = response!=null?JSONObject.toJSONString(response):""; } if (code!= null && id!=null) { //娴峰悍涓嬪彂鎴愬姛 c.setHkId( id);//棰勭害鏍囪瘑 c.setQrcode(qrcode); - c.setRemark("涓嬪彂娴峰悍鎴愬姛锛併��"+type+"銆�"); + c.setRemark("涓嬪彂娴峰悍鎴愬姛锛�"); c.setStatus(Constants.VisitStatus.xfSuccess);//涓嬪彂娴峰悍鎴愬姛 } else { //娴峰悍涓嬪彂澶辫触 - c.setRemark("涓嬪彂娴峰悍澶辫触锛併��"+type+"銆�"); + c.setRemark("涓嬪彂娴峰悍澶辫触,鍘熷洜锛�"+ reson); c.setStatus(Constants.VisitStatus.xfFail);//涓嬪彂娴峰悍澶辫触 } c.setHkStatus(Constants.ONE); @@ -300,7 +345,15 @@ request.setVisitStartTime(DateUtil.getISO8601Timestamp2(c.getStarttime())); request.setVisitEndTime(DateUtil.getISO8601Timestamp2(c.getEndtime())); request.setReceptionistId(c.getReceptMemberHkId());//琚浜烘捣搴风紪鐮� - request.setVisitPurpose(c.getReason()); + if(StringUtils.isNotBlank(c.getReason())){ + char[] charArray = c.getReason().toCharArray(); + int length = charArray.length; + if(length>32){ + request.setVisitPurpose(c.getReason().substring(0,32)); + }else{ + request.setVisitPurpose(c.getReason()); + } + } request.setVisitorInfo(info); request.setVisitorPermissionSet(getVisitPermissonRequest(roleList,c)); return request; @@ -338,7 +391,16 @@ request.setVisitStartTime(DateUtil.getISO8601Timestamp(c.getStarttime())); request.setVisitEndTime(DateUtil.getISO8601Timestamp(c.getEndtime())); request.setReceptionistId(c.getReceptMemberHkId());//琚浜烘捣搴风紪鐮� - request.setVisitPurpose(c.getReason()); + + if(StringUtils.isNotBlank(c.getReason())){ + char[] charArray = c.getReason().toCharArray(); + int length = charArray.length; + if(length>32){ + request.setVisitPurpose(c.getReason().substring(0,32)); + }else{ + request.setVisitPurpose(c.getReason()); + } + } //鑾峰彇鏉冮檺缁勯泦鍚� request.setVisitorPermissionSet(getVisitPermissonRequest(roleList,c)); List<VisitAppointmentVistorRequest> infolist = new ArrayList<>(); @@ -361,8 +423,25 @@ if(info.getVisitorPhoto() == null){ return null; } - info.setVisitorName(c.getName()); - info.setVisitorWorkUnit(c.getCompanyName()); + if(StringUtils.isNotBlank(c.getName())){ + char[] charArray = c.getName().toCharArray(); + int length = charArray.length; + if(length>32){ + info.setVisitorName(c.getName().substring(0,32)); + }else{ + info.setVisitorName(c.getName()); + } + } + + if(StringUtils.isNotBlank(c.getCompanyName())){ + char[] charArray = c.getCompanyName().toCharArray(); + int length = charArray.length; + if(length>32){ + info.setVisitorWorkUnit(c.getCompanyName().substring(0,32)); + }else{ + info.setVisitorWorkUnit(c.getCompanyName()); + } + } info.setPhoneNo(c.getPhone()); info.setPlateNo(c.getCarNos()); info.setGender(c.getSex()+""); @@ -411,7 +490,9 @@ } private List<Visits> getExpireVisitList() { MPJLambdaWrapper<Visits> queryWrapper = new MPJLambdaWrapper<>(); - queryWrapper.selectAll(Visits.class); + queryWrapper.selectAll(Visits.class) + .selectAs(Member::getType,Visits::getMemberType) + .leftJoin(Member.class,Member::getId,Visits::getMemberId); queryWrapper.in(Visits::getStatus, Arrays.asList(new Integer[]{Constants.VisitStatus.xfSuccess,Constants.VisitStatus.signin}) ); List<Visits> list = visitsMapper.selectJoinList(Visits.class,queryWrapper); return list; -- Gitblit v1.9.3