From 1c20c8231980a8d4b91688ff8641a06d3b2f68ab Mon Sep 17 00:00:00 2001 From: MrShi <1878285526@qq.com> Date: 星期二, 14 十月 2025 16:34:22 +0800 Subject: [PATCH] 改bug --- server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncVisitServiceImpl.java | 89 ++++++++++++++++++++++++++++---------------- 1 files changed, 56 insertions(+), 33 deletions(-) diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncVisitServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncVisitServiceImpl.java index 143183d..501af50 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncVisitServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncVisitServiceImpl.java @@ -4,22 +4,21 @@ 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; import com.doumee.core.haikang.model.HKConstants; 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; import com.doumee.core.utils.DESUtil; import com.doumee.core.utils.DateUtil; import com.doumee.core.utils.ImageBase64Util; +import com.doumee.core.wx.wxPlat.WxPlatConstants; import com.doumee.core.wx.wxPlat.WxPlatNotice; import com.doumee.dao.business.DeviceRoleMapper; import com.doumee.dao.business.RetentionMapper; +import com.doumee.dao.business.WxNoticeConfigMapper; import com.doumee.dao.business.join.VisitsJoinMapper; import com.doumee.dao.business.model.DeviceRole; import com.doumee.dao.business.model.Member; @@ -43,14 +42,19 @@ public class HkSyncVisitServiceImpl extends HkSyncBaseServiceImpl { @Autowired private VisitsJoinMapper visitsMapper; + + + + @Autowired + private WxPlatNotice wxPlatNotice; + @Autowired + private WxNoticeConfigMapper wxNoticeConfigMapper; @Autowired private RetentionMapper retentionMapper; @Autowired private SystemDictDataBiz systemDictDataBiz; @Autowired private DeviceRoleMapper deviceRoleMapper; - @Autowired - private WxPlatNotice wxPlatNotice; /** * 鍚屾娴峰悍璁垮淇℃伅鏄惁宸茬绂荤姸鎬� */ @@ -115,7 +119,7 @@ //鍏堝垹闄ゅ師鏈夌殑鍦ㄥ満浜哄憳(鏅�氳瀹級 retentionMapper.delete(new UpdateWrapper<Retention>().lambda() - .eq(Retention::getType,Constants.memberType.visitor) + .eq(Retention::getType,Constants.RetentionMemberType.fk) .eq(Retention::getMemberId,c.getMemberId())); } } @@ -133,7 +137,7 @@ visitsMapper.updateById(update); //鍏堝垹闄ゅ師鏈夌殑鍦ㄥ満浜哄憳(鏅�氳瀹級 retentionMapper.delete(new UpdateWrapper<Retention>().lambda() - .eq(Retention::getType,Constants.memberType.visitor) + .eq(Retention::getType,Constants.RetentionMemberType.fk) .eq(Retention::getMemberId,c.getMemberId())); //鍐嶆彃鍏ユ渶鏂扮殑鍦ㄥ巶浜哄憳 retentionMapper.insert(getRetentionModelByVisitRequest(c,update.getInDate())); @@ -190,18 +194,19 @@ // 瀵圭浉搴旂姸鎬佷笅鐨勬暟鎹繘琛屻�愬凡绛剧銆戝鐞� if(!Constants.equalsInteger(c.getStatus(),Constants.VisitStatus.signout)){ Visits update = new Visits(); - //宸插け鏁� + //宸茬绂� update.setStatus(Constants.VisitStatus.signout); update.setEditDate(date); update.setId(c.getId()); update.setInDate(DateUtil.getISO8601DateByStr2(data.getVisitStartTime())); update.setOutDate(DateUtil.getISO8601DateByStr2(data.getVisitEndTime())); + update.setOutInfo(model.getVisitorStatus().equals(5)?"杩囨湡鑷姩绛剧":"鏌ヨ宸茬绂�"); update.setRemark("宸茬绂�"); visitsMapper.updateById(update); //鍏堝垹闄ゅ師鏈夌殑鍦ㄥ満浜哄憳(鏅�氳瀹級 retentionMapper.delete(new UpdateWrapper<Retention>().lambda() - .eq(Retention::getType,Constants.memberType.visitor) + .eq(Retention::getType,Constants.RetentionMemberType.fk) .eq(Retention::getMemberId,c.getMemberId())); } } @@ -219,7 +224,7 @@ visitsMapper.updateById(update); //鍏堝垹闄ゅ師鏈夌殑鍦ㄥ満浜哄憳(鏅�氳瀹級 retentionMapper.delete(new UpdateWrapper<Retention>().lambda() - .eq(Retention::getType,Constants.memberType.visitor) + .eq(Retention::getType,Constants.RetentionMemberType.fk) .eq(Retention::getMemberId,c.getMemberId())); //鍐嶆彃鍏ユ渶鏂扮殑鍦ㄥ巶浜哄憳 retentionMapper.insert(getRetentionModelByVisitRequest(c,update.getInDate())); @@ -297,7 +302,7 @@ return ; } Constants.DEALING_HK_VISIT =true; - String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() + String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_LOCAL_RESOURCE_PATH).getCode() +systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode(); List<DeviceRole> roleList = deviceRoleMapper.selectList(new QueryWrapper<DeviceRole>().lambda() .eq(DeviceRole::getType, Constants.ONE)); @@ -314,10 +319,12 @@ // getUpdateModelByResponse(c,date,roleList,path); getUpdateModelByResponseIccm(c,date,roleList,path); visitsMapper.updateById(c); - if(Objects.isNull(c.getParentId())){ - wxPlatNotice.sendVisitAuditTemplateNotice(c, - systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_PREFIX).getCode(), - systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_AUDIT_VISIT).getCode()); + //缁欑敵璇蜂汉鍙戦�佸井淇″叕浼楀彿 涓嬪彂鏉冮檺澶辫触 + if(StringUtils.isNotBlank(c.getOpenid()) && Constants.equalsInteger(c.getStatus(),Constants.VisitStatus.xfFail)){ + wxPlatNotice.sendVisitTemplateNotice(systemDictDataBiz, + wxNoticeConfigMapper,c, WxPlatConstants.visitContent.visitApplyHkFail, + Arrays.asList(c.getOpenid().split(",")) + ); } } }catch (Exception e){ @@ -363,6 +370,7 @@ private void getUpdateModelByResponse( Visits c,Date date, List<DeviceRole> roleList,String path ) { String code = null; String id = null; + String recordid = null; String qrcode = null; String reson = ""; //鍙戣捣娴峰悍棰勭害鎺ュ彛 @@ -384,7 +392,8 @@ && response.getData().getAppointmentInfoList() !=null && response.getData().getAppointmentInfoList().size()>0)){ id =response.getData().getAppointmentInfoList().get(0).getOrderId(); - qrcode =response.getData().getAppointmentInfoList().get(0).getQRCode(); + qrcode =response.getData().getAppointmentInfoList().get(0).getVerificationCode(); +// qrcode =response.getData().getAppointmentInfoList().get(0).getQRCode(); } reson = response!=null?JSONObject.toJSONString(response):""; }else{ @@ -403,6 +412,7 @@ code =response!=null ?response.getCode():null; if(response!=null && response.getData()!=null){ id = response.getData().getOrderId(); + recordid = response.getData().getAppointRecordId(); qrcode =response.getData().getQRCode(); } reson = response!=null?JSONObject.toJSONString(response):""; @@ -410,6 +420,7 @@ if (code!= null && id!=null) { //娴峰悍涓嬪彂鎴愬姛 c.setHkId( id);//棰勭害鏍囪瘑 + c.setHkRecordId(recordid);//璁垮棰勭害璁板綍鏍囪瘑锛堢敤鎴峰彇娑堥绾︼級 c.setQrcode(qrcode); c.setRemark("涓嬪彂娴峰悍鎴愬姛锛�"); c.setStatus(Constants.VisitStatus.xfSuccess);//涓嬪彂娴峰悍鎴愬姛 @@ -421,9 +432,10 @@ c.setHkStatus(Constants.ONE); c.setHkDate(date); } - private void getUpdateModelByResponseIccm( Visits c,Date date, List<DeviceRole> roleList,String path ) { + public static void getUpdateModelByResponseIccm( Visits c,Date date, List<DeviceRole> roleList,String path ) { String code = null; String id = null; + String recordId = null; String qrcode = null; String reson = ""; //鍙戣捣娴峰悍棰勭害鎺ュ彛 @@ -445,7 +457,9 @@ && response.getData().getAppointmentInfoList() !=null && response.getData().getAppointmentInfoList().size()>0)){ id =response.getData().getOrderId(); - qrcode =response.getData().getAppointmentInfoList().get(0).getQRCode(); + recordId = response.getData().getAppointRecordId(); +// qrcode =response.getData().getAppointmentInfoList().get(0).getQRCode(); + qrcode =response.getData().getAppointmentInfoList().get(0).getVerificationCode(); } reson = response!=null?JSONObject.toJSONString(response):""; }else{ @@ -464,6 +478,7 @@ code =response!=null ?response.getCode():null; if(response!=null && response.getData()!=null){ id = response.getData().getOrderId(); + recordId = response.getData().getAppointRecordId(); qrcode =response.getData().getQRCode(); } reson = response!=null?JSONObject.toJSONString(response):""; @@ -471,6 +486,7 @@ if (code!= null && id!=null) { //娴峰悍涓嬪彂鎴愬姛 c.setHkId( id);//棰勭害鏍囪瘑 + c.setHkRecordId(recordId); c.setQrcode(qrcode); c.setRemark("涓嬪彂娴峰悍鎴愬姛锛�"); c.setStatus(Constants.VisitStatus.xfSuccess);//涓嬪彂娴峰悍鎴愬姛 @@ -511,7 +527,7 @@ request.setVisitorPermissionSet(getVisitPermissonRequest(roleList,c)); return request; } - private IccmAppointmentMDJRequest getHkMDJRequestParamIccm(Visits c,List<DeviceRole> roleList,String path) { + public static IccmAppointmentMDJRequest getHkMDJRequestParamIccm(Visits c,List<DeviceRole> roleList,String path) { IccmAppointmentMDJRequest request = new IccmAppointmentMDJRequest(); IccmAppointmentVistorRequest info =getRequestInfoByVisitIccm(c,path); if(info == null ){ @@ -521,7 +537,7 @@ request.setVisitStartTime(DateUtil.getISO8601Timestamp2(c.getStarttime())); request.setVisitEndTime(DateUtil.getISO8601Timestamp2(c.getEndtime())); request.setReceptionistId(c.getReceptMemberHkId());//琚浜烘捣搴风紪鐮� - if(StringUtils.isNotBlank(c.getReason())){ + /* if(StringUtils.isNotBlank(c.getReason())){ char[] charArray = c.getReason().toCharArray(); int length = charArray.length; if(length>32){ @@ -529,7 +545,7 @@ }else{ request.setVisitPurpose(c.getReason()); } - } + }*/ request.setVisitorInfo(info); request.setVisitorPermissionSet(getVisitPermissonRequestIccm(roleList,c)); return request; @@ -555,7 +571,7 @@ } return p; } - private IccmPermissionSetRequest getVisitPermissonRequestIccm(List<DeviceRole> roleList, Visits c) { + public static IccmPermissionSetRequest getVisitPermissonRequestIccm(List<DeviceRole> roleList, Visits c) { IccmPermissionSetRequest p = new IccmPermissionSetRequest(); //鑾峰彇鏉冮檺缁勯泦鍚� String[] roles = getHkRoles(c.getDoors(),roleList); @@ -598,7 +614,7 @@ request.setVisitorInfoList(infolist); return request; } - private IccmAppointmentRequest getHkRequestParaIccm(Visits c,List<DeviceRole> roleList,String path ) { + public static IccmAppointmentRequest getHkRequestParaIccm(Visits c,List<DeviceRole> roleList,String path ) { IccmAppointmentRequest request = new IccmAppointmentRequest(); //鐢宠浜轰俊鎭� IccmAppointmentVistorRequest info =getRequestInfoByVisitIccm(c,path); @@ -606,11 +622,11 @@ //浜鸿劯涓虹┖锛屼笉鑳借繘琛屾帹閫� return null; } - request.setVisitStartTime(DateUtil.getISO8601Timestamp(c.getStarttime())); - request.setVisitEndTime(DateUtil.getISO8601Timestamp(c.getEndtime())); + request.setVisitStartTime(DateUtil.getISO8601Timestamp2(c.getStarttime())); + request.setVisitEndTime(DateUtil.getISO8601Timestamp2(c.getEndtime())); request.setReceptionistId(c.getReceptMemberHkId());//琚浜烘捣搴风紪鐮� - if(StringUtils.isNotBlank(c.getReason())){ + /* if(StringUtils.isNotBlank(c.getReason())){ char[] charArray = c.getReason().toCharArray(); int length = charArray.length; if(length>32){ @@ -618,7 +634,7 @@ }else{ request.setVisitPurpose(c.getReason()); } - } + }*/ //鑾峰彇鏉冮檺缁勯泦鍚� request.setVisitorPermissionSet(getVisitPermissonRequestIccm(roleList,c)); List<IccmAppointmentVistorRequest> infolist = new ArrayList<>(); @@ -662,7 +678,10 @@ } info.setPhoneNo(c.getPhone()); info.setPlateNo(c.getCarNos()); - info.setGender(c.getSex()+""); + info.setGender( "1" ); + if(Constants.equalsInteger(c.getSex(),Constants.ONE) ||Constants.equalsInteger(c.getSex(),Constants.TWO) ){ + info.setGender( c.getSex()+""); + } if(Constants.equalsInteger(c.getIdcardType(),Constants.ZERO)){ info.setCertificateType(HKConstants.CertificateType.SHENFENZHENG.getKey()+""); info.setCertificateNo(DESUtil.decrypt(Constants.EDS_PWD, c.getIdcardNo())); @@ -673,7 +692,7 @@ return info; } - private IccmAppointmentVistorRequest getRequestInfoByVisitIccm(Visits c,String path) { + public static IccmAppointmentVistorRequest getRequestInfoByVisitIccm(Visits c,String path) { IccmAppointmentVistorRequest info = new IccmAppointmentVistorRequest(); //浜鸿劯鏁版嵁 if(StringUtils.isBlank(c.getName()) @@ -682,9 +701,12 @@ return null; } if(StringUtils.isNotBlank(c.getFaceImg())){ + log.info("===================================="+path+c.getFaceImg()+"======start===="); info.setVisitorPhoto(ImageBase64Util.Image2Base64(path+c.getFaceImg())); + log.info("===================================="+path+c.getFaceImg()+"========end==="); } if(info.getVisitorPhoto() == null){ + log.info("===================================="+path+c.getFaceImg()+"======imgerror====="); return null; } if(StringUtils.isNotBlank(c.getName())){ @@ -696,7 +718,6 @@ info.setVisitorName(c.getName()); } } - if(StringUtils.isNotBlank(c.getCompanyName())){ char[] charArray = c.getCompanyName().toCharArray(); int length = charArray.length; @@ -708,7 +729,10 @@ } info.setPhoneNo(c.getPhone()); info.setPlateNo(c.getCarNos()); - info.setGender(c.getSex()+""); + info.setGender( "1"); + if(Constants.equalsInteger(c.getSex(),Constants.ONE) ||Constants.equalsInteger(c.getSex(),Constants.TWO) ){ + info.setGender( c.getSex()+""); + } if(Constants.equalsInteger(c.getIdcardType(),Constants.ZERO)){ info.setCertificateType(HKConstants.CertificateType.SHENFENZHENG.getKey()+""); info.setCertificateNo(DESUtil.decrypt(Constants.EDS_PWD, c.getIdcardNo())); @@ -716,11 +740,10 @@ info.setCertificateType(HKConstants.CertificateType.HUZHAO.getKey()+""); info.setCertificateNo(DESUtil.decrypt(Constants.EDS_PWD, c.getIdcardNo())); } - return info; } - private String[] getHkRoles(String doors, List<DeviceRole> roleList) { + public static String[] getHkRoles(String doors, List<DeviceRole> roleList) { if(StringUtils.isBlank(doors) || roleList.size()==0|| roleList.size()==0){ return null; } -- Gitblit v1.9.3