From 53b6400ec10c8ca61ccec91c82c358d2488eead8 Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期五, 20 十二月 2024 09:50:39 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/SmsEmailServiceImpl.java | 83 ++++++++++++++++++++++++++++++++++++++--- 1 files changed, 77 insertions(+), 6 deletions(-) diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/SmsEmailServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/SmsEmailServiceImpl.java index bc2311a..4b577ff 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/SmsEmailServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/SmsEmailServiceImpl.java @@ -14,9 +14,13 @@ import com.doumee.dao.business.*; import com.doumee.dao.business.dao.SmsConfigMapper; import com.doumee.dao.business.dao.SmsEmailMapper; +import com.doumee.dao.business.join.VisitsJoinMapper; import com.doumee.dao.business.model.*; +import com.doumee.dao.business.model.vo.ValidPhoneCodeVO; +import com.doumee.dao.system.model.SystemUser; import com.doumee.service.business.SmsEmailService; import com.doumee.service.business.third.EmayService; +import com.github.yulichang.wrapper.MPJLambdaWrapper; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -75,6 +79,10 @@ + @Override + public void validPhoneCaptcha(ValidPhoneCodeVO param){ + isCaptcheValide(smsEmailMapper,param.getPhone(),param.getCode()); + } @Override public Integer create(SmsEmail smsEmail) { smsEmailMapper.insert(smsEmail); @@ -291,17 +299,21 @@ * @param auditUser */ public static void sendVisitSms(SystemDictDataBiz systemDictDataBiz, EmayService emayService , com.doumee.dao.business.dao.SmsEmailMapper smsEmailMapper , SmsConfigMapper smsConfigMapper, - VisitsMapper visitsMapper, Integer objId, String objCode, String msg, List<String> auditUser){ + VisitsJoinMapper visitsMapper, Integer objId, String objCode, String msg, List<String> auditUser){ try{ SmsConfig smsConfig = smsConfigMapper.selectOne(new QueryWrapper<SmsConfig>().lambda().eq(SmsConfig::getCode, objCode).last(" limit 1 ")); //寮�鍚煭淇¢�氱煡 if(Objects.nonNull(smsConfig) || Constants.equalsInteger(smsConfig.getStatus(),Constants.ZERO)){ String content = systemDictDataBiz.queryByCode(Constants.SMS,Constants.SMS_COMNAME).getCode() + smsConfig.getContent(); - Visits visits = visitsMapper.selectById(objId); + Visits visits = visitsMapper.selectJoinOne(Visits.class,new MPJLambdaWrapper<Visits>().selectAll(Visits.class) + .selectAs(SystemUser::getMobile,Visits::getReceptMemberMobile) + .leftJoin(SystemUser.class,SystemUser::getMemberId, Visits::getReceptMemberId) + .eq(Visits::getId,objId).last(" limit 1 ")); if(Objects.nonNull(visits)){ if(objCode.equals(SmsConstants.visitContent.visitAuditSuccess)){ //鎮ㄧ殑銆愯瀹㈢敵璇枫�戝凡缁忓鎵归�氳繃锛岃浜巤棰勭害鍏ュ洯寮�濮嬫椂闂磢鍓嶅線闂ㄥ崼瀹よ瀹㈡満绛惧埌鍏ュ洯锛屽鏈夌枒闂紝璇疯仈绯昏璁夸汉 + //鎮ㄧ殑[璁垮鐢宠]宸茬粡瀹℃壒閫氳繃锛岃閫氱煡璁垮浜巤棰勭害鍏ュ洯寮�濮嬫椂闂磢鍏ュ洯锛屽鏈夌枒闂紝璇疯仈绯昏璁夸汉銆� content = content.replace("{棰勭害鍏ュ洯寮�濮嬫椂闂磢",DateUtil.getFomartDate(visits.getStarttime(),"yyyy-MM-dd HH:mm")); sendBusinessSms(emayService,smsEmailMapper, Arrays.asList(visits.getPhone().split(",")),SmsConstants.visit,content,visits.getId()); @@ -320,6 +332,10 @@ content = content.replace("{鏈绂绘暟閲弣",msg); sendBusinessSms(emayService,smsEmailMapper, Arrays.asList(visits.getPhone().split(",")),SmsConstants.visit,content,visits.getId()); + }else if(objCode.equals(SmsConstants.visitContent.visitAuditSuccessToVisiter)) { + content = content.replace("{棰勭害鍏ュ洯寮�濮嬫椂闂磢",DateUtil.getFomartDate(visits.getStarttime(),"yyyy-MM-dd HH:mm")); + sendBusinessSms(emayService,smsEmailMapper, + Arrays.asList(visits.getReceptMemberMobile().split(",")),SmsConstants.visit,content,visits.getId()); }else{ //鎮ㄦ湁涓�鏉°�愯溅杈嗗叆鍥敵璇枫�戦渶瑕佸鐞嗭紝璇︾粏淇℃伅璇峰墠寰�寰俊鍏紬鍙锋煡鐪嬨�� sendBusinessSms(emayService,smsEmailMapper, @@ -345,26 +361,31 @@ * @param auditUser */ public static void sendVisitReportSms(SystemDictDataBiz systemDictDataBiz, EmayService emayService , com.doumee.dao.business.dao.SmsEmailMapper smsEmailMapper , SmsConfigMapper smsConfigMapper, - VisitsMapper visitsMapper, Integer objId, String objCode, String msg, List<String> auditUser){ + VisitsJoinMapper visitsMapper, Integer objId, String objCode, String msg, List<String> auditUser){ try{ SmsConfig smsConfig = smsConfigMapper.selectOne(new QueryWrapper<SmsConfig>().lambda().eq(SmsConfig::getCode, objCode).last(" limit 1 ")); //寮�鍚煭淇¢�氱煡 if(Objects.nonNull(smsConfig) || Constants.equalsInteger(smsConfig.getStatus(),Constants.ZERO)){ String content = systemDictDataBiz.queryByCode(Constants.SMS,Constants.SMS_COMNAME).getCode() + smsConfig.getContent(); - Visits visits = visitsMapper.selectById(objId); + Visits visits = visitsMapper.selectJoinOne(Visits.class,new MPJLambdaWrapper<Visits>().selectAll(Visits.class) + .selectAs(SystemUser::getMobile,Visits::getCreateMobile) + .leftJoin(SystemUser.class,SystemUser::getMemberId,Visits::getMemberId) + .eq(Visits::getId,objId) + .last(" limit 1") + ); if(Objects.nonNull(visits)){ if(objCode.equals(SmsConstants.visitReportingContent.visitReportingAuditSuccess)){ // 鎮ㄧ殑銆愯瀹㈡姤澶囥�戝凡缁忓鎵归�氳繃锛岃閫氱煡璁垮浜巤棰勭害鍏ュ洯寮�濮嬫椂闂磢鍚庝箻鍧恵杞︾墝鍙穧鍏ュ洯锛屽鏈夌枒闂紝璇疯仈绯昏璁夸汉銆� content = content.replace("{棰勭害鍏ュ洯寮�濮嬫椂闂磢",DateUtil.getFomartDate(visits.getStarttime(),"yyyy-MM-dd HH:mm")) .replace("{杞︾墝鍙穧",visits.getCarNos()); sendBusinessSms(emayService,smsEmailMapper, - Arrays.asList(visits.getPhone().split(",")),SmsConstants.visitReport,content,visits.getId()); + Arrays.asList(visits.getCreateMobile().split(",")),SmsConstants.visitReport,content,visits.getId()); }else if(objCode.equals(SmsConstants.visitReportingContent.visitReportingAuditFail)){ //鎮ㄧ殑銆愯瀹㈡姤澶囥�戝凡琚┏鍥烇紝椹冲洖鍘熷洜涓猴細{椹冲洖鍘熷洜}銆傚鏈夌枒闂紝璇疯仈绯诲鎵逛汉銆� content = content.replace("{椹冲洖鍘熷洜}",msg); sendBusinessSms(emayService,smsEmailMapper, - Arrays.asList(visits.getPhone().split(",")),SmsConstants.visitReport,content,visits.getId()); + Arrays.asList(visits.getCreateMobile().split(",")),SmsConstants.visitReport,content,visits.getId()); }else if(objCode.equals(SmsConstants.visitReportingContent.visitReportingTimeOutSignOut)){ //鎮ㄧ殑銆愯瀹㈡姤澶囥�戝凡浜巤棰勭害鍏ュ洯缁撴潫鏃堕棿}鍒版湡锛岃鍙婃椂绂诲満锛屽鏈夌枒闂紝璇疯仈绯昏璁夸汉 content = content.replace("{棰勭害鍏ュ洯缁撴潫鏃堕棿}",DateUtil.getFomartDate(visits.getEndtime(),"yyyy-MM-dd HH:mm")); @@ -380,6 +401,53 @@ sendBusinessSms(emayService,smsEmailMapper, auditUser,SmsConstants.platformBook,content,visits.getId()); } + } + } + }catch (Exception e){ + e.printStackTrace(); + } + } + + public static void sendVisitReportTimeOutSms(SystemDictDataBiz systemDictDataBiz, EmayService emayService , com.doumee.dao.business.dao.SmsEmailMapper smsEmailMapper , + SmsConfigMapper smsConfigMapper, + String objCode, String msg,List<String> mobiles){ + try{ + SmsConfig smsConfig = smsConfigMapper.selectOne(new QueryWrapper<SmsConfig>().lambda().eq(SmsConfig::getCode, + objCode).last(" limit 1 ")); + //寮�鍚煭淇¢�氱煡 + if(Objects.nonNull(smsConfig) || Constants.equalsInteger(smsConfig.getStatus(),Constants.ZERO)){ + String content = systemDictDataBiz.queryByCode(Constants.SMS,Constants.SMS_COMNAME).getCode() + smsConfig.getContent(); + //瓒呮椂鐗规畩澶勭悊 + if(smsConfig.getCode().equals(SmsConstants.visitReportingContent.visitReportingTimeOutSignOutNum)){ + //浠婃棩杩樻湁{鏈绂绘暟閲弣涓瀹㈡姤澶囪溅杈嗘湭绂诲満锛岃鍓嶅線PC绔煡鐪嬭缁嗕俊鎭�� + content = content.replace("{鏈绂绘暟閲弣",msg); + sendBusinessSms(emayService,smsEmailMapper, + mobiles,SmsConstants.visitReport,content,0); + return; + } + } + }catch (Exception e){ + e.printStackTrace(); + } + } + + + public static void sendVisitTimeOutSms(SystemDictDataBiz systemDictDataBiz, EmayService emayService , com.doumee.dao.business.dao.SmsEmailMapper smsEmailMapper , + SmsConfigMapper smsConfigMapper, + String objCode, String msg,List<String> mobiles){ + try{ + SmsConfig smsConfig = smsConfigMapper.selectOne(new QueryWrapper<SmsConfig>().lambda().eq(SmsConfig::getCode, + objCode).last(" limit 1 ")); + //寮�鍚煭淇¢�氱煡 + if(Objects.nonNull(smsConfig) || Constants.equalsInteger(smsConfig.getStatus(),Constants.ZERO)){ + String content = systemDictDataBiz.queryByCode(Constants.SMS,Constants.SMS_COMNAME).getCode() + smsConfig.getContent(); + //瓒呮椂鐗规畩澶勭悊 + if(smsConfig.getCode().equals(SmsConstants.visitContent.visitTimeOutSignOutNum)){ + //浠婃棩杩樻湁{鏈绂绘暟閲弣涓瀹㈡姤澶囪溅杈嗘湭绂诲満锛岃鍓嶅線PC绔煡鐪嬭缁嗕俊鎭�� + content = content.replace("{鏈绂绘暟閲弣",msg); + sendBusinessSms(emayService,smsEmailMapper, + mobiles,SmsConstants.visit,content,0); + return; } } }catch (Exception e){ @@ -448,6 +516,9 @@ content = content.replace("{鎻愪氦鐨勫嚭鍙戞椂闂磢",DateUtil.getFomartDate(carUseBook.getStartTime(),"yyyy-MM-dd HH:mm")); }else if(objCode.equals(SmsConstants.carUseBookContent.carUseBookAuditFail) || objCode.equals(SmsConstants.carUseBookContent.carUseBookCancel)){ //鎮ㄧ殑銆愮敤杞︾敵璇枫�戝凡琚┏鍥烇紝椹冲洖鍘熷洜涓猴細{椹冲洖鍘熷洜}銆傚鏈夌枒闂紝璇疯仈绯绘淳杞﹀憳銆� + if(StringUtils.isBlank(msg)){ + msg = "鍏朵粬鍘熷洜"; + } content = content.replace("{椹冲洖鍘熷洜}",msg); //鎮ㄧ殑銆愮敤杞︾敵璇枫�戝凡琚彇娑堬紝鍙栨秷鍘熷洜涓猴細{鍙栨秷鍘熷洜}銆傚鏈夌枒闂紝璇疯仈绯绘淳杞﹀憳銆� content = content.replace("{鍙栨秷鍘熷洜}",msg); -- Gitblit v1.9.3