From c50686f775664c5a722f4b5ad7afde1e5214b14d Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期二, 05 十一月 2024 19:07:21 +0800 Subject: [PATCH] 最新版本541200007 --- server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/SmsEmailServiceImpl.java | 235 ++++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 209 insertions(+), 26 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 01afdca..c453c2c 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 @@ -1,6 +1,7 @@ package com.doumee.service.business.impl; -import com.alibaba.nacos.shaded.org.checkerframework.checker.units.qual.A; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -8,32 +9,27 @@ import com.doumee.biz.system.SystemDictDataBiz; import com.doumee.core.constants.ResponseStatus; import com.doumee.core.exception.BusinessException; -import com.doumee.core.model.LoginUserInfo; +import com.doumee.core.haikang.model.HKConstants; +import com.doumee.core.haikang.model.param.BaseResponse; +import com.doumee.core.haikang.service.HKService; import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; -import com.doumee.core.utils.Constants; -import com.doumee.core.utils.DateUtil; -import com.doumee.core.utils.SmsConstants; -import com.doumee.core.utils.Utils; -import com.doumee.dao.business.PlatformBooksMapper; -import com.doumee.dao.business.PlatformJobMapper; -import com.doumee.dao.business.SmsConfigMapper; -import com.doumee.dao.business.SmsEmailMapper; +import com.doumee.core.utils.*; +import com.doumee.dao.business.*; +import com.doumee.dao.business.dao.SmsEmailMapper; import com.doumee.dao.business.model.*; import com.doumee.service.business.SmsEmailService; import com.doumee.service.business.third.EmayService; import org.apache.commons.lang3.StringUtils; -import org.apache.shiro.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; -import java.util.Arrays; +import java.net.URLEncoder; +import java.util.*; import java.util.Date; -import java.util.List; -import java.util.Objects; /** * 鐭俊閭欢淇℃伅琛⊿ervice瀹炵幇 @@ -54,7 +50,7 @@ @Value("${debug_model}") private boolean debugModel; - public static void isCaptcheValide(SmsEmailMapper smsEmailMapper, String phone, String captche) { + public static void isCaptcheValide(com.doumee.dao.business.dao.SmsEmailMapper smsEmailMapper, String phone, String captche) { SmsEmail model = smsEmailMapper.selectOne(new QueryWrapper<SmsEmail>().lambda() .eq(SmsEmail::getType, Constants.ZERO) .eq(SmsEmail::getPhone, phone) @@ -78,6 +74,8 @@ model.setEditDate(new Date()); smsEmailMapper.updateById(model); } + + @Override public Integer create(SmsEmail smsEmail) { @@ -103,10 +101,11 @@ String content = systemDictDataBiz.queryByCode(Constants.SMS,Constants.SMS_COMNAME).getCode()+"楠岃瘉鐮佷负锛�"+code+"锛屾楠岃瘉鐮佹湁鏁堜负3鍒嗛挓銆傝鍕挎硠闇�"; - boolean result= emayService.sendSingleSms(smsEmail.getPhone(),content); - if(!result){ - throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀵逛笉璧凤紝鐭俊楠岃瘉鐮佸彂閫佸け璐ワ紝璇风◢鍚庨噸璇曪紒"); - } +// boolean result= emayService.sendSingleSms(smsEmail.getPhone(),content); + emayService.sendSmsByHk(smsEmail.getPhone(),content); +// if(!result){ +// throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀵逛笉璧凤紝鐭俊楠岃瘉鐮佸彂閫佸け璐ワ紝璇风◢鍚庨噸璇曪紒"); +// } smsEmail.setRemark(code); smsEmail.setIsdeleted(Constants.ZERO); @@ -256,9 +255,192 @@ return smsEmailMapper.selectCount(wrapper); } + /** + * 璁垮鐢宠涓氬姟鐭俊閫氱煡 + * @param systemDictDataBiz + * @param emayService + * @param smsEmailMapper + * @param smsConfigMapper + * @param visitsMapper + * @param objId + * @param objCode + * @param msg + * @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){ + 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); + 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()); + }else if(objCode.equals(SmsConstants.visitContent.visitAuditFail)){ + //鎮ㄧ殑銆愯瀹㈢敵璇枫�戝凡琚┏鍥烇紝椹冲洖鍘熷洜涓猴細{椹冲洖鍘熷洜}銆傚鏈夌枒闂紝璇疯仈绯昏璁夸汉銆� + content = content.replace("{椹冲洖鍘熷洜}",msg); + sendBusinessSms(emayService,smsEmailMapper, + Arrays.asList(visits.getPhone().split(",")),SmsConstants.visit,content,visits.getId()); + }else if(objCode.equals(SmsConstants.visitContent.visitTimeOutSignOut)){ + //鎮ㄧ殑銆愯瀹㈢敵璇枫�戝凡浜巤鍒版湡鏃堕棿}鍒版湡锛岃鍙婃椂绂诲満骞跺墠寰�闂ㄥ崼瀹よ瀹㈡満绛剧锛屽鏈夌枒闂紝璇疯仈绯昏璁夸汉 + content = content.replace("{鍒版湡鏃堕棿}",DateUtil.getFomartDate(visits.getEndtime(),"yyyy-MM-dd HH:mm")); + sendBusinessSms(emayService,smsEmailMapper, + Arrays.asList(visits.getPhone().split(",")),SmsConstants.visit,content,visits.getId()); + }else if(objCode.equals(SmsConstants.visitContent.visitTimeOutSignOutNum)) { + //浠婃棩杩樻湁{鏈绂绘暟閲弣涓瀹㈡湭绛剧锛岃鍓嶅線PC绔煡鐪嬭缁嗕俊鎭�� + content = content.replace("{鏈绂绘暟閲弣",msg); + sendBusinessSms(emayService,smsEmailMapper, + Arrays.asList(visits.getPhone().split(",")),SmsConstants.visit,content,visits.getId()); + }else{ + //鎮ㄦ湁涓�鏉°�愯溅杈嗗叆鍥敵璇枫�戦渶瑕佸鐞嗭紝璇︾粏淇℃伅璇峰墠寰�寰俊鍏紬鍙锋煡鐪嬨�� + sendBusinessSms(emayService,smsEmailMapper, + auditUser,SmsConstants.platformBook,content,visits.getId()); + } + } + } + }catch (Exception e){ + e.printStackTrace(); + } + } /** - * 鐢ㄨ溅鐢宠 鐭俊閫氱煡閰嶇疆 + * 璁垮鎶ュ涓氬姟鐭俊閫氱煡 + * @param systemDictDataBiz + * @param emayService + * @param smsEmailMapper + * @param smsConfigMapper + * @param visitsMapper + * @param objId + * @param objCode + * @param msg + * @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){ + 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); + 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()); + }else if(objCode.equals(SmsConstants.visitReportingContent.visitReportingAuditFail)){ + //鎮ㄧ殑銆愯瀹㈡姤澶囥�戝凡琚┏鍥烇紝椹冲洖鍘熷洜涓猴細{椹冲洖鍘熷洜}銆傚鏈夌枒闂紝璇疯仈绯诲鎵逛汉銆� + content = content.replace("{椹冲洖鍘熷洜}",msg); + sendBusinessSms(emayService,smsEmailMapper, + Arrays.asList(visits.getPhone().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")); + sendBusinessSms(emayService,smsEmailMapper, + Arrays.asList(visits.getPhone().split(",")),SmsConstants.visitReport,content,visits.getId()); + }else if(objCode.equals(SmsConstants.visitReportingContent.visitReportingTimeOutSignOutNum)) { + //浠婃棩杩樻湁{鏈绂绘暟閲弣涓瀹㈡姤澶囪溅杈嗘湭绂诲満锛岃鍓嶅線PC绔煡鐪嬭缁嗕俊鎭�� + content = content.replace("{鏈绂绘暟閲弣",msg); + sendBusinessSms(emayService,smsEmailMapper, + Arrays.asList(visits.getPhone().split(",")),SmsConstants.visitReport,content,visits.getId()); + }else{ + //鎮ㄦ湁涓�鏉°�愯溅杈嗗叆鍥敵璇枫�戦渶瑕佸鐞嗭紝璇︾粏淇℃伅璇峰墠寰�寰俊鍏紬鍙锋煡鐪嬨�� + sendBusinessSms(emayService,smsEmailMapper, + auditUser,SmsConstants.platformBook,content,visits.getId()); + } + } + } + }catch (Exception e){ + e.printStackTrace(); + } + } + + /** + * 闅愭偅闅忔墜鎷� + * @param systemDictDataBiz + * @param emayService + * @param smsEmailMapper + * @param smsConfigMapper + * @param hiddenDangerMapper + * @param objId + * @param objCode + * @param auditUser + */ + public static void sendHiddenDangerSms(SystemDictDataBiz systemDictDataBiz, EmayService emayService , com.doumee.dao.business.dao.SmsEmailMapper smsEmailMapper , SmsConfigMapper smsConfigMapper, + HiddenDangerMapper hiddenDangerMapper, Integer objId, String objCode, 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(); + HiddenDanger hiddenDanger = hiddenDangerMapper.selectById(objId); + //鎮ㄦ湁涓�鏉°�愰殣鎮i殢鎵嬫媿-娑堥槻闅愭偅銆戦渶瑕佸鐞嗭紝璇︾粏淇℃伅璇峰墠寰�寰俊鍏紬鍙锋煡鐪� + //鎮ㄦ彁浜ょ殑銆愰殣鎮i殢鎵嬫媿-娑堥槻闅愭偅銆戝凡缁忓鐞嗗畬姣曪紝璇︾粏淇℃伅璇峰墠寰�寰俊鍏紬鍙锋煡鐪嬨�� + if(Objects.nonNull(hiddenDanger)){ + sendBusinessSms(emayService,smsEmailMapper, + auditUser,SmsConstants.platformBook,content,hiddenDanger.getId()); + } + } + }catch (Exception e){ + e.printStackTrace(); + } + } + + + /** + * 鐢ㄨ溅鐢宠 + * @param systemDictDataBiz + * @param emayService + * @param smsEmailMapper + * @param smsConfigMapper + * @param carUseBookMapper + * @param objId + * @param objCode + * @param msg + * @param userList + */ + public static void sendCarUseSms(SystemDictDataBiz systemDictDataBiz, EmayService emayService , com.doumee.dao.business.dao.SmsEmailMapper smsEmailMapper , SmsConfigMapper smsConfigMapper, + CarUseBookMapper carUseBookMapper, Integer objId, String objCode, String msg, List<String> userList){ + //鎮ㄦ湁涓�鏉°�愮敤杞︾敵璇枫�戦渶瑕佸鐞嗭紝璇︾粏淇℃伅璇峰墠寰�寰俊鍏紬鍙锋煡鐪嬨�� + 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(); + CarUseBook carUseBook = carUseBookMapper.selectById(objId); + if(Objects.nonNull(carUseBook)){ + if(objCode.equals(SmsConstants.carUseBookContent.carUseBookAuditSuccess)){ + //鎮ㄧ殑銆愮敤杞︾敵璇枫�戝凡缁忓鎵归�氳繃锛屽嚭鍙戞椂闂翠负{鎻愪氦鐨勫嚭鍙戞椂闂磢锛岃鎸夋椂鐢ㄨ溅銆傚鐢ㄨ溅璁″垝鏈夊彉锛岃鍙婃椂鑱旂郴娲捐溅鍛樸�� + content = content.replace("{鎻愪氦鐨勫嚭鍙戞椂闂磢",DateUtil.getFomartDate(carUseBook.getStartTime(),"yyyy-MM-dd HH:mm")); + }else if(objCode.equals(SmsConstants.carUseBookContent.carUseBookAuditFail) || objCode.equals(SmsConstants.carUseBookContent.carUseBookCancel)){ + //鎮ㄧ殑銆愮敤杞︾敵璇枫�戝凡琚┏鍥烇紝椹冲洖鍘熷洜涓猴細{椹冲洖鍘熷洜}銆傚鏈夌枒闂紝璇疯仈绯绘淳杞﹀憳銆� + content = content.replace("{椹冲洖鍘熷洜}",msg); + //鎮ㄧ殑銆愮敤杞︾敵璇枫�戝凡琚彇娑堬紝鍙栨秷鍘熷洜涓猴細{鍙栨秷鍘熷洜}銆傚鏈夌枒闂紝璇疯仈绯绘淳杞﹀憳銆� + content = content.replace("{鍙栨秷鍘熷洜}",msg); + } + sendBusinessSms(emayService,smsEmailMapper, + userList,SmsConstants.carUse,content,carUseBook.getId()); + } + } + }catch (Exception e){ + e.printStackTrace(); + } + } + + + /** + * 鐗╂祦杞﹂绾� 鐭俊閫氱煡閰嶇疆 * @param emayService * @param smsEmailMapper * @param smsConfigMapper @@ -268,8 +450,8 @@ * @param msg * @param auditUser */ - public static void sendPlatformBookSms(SystemDictDataBiz systemDictDataBiz,EmayService emayService ,SmsEmailMapper smsEmailMapper ,SmsConfigMapper smsConfigMapper, - PlatformBooksMapper platformBooksMapper,Integer objId,String objCode,String msg,List<String> auditUser){ + public static void sendPlatformBookSms(SystemDictDataBiz systemDictDataBiz, EmayService emayService , com.doumee.dao.business.dao.SmsEmailMapper smsEmailMapper , SmsConfigMapper smsConfigMapper, + PlatformBooksMapper platformBooksMapper, 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 ")); @@ -280,7 +462,7 @@ if(Objects.nonNull(platformBooks)){ if(objCode.equals(SmsConstants.platformBookContent.platformBookAuditSuccess)){ //鎮ㄧ殑銆愯溅杈嗗叆鍥敵璇枫�戝凡缁忓鎵归�氳繃锛屽叆鍥椂闂翠负{鍏ュ洯鏃堕棿}锛岃鎻愬墠30鍒嗛挓鍓嶅線鐜板満绛惧埌銆傚璁″垝鏈夊彉锛岃鍙婃椂鑱旂郴瀹℃牳浜哄憳銆� - content = content.replace("{鍏ュ洯鏃堕棿}",DateUtil.getDate(platformBooks.getArriveDate(),"yyyy-MM-dd HH:mm")); + content = content.replace("{鍏ュ洯鏃堕棿}",DateUtil.getFomartDate(platformBooks.getArriveDate(),"yyyy-MM-dd HH:mm")); sendBusinessSms(emayService,smsEmailMapper, Arrays.asList(platformBooks.getDriverPhone().split(",")),SmsConstants.platformBook,content,platformBooks.getId()); }else if(objCode.equals(SmsConstants.platformBookContent.platformBookAuditFail) || objCode.equals(SmsConstants.platformBookContent.platformBookCancel)){ @@ -313,8 +495,8 @@ * @param objCode * @param platformName */ - public static void sendPlatformJobSms(SystemDictDataBiz systemDictDataBiz,EmayService emayService , SmsEmailMapper smsEmailMapper , SmsConfigMapper smsConfigMapper, - PlatformJobMapper platformJobMapper, Integer objId, String objCode, String platformName,String newPlatformName){ + public static void sendPlatformJobSms(SystemDictDataBiz systemDictDataBiz, EmayService emayService , com.doumee.dao.business.dao.SmsEmailMapper smsEmailMapper , SmsConfigMapper smsConfigMapper, + PlatformJobMapper platformJobMapper, Integer objId, String objCode, String platformName, String newPlatformName){ //platformJobNewJob {杞︾墝鍙穧杞︿富鎮ㄥソ锛屾偍鏈変竴涓柊鐨勮繍杈撲换鍔★紝璇︾粏淇℃伅璇峰墠寰�寰俊鍏紬鍙锋煡鐪嬨�� //platformJobStopJob {杞︾墝鍙穧杞︿富鎮ㄥソ锛屾偍鐨勮繍杈撲换鍔″凡琚彇娑堬紝璇︾粏淇℃伅璇峰墠寰�寰俊鍏紬鍙锋煡鐪嬨�� //platformJobCallIn {杞︾墝鍙穧杞︿富鎮ㄥソ锛岃鍦�10鍒嗛挓鍐咃紝鍓嶅線鍥尯绛夊緟鍖虹瓑寰呭彨鍙蜂綔涓氥�� @@ -362,7 +544,8 @@ smsEmail.setObjType(objType); smsEmail.setObjId(objId); smsEmailMapper.insert(smsEmail); - emayService.sendSingleSms(phone,content); + emayService.sendSmsByHk(phone,content); + } } -- Gitblit v1.9.3