From 5df732ffe16b3f162422c2db61a78458e28c7f8d Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期五, 10 十月 2025 14:45:29 +0800
Subject: [PATCH] 钥匙柜开发 天气预警通知
---
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