From 03e0d5e2263c037401acdd225c03edb739b1fe31 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期三, 26 三月 2025 13:50:03 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/SmsEmailServiceImpl.java | 535 +++++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 495 insertions(+), 40 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 fcc1578..b86035c 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,5 +1,6 @@
package com.doumee.service.business.impl;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -7,27 +8,33 @@
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.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.Utils;
-import com.doumee.dao.business.SmsEmailMapper;
-import com.doumee.dao.business.model.Company;
-import com.doumee.dao.business.model.SmsEmail;
+import com.doumee.service.business.third.model.PageData;
+import com.doumee.service.business.third.model.PageWrap;
+import com.doumee.core.utils.*;
+import com.doumee.core.wx.wxPlat.WxPlatNotice;
+import com.doumee.dao.business.*;
+import com.doumee.dao.business.dao.MemberMapper;
+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.business.model.Member;
+import com.doumee.dao.system.SystemUserMapper;
+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.RandomStringUtils;
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.*;
import java.util.Date;
-import java.util.List;
/**
* 鐭俊閭欢淇℃伅琛⊿ervice瀹炵幇
@@ -40,15 +47,21 @@
@Autowired
private SmsEmailMapper smsEmailMapper;
@Autowired
+ private SystemUserMapper systemUserMapper;
+ @Autowired
+ private MemberMapper memberMapper;
+ @Autowired
private SystemDictDataBiz systemDictDataBiz;
@Autowired
@Lazy
private EmayService emayService;
+ @Autowired
+ private SmsConfigMapper smsConfigMapper;
@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)
@@ -73,6 +86,51 @@
smsEmailMapper.updateById(model);
}
+
+
+ @Override
+ public void validPhoneCaptcha(ValidPhoneCodeVO param){
+ isCaptcheValide(smsEmailMapper,param.getPhone(),param.getCode());
+ }
+ @Override
+ public SystemUser validDriverPhone(ValidPhoneCodeVO param){
+ isCaptcheValide(smsEmailMapper,param.getPhone(),param.getCode());
+
+ SystemUser systemUser = systemUserMapper.selectOne(new QueryWrapper<SystemUser>().lambda()
+ .eq(SystemUser::getDeleted,Constants.ZERO)
+ .and(i->i.eq(SystemUser::getMobile,param.getPhone()).or().eq(SystemUser::getUsername,param.getPhone()))
+ .last("limit 1"));
+ if(systemUser !=null){
+ return systemUser;
+ }
+ String salt = RandomStringUtils.randomAlphabetic(6);
+ Member member = new Member();
+ member.setCreateDate(new Date());
+ member.setIsdeleted(Constants.ZERO);
+ member.setType(Constants.memberType.driver);
+ member.setPhone(param.getPhone());
+ member.setStatus(Constants.ZERO);
+ member.setOpenid(param.getOpenId());
+ member.setPassward(Utils.Secure.encryptPassword(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.INITIAL_PASSWORD).getCode(), salt));
+ memberMapper.insert(member);
+
+ systemUser = new SystemUser();
+ systemUser.setCreateTime(new Date());
+ systemUser.setDeleted(Boolean.FALSE);
+ systemUser.setUsername(param.getPhone());
+ systemUser.setRealname(null);
+ systemUser.setMemberId(member.getId());
+ systemUser.setMobile(param.getPhone());
+ systemUser.setSalt(salt);
+ systemUser.setPassword(member.getPassward());
+ systemUser.setStatus(Constants.ZERO);
+ systemUser.setType(Constants.memberType.driver);
+ systemUser.setSource(Constants.TWO);
+ systemUser.setOpenid(param.getOpenId());
+ systemUserMapper.insert(systemUser);
+ return systemUser;
+ }
+
@Override
public Integer create(SmsEmail smsEmail) {
smsEmailMapper.insert(smsEmail);
@@ -81,7 +139,7 @@
@Override
public Integer sendSms(SmsEmail smsEmail) {
- if(StringUtils.isBlank(smsEmail.getPhone())){
+ if(StringUtils.isBlank(smsEmail.getPhone()) || smsEmail.getPhone().length() != 11 ){
throw new BusinessException(ResponseStatus.BAD_REQUEST);
}
String nowDate = DateUtil.getFomartDate(new Date(),"yyyy-MM-dd HH:mm:ss");
@@ -92,27 +150,27 @@
)>=3){
throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀵逛笉璧凤紝瓒呭嚭鍙戦�佹鏁帮紝璇风◢鍚庨噸璇曪紒");
}
-
String code = Constants.getRandom6Num();
-
- 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(),"瀵逛笉璧凤紝鐭俊楠岃瘉鐮佸彂閫佸け璐ワ紝璇风◢鍚庨噸璇曪紒");
+ SmsConfig smsConfig = smsConfigMapper.selectOne(new QueryWrapper<SmsConfig>().lambda().eq(SmsConfig::getObjType,
+ SmsConstants.inventCode).last(" limit 1 "));
+ //寮�鍚煭淇¢�氱煡
+ if(Objects.nonNull(smsConfig) || Constants.equalsInteger(smsConfig.getStatus(),Constants.ZERO)){
+ if(StringUtils.isNotBlank(smsConfig.getContent())){
+ String content = smsConfig.getContent().replace("{楠岃瘉鐮亇",code);
+ emayService.sendSmsByHk(smsEmail.getPhone(),content);
+ smsEmail.setRemark(code);
+ smsEmail.setIsdeleted(Constants.ZERO);
+ smsEmail.setCreateDate(new Date());
+ smsEmail.setStatus(Constants.ZERO);
+ smsEmail.setType(Constants.ZERO);
+ smsEmail.setTitle("鐭俊楠岃瘉鐮�");
+ smsEmail.setContent(content);
+ smsEmail.setObjType(Constants.ZERO+"");
+ smsEmailMapper.insert(smsEmail);
+ return smsEmail.getId();
+ }
}
-
- smsEmail.setRemark(code);
- smsEmail.setIsdeleted(Constants.ZERO);
- smsEmail.setCreateDate(new Date());
- smsEmail.setStatus(Constants.ZERO);
- smsEmail.setType(Constants.ZERO);
- smsEmail.setTitle("鐭俊楠岃瘉鐮�");
- smsEmail.setContent(content);
- smsEmailMapper.insert(smsEmail);
-
- return smsEmail.getId();
-
+ return null;
}
@@ -217,7 +275,10 @@
queryWrapper.lambda().eq(SmsEmail::getContent, pageWrap.getModel().getContent());
}
if (pageWrap.getModel().getPhone() != null) {
- queryWrapper.lambda().eq(SmsEmail::getPhone, pageWrap.getModel().getPhone());
+ queryWrapper.lambda().and(wr ->{
+ wr.like(SmsEmail::getPhone, pageWrap.getModel().getPhone())
+ .or().like(SmsEmail::getEmail, pageWrap.getModel().getPhone());
+ });
}
if (pageWrap.getModel().getEmail() != null) {
queryWrapper.lambda().eq(SmsEmail::getEmail, pageWrap.getModel().getEmail());
@@ -234,13 +295,11 @@
if (pageWrap.getModel().getObjType() != null) {
queryWrapper.lambda().eq(SmsEmail::getObjType, pageWrap.getModel().getObjType());
}
- for(PageWrap.SortData sortData: pageWrap.getSorts()) {
- if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
- queryWrapper.orderByDesc(sortData.getProperty());
- } else {
- queryWrapper.orderByAsc(sortData.getProperty());
- }
- }
+ queryWrapper.lambda().ge(Objects.nonNull(pageWrap.getModel().getStartTime()),
+ SmsEmail::getCreateDate, pageWrap.getModel().getStartTime())
+ .le(Objects.nonNull(pageWrap.getModel().getEndTime()),
+ SmsEmail::getCreateDate, pageWrap.getModel().getEndTime())
+ .orderByDesc(SmsEmail::getCreateDate);
return PageData.from(smsEmailMapper.selectPage(page, queryWrapper));
}
@@ -249,4 +308,400 @@
QueryWrapper<SmsEmail> wrapper = new QueryWrapper<>(smsEmail);
return smsEmailMapper.selectCount(wrapper);
}
+ @Override
+ public void sendWaitingSmsNotice(){
+ LambdaQueryWrapper<SmsEmail> wrapper = new LambdaQueryWrapper<SmsEmail>()
+ .eq(SmsEmail::getIsdeleted,Constants.ZERO)
+ .eq(SmsEmail::getStatus,Constants.TWO);
+ List<SmsEmail> smsEmails = smsEmailMapper.selectList(wrapper);
+ if(smsEmails!=null && smsEmails.size()>0){
+ for(SmsEmail model : smsEmails){
+ if(Constants.equalsInteger(model.getType(),Constants.ZERO)){
+ if(model.getPhone() == null){
+ model.setStatus(Constants.THREE);//鍙戦�佸け璐�
+ model.setRemark("鎵嬫満鍙蜂负绌猴紝鍙栨秷浠诲姟鍙戦�侊紒");
+ }else{
+ try {
+ emayService.sendSmsByHk(model.getPhone(),model.getContent());
+ model.setStatus(Constants.ONE);//鍙戦�佹垚鍔�
+ model.setRemark("鐭俊浠诲姟鍙戦�佹垚鍔�");
+ }catch (Exception e){
+ model.setStatus(Constants.THREE);//鍙戦�佸け璐�
+ model.setRemark("鐭俊浠诲姟鍙戦�佸け璐ワ紒"+e.getMessage());
+ }
+ }
+ }else if(Constants.equalsInteger(model.getType(),Constants.TWO)){
+ if(DateUtil.fromStringToDate("yyyy-MM-dd HH:mm:ss",model.getInfo()).getTime() < System.currentTimeMillis()){
+ WxPlatNotice wxPlatNotice = new WxPlatNotice();
+ wxPlatNotice.sendMeetTemplateNotice(systemDictDataBiz,model,systemDictDataBiz.queryByCode(Constants.WX_PLATFORM, Constants.WX_PLATFORM_ACCESS_TOKEN).getCode());
+ model.setStatus(Constants.ONE);//鍙戦�佹垚鍔�
+ model.setRemark("寰俊閫氱煡鍙戦�佹垚鍔�");
+ }else{
+ model.setStatus(Constants.THREE);//鍙戦�佹垚鍔�
+ model.setRemark("寰俊閫氱煡鍙戦�佸け璐�");
+ }
+ }else{
+ continue;
+ }
+ model.setEditDate(new Date());
+ smsEmailMapper.updateById(model);
+ }
+ }
+ }
+ /**
+ * 璁垮鐢宠涓氬姟鐭俊閫氱煡
+ * @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,
+ 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.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());
+ }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 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,
+ 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,
+ 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.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.getCreateMobile().split(",")),SmsConstants.visitReport,content,visits.getId());
+ }else if(objCode.equals(SmsConstants.visitReportingContent.visitReportingAuditFail)){
+ //鎮ㄧ殑銆愯瀹㈡姤澶囥�戝凡琚┏鍥烇紝椹冲洖鍘熷洜涓猴細{椹冲洖鍘熷洜}銆傚鏈夌枒闂紝璇疯仈绯诲鎵逛汉銆�
+ content = content.replace("{椹冲洖鍘熷洜}",msg);
+ sendBusinessSms(emayService,smsEmailMapper,
+ 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"));
+ 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();
+ }
+ }
+
+ 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){
+ 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)){
+ //鎮ㄧ殑銆愮敤杞︾敵璇枫�戝凡琚┏鍥烇紝椹冲洖鍘熷洜涓猴細{椹冲洖鍘熷洜}銆傚鏈夌枒闂紝璇疯仈绯绘淳杞﹀憳銆�
+ if(StringUtils.isBlank(msg)){
+ msg = "鍏朵粬鍘熷洜";
+ }
+ 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
+ * @param platformBooksMapper
+ * @param objId
+ * @param objCode
+ * @param msg
+ * @param 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 "));
+ //寮�鍚煭淇¢�氱煡
+ if(Objects.nonNull(smsConfig) || Constants.equalsInteger(smsConfig.getStatus(),Constants.ZERO)){
+ String content = systemDictDataBiz.queryByCode(Constants.SMS,Constants.SMS_COMNAME).getCode() + smsConfig.getContent();
+ PlatformBooks platformBooks = platformBooksMapper.selectById(objId);
+ if(Objects.nonNull(platformBooks)){
+ if(objCode.equals(SmsConstants.platformBookContent.platformBookAuditSuccess)){
+ //鎮ㄧ殑銆愯溅杈嗗叆鍥敵璇枫�戝凡缁忓鎵归�氳繃锛屽叆鍥椂闂翠负{鍏ュ洯鏃堕棿}锛岃鎻愬墠30鍒嗛挓鍓嶅線鐜板満绛惧埌銆傚璁″垝鏈夊彉锛岃鍙婃椂鑱旂郴瀹℃牳浜哄憳銆�
+ 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)){
+ //鎮ㄧ殑銆愯溅杈嗗叆鍥敵璇枫�戝凡琚┏鍥烇紝椹冲洖鍘熷洜涓猴細{椹冲洖鍘熷洜}銆傚鏈夌枒闂紝璇疯仈绯诲鏍镐汉鍛樸��
+ content = content.replace("{椹冲洖鍘熷洜}",msg);
+ //鎮ㄧ殑銆愯溅杈嗗叆鍥敵璇枫�戝凡琚彇娑堬紝鍙栨秷鍘熷洜涓猴細{鍙栨秷鍘熷洜}銆傚鏈夌枒闂紝璇疯仈绯诲鏍镐汉鍛樸��
+ content = content.replace("{鍙栨秷鍘熷洜}",msg);
+ sendBusinessSms(emayService,smsEmailMapper,
+ Arrays.asList(platformBooks.getDriverPhone().split(",")),SmsConstants.platformBook,content,platformBooks.getId());
+ }else{
+ //鎮ㄦ湁涓�鏉°�愯溅杈嗗叆鍥敵璇枫�戦渶瑕佸鐞嗭紝璇︾粏淇℃伅璇峰墠寰�寰俊鍏紬鍙锋煡鐪嬨��
+ sendBusinessSms(emayService,smsEmailMapper,
+ auditUser,SmsConstants.platformBook,content,platformBooks.getId());
+ }
+ }
+ }
+ }catch (Exception e){
+ e.printStackTrace();
+ }
+ }
+
+
+ /**
+ * 鐢ㄨ溅鐢宠 鐭俊閫氱煡閰嶇疆
+ * @param emayService
+ * @param smsEmailMapper
+ * @param smsConfigMapper
+ * @param platformJobMapper
+ * @param objId
+ * @param objCode
+ * @param platformName
+ */
+ 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鍒嗛挓鍐咃紝鍓嶅線鍥尯绛夊緟鍖虹瓑寰呭彨鍙蜂綔涓氥��
+ //platformJobSingIn {杞︾墝鍙穧杞︿富鎮ㄥソ锛岃鍦�10鍒嗛挓鍐咃紝鍓嶅線{鏈堝彴鍚嶇О}杩涜浣滀笟銆�
+ //platformJobOverNum {杞︾墝鍙穧杞︿富鎮ㄥソ锛屾偍鐨勪换鍔″凡杩囧彿锛岃閲嶆柊绛惧埌鎺掗槦绛夊緟銆�
+ //platformJobWorking {杞︾墝鍙穧杞︿富鎮ㄥソ锛屾偍鐨勮溅杈嗗凡鍦▄鏈堝彴鍚嶇О}寮�濮嬩綔涓氾紝璇烽殢鏃跺叧娉ㄤ綔涓氭儏鍐点��
+ //platformJobFinish {杞︾墝鍙穧杞︿富鎮ㄥソ锛屾偍鐨勮溅杈嗗凡鍦▄鏈堝彴鍚嶇О}瀹屾垚浣滀笟锛岃鍙婃椂椹剁鏈堝彴銆�
+ //platformJobError {杞︾墝鍙穧杞︿富鎮ㄥソ锛屾偍鍦▄鏈堝彴鍚嶇О}鐨勪綔涓氫换鍔″凡缁忚寮傚父鎸傝捣锛岃鍙婃椂鍏虫敞鍏蜂綋鎯呭喌銆�
+ //platformJobMove {杞︾墝鍙穧杞︿富鎮ㄥソ锛屾偍鍦▄鏈堝彴鍚嶇О}鐨勪綔涓氫换鍔″凡缁忓凡琚浆绉昏嚦{杞Щ鍚庢湀鍙板悕绉皚锛岃鍙婃椂鍏虫敞鍙彿鎯呭喌銆�
+ //platformJobTimeOut {杞︾墝鍙穧杞︿富鎮ㄥソ锛屾偍鍦▄鏈堝彴鍚嶇О}宸插仠闈犺秴鏃讹紝璇峰敖蹇┒绂讳互鍏嶅奖鍝嶅悗缁綔涓氥��
+ 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();
+ PlatformJob platformJob = platformJobMapper.selectById(objId);
+ if(Objects.nonNull(platformJob)){
+ content = content.replace("{杞︾墝鍙穧",platformJob.getCarCodeFront());
+ if(StringUtils.isNotBlank(platformName)&&content.indexOf("{鏈堝彴鍚嶇О}")>=Constants.ZERO){
+ content = content.replace("{鏈堝彴鍚嶇О}",platformName);
+ }
+ if(StringUtils.isNotBlank(newPlatformName)&&content.indexOf("{杞Щ鍚庢湀鍙板悕绉皚")>=Constants.ZERO){
+ content = content.replace("{杞Щ鍚庢湀鍙板悕绉皚",newPlatformName);
+ }
+ sendBusinessSms(emayService,smsEmailMapper,
+ Arrays.asList(platformJob.getDrivierPhone().split(",")),SmsConstants.platformJob,content,platformJob.getId());
+ }
+ }
+ }catch (Exception e){
+ e.printStackTrace();
+ }
+ }
+
+ public static void sendBusinessSms(EmayService emayService, SmsEmailMapper smsEmailMapper, List<String> phoneList, String objType, String content, Integer objId){
+ for (String phone:phoneList) {
+ SmsEmail smsEmail = new SmsEmail();
+ smsEmail.setIsdeleted(Constants.ZERO);
+ smsEmail.setCreateDate(new Date());
+ smsEmail.setStatus(Constants.ONE);
+ smsEmail.setType(Constants.ZERO);
+ smsEmail.setTitle("涓氬姟鐭俊");
+ smsEmail.setPhone(phone);
+ smsEmail.setContent(content);
+ smsEmail.setObjType(objType);
+ smsEmail.setObjId(objId);
+ smsEmailMapper.insert(smsEmail);
+ emayService.sendSmsByHk(phone,content);
+ }
+ }
+
}
--
Gitblit v1.9.3