From a825583ed6c4df0998248be80dccf1e9fa35bc56 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期二, 24 十二月 2024 16:44:47 +0800
Subject: [PATCH] 最新版本541200007
---
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/SmsEmailServiceImpl.java | 119 ++++++++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 105 insertions(+), 14 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 090d3b6..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
@@ -1,7 +1,6 @@
package com.doumee.service.business.impl;
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
+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;
@@ -9,17 +8,19 @@
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.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.*;
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;
@@ -27,7 +28,6 @@
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
-import java.net.URLEncoder;
import java.util.*;
import java.util.Date;
@@ -79,6 +79,10 @@
+ @Override
+ public void validPhoneCaptcha(ValidPhoneCodeVO param){
+ isCaptcheValide(smsEmailMapper,param.getPhone(),param.getCode());
+ }
@Override
public Integer create(SmsEmail smsEmail) {
smsEmailMapper.insert(smsEmail);
@@ -255,6 +259,32 @@
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(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());
+ }
+ }
+ model.setEditDate(new Date());
+ smsEmailMapper.updateById(model);
+ }
+ }
+ }
/**
* 璁垮鐢宠涓氬姟鐭俊閫氱煡
@@ -269,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());
@@ -298,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,
@@ -323,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"));
@@ -358,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){
@@ -426,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);
@@ -546,8 +639,6 @@
smsEmail.setObjId(objId);
smsEmailMapper.insert(smsEmail);
emayService.sendSmsByHk(phone,content);
-
-
}
}
--
Gitblit v1.9.3