Commit c1cf0e8a2ea058ca95680aa15df30c92b07dc252

Authored by wangqian
1 parent 1e0bb24c

派单短信催办短信模板修改

urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/enums/AssignTasksConstants.java
@@ -29,9 +29,11 @@ public class AssignTasksConstants { @@ -29,9 +29,11 @@ public class AssignTasksConstants {
29 29
30 /* 催办短信场景配置*/ 30 /* 催办短信场景配置*/
31 public static final int ASSIGN_TASK_SCENE = 6; 31 public static final int ASSIGN_TASK_SCENE = 6;
  32 + /* 催办短信场景配置--测试环境*/
  33 + public static final int ASSIGN_TASK_SCENE_TEST = 8;
32 /* 到期短信场景配置*/ 34 /* 到期短信场景配置*/
33 public static final int ASSIGN_TASK_REMIND_ADVANCE_SCENE = 7; 35 public static final int ASSIGN_TASK_REMIND_ADVANCE_SCENE = 7;
34 - //截至日期3小时 36 + //截至日期3小时 -发短信使用
35 public static final String REMIND_ADVANCE_HOURS = "3"; 37 public static final String REMIND_ADVANCE_HOURS = "3";
36 38
37 /*办理人角色*/ 39 /*办理人角色*/
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/job/task/ExpireRemindJob.java
@@ -20,15 +20,9 @@ import org.slf4j.LoggerFactory; @@ -20,15 +20,9 @@ import org.slf4j.LoggerFactory;
20 import org.springframework.stereotype.Service; 20 import org.springframework.stereotype.Service;
21 21
22 import java.time.LocalDateTime; 22 import java.time.LocalDateTime;
23 -import java.time.ZoneId;  
24 -import java.time.format.DateTimeFormatter;  
25 import java.util.HashMap; 23 import java.util.HashMap;
26 import java.util.List; 24 import java.util.List;
27 import java.util.Map; 25 import java.util.Map;
28 -import java.util.Objects;  
29 -  
30 -import static com.zteits.urbanops.framework.common.util.servlet.ServletUtils.getClientIP;  
31 -import static com.zteits.urbanops.module.garden.service.assigntasksinfo.AssignTasksInfoServiceImpl.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;  
32 26
33 /** 27 /**
34 * @Classname ExpireRemindJob 28 * @Classname ExpireRemindJob
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/assigntasksinfo/AssignTasksInfoServiceImpl.java
@@ -3,6 +3,7 @@ package com.zteits.urbanops.module.garden.service.assigntasksinfo; @@ -3,6 +3,7 @@ package com.zteits.urbanops.module.garden.service.assigntasksinfo;
3 import com.alibaba.fastjson.JSONObject; 3 import com.alibaba.fastjson.JSONObject;
4 import com.baomidou.mybatisplus.core.toolkit.StringUtils; 4 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
5 import com.zteits.urbanops.framework.common.pojo.PageResult; 5 import com.zteits.urbanops.framework.common.pojo.PageResult;
  6 +import com.zteits.urbanops.framework.common.util.date.DateUtils;
6 import com.zteits.urbanops.framework.common.util.object.BeanUtils; 7 import com.zteits.urbanops.framework.common.util.object.BeanUtils;
7 import com.zteits.urbanops.module.garden.controller.admin.assigntasksinfo.vo.AssignTasksInfoPageReqVO; 8 import com.zteits.urbanops.module.garden.controller.admin.assigntasksinfo.vo.AssignTasksInfoPageReqVO;
8 import com.zteits.urbanops.module.garden.controller.admin.assigntasksinfo.vo.AssignTasksInfoSaveReqVO; 9 import com.zteits.urbanops.module.garden.controller.admin.assigntasksinfo.vo.AssignTasksInfoSaveReqVO;
@@ -26,6 +27,7 @@ import jakarta.annotation.Resource; @@ -26,6 +27,7 @@ import jakarta.annotation.Resource;
26 import lombok.extern.slf4j.Slf4j; 27 import lombok.extern.slf4j.Slf4j;
27 import org.apache.commons.collections4.CollectionUtils; 28 import org.apache.commons.collections4.CollectionUtils;
28 import org.quartz.SchedulerException; 29 import org.quartz.SchedulerException;
  30 +import org.springframework.beans.factory.annotation.Value;
29 import org.springframework.stereotype.Service; 31 import org.springframework.stereotype.Service;
30 import org.springframework.transaction.annotation.Transactional; 32 import org.springframework.transaction.annotation.Transactional;
31 import org.springframework.validation.annotation.Validated; 33 import org.springframework.validation.annotation.Validated;
@@ -77,20 +79,16 @@ public class AssignTasksInfoServiceImpl implements AssignTasksInfoService { @@ -77,20 +79,16 @@ public class AssignTasksInfoServiceImpl implements AssignTasksInfoService {
77 @Resource 79 @Resource
78 private QuartzRemindService quartzRemindService; 80 private QuartzRemindService quartzRemindService;
79 // 定义固定时区(推荐东八区,避免服务器时区影响) 81 // 定义固定时区(推荐东八区,避免服务器时区影响)
80 - private static final ZoneId DEFAULT_ZONE = ZoneId.of("Asia/Shanghai");  
81 - // 定义时间格式化器,统一日志输出格式  
82 - private static final DateTimeFormatter DATE_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS");  
83 -  
84 -  
85 - // 时间格式常量(与之前保持一致)  
86 - public static final String FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND = "yyyy-MM-dd HH:mm:ss";  
87 82
88 // 提前提醒(3小时) 83 // 提前提醒(3小时)
89 private static final long REMIND_ADVANCE_HOURS = 3L; 84 private static final long REMIND_ADVANCE_HOURS = 3L;
90 85
  86 + @Value("${spring.profiles.active}")
  87 + private String profilesServer;
  88 +
91 // 1. 定义线程安全的格式化器(全局复用,无需重复创建) 89 // 1. 定义线程安全的格式化器(全局复用,无需重复创建)
92 private static final DateTimeFormatter DEADLINE_FORMATTER = DateTimeFormatter 90 private static final DateTimeFormatter DEADLINE_FORMATTER = DateTimeFormatter
93 - .ofPattern(FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 91 + .ofPattern(DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
94 .withZone(ZoneId.of("GMT+8")); // 时区与之前配置一致,避免偏移 92 .withZone(ZoneId.of("GMT+8")); // 时区与之前配置一致,避免偏移
95 @Override 93 @Override
96 public Long createAssignTasksInfo(AssignTasksInfoSaveReqVO createReqVO) { 94 public Long createAssignTasksInfo(AssignTasksInfoSaveReqVO createReqVO) {
@@ -187,13 +185,13 @@ public class AssignTasksInfoServiceImpl implements AssignTasksInfoService { @@ -187,13 +185,13 @@ public class AssignTasksInfoServiceImpl implements AssignTasksInfoService {
187 public void createRemindJob(LocalDateTime deadline, Long id){ 185 public void createRemindJob(LocalDateTime deadline, Long id){
188 186
189 // 2. 计算:当前时间 + 3小时 是否超过截止时间(即截止时间不足3小时) 187 // 2. 计算:当前时间 + 3小时 是否超过截止时间(即截止时间不足3小时)
190 - LocalDateTime now = LocalDateTime.now(DEFAULT_ZONE); // 当前东八区时间 188 + LocalDateTime now = LocalDateTime.now(DateUtils.DEFAULT_ZONE); // 当前东八区时间
191 LocalDateTime remindThreshold = now.plusHours(REMIND_ADVANCE_HOURS); 189 LocalDateTime remindThreshold = now.plusHours(REMIND_ADVANCE_HOURS);
192 190
193 //核心判断:截止时间 <= (当前时间+3小时),不创建定时任务 191 //核心判断:截止时间 <= (当前时间+3小时),不创建定时任务
194 if (deadline.isBefore(remindThreshold)) { 192 if (deadline.isBefore(remindThreshold)) {
195 - String formattedDeadline = deadline.format(DATE_FORMATTER);  
196 - String formattedThreshold = remindThreshold.format(DATE_FORMATTER); 193 + String formattedDeadline = deadline.format(DateUtils.DATE_FORMATTER);
  194 + String formattedThreshold = remindThreshold.format(DateUtils.DATE_FORMATTER);
197 log.info("任务ID={} 无需创建定时任务:截止时间={},不足{}小时(阈值时间={})", 195 log.info("任务ID={} 无需创建定时任务:截止时间={},不足{}小时(阈值时间={})",
198 id, formattedDeadline, REMIND_ADVANCE_HOURS, formattedThreshold); 196 id, formattedDeadline, REMIND_ADVANCE_HOURS, formattedThreshold);
199 return; // 直接返回,不创建定时任务 197 return; // 直接返回,不创建定时任务
@@ -201,12 +199,12 @@ public class AssignTasksInfoServiceImpl implements AssignTasksInfoService { @@ -201,12 +199,12 @@ public class AssignTasksInfoServiceImpl implements AssignTasksInfoService {
201 199
202 // 3. 安全转换LocalDateTime到Date(指定东八区,避免时区问题) 200 // 3. 安全转换LocalDateTime到Date(指定东八区,避免时区问题)
203 Date triggerDate = Date.from( 201 Date triggerDate = Date.from(
204 - deadline.atZone(DEFAULT_ZONE) // 绑定东八区(业务时区) 202 + deadline.atZone(DateUtils.DEFAULT_ZONE) // 绑定东八区(业务时区)
205 .toInstant() // 转为Instant 203 .toInstant() // 转为Instant
206 ); 204 );
207 205
208 // 4. 规范日志输出(使用占位符,格式化时间) 206 // 4. 规范日志输出(使用占位符,格式化时间)
209 - String formattedDeadline = deadline.format(DATE_FORMATTER); 207 + String formattedDeadline = deadline.format(DateUtils.DATE_FORMATTER);
210 log.info("创建定时任务:任务ID={}, 截止时间(LocalDateTime)={}, 转换后Date时间={}", 208 log.info("创建定时任务:任务ID={}, 截止时间(LocalDateTime)={}, 转换后Date时间={}",
211 id, 209 id,
212 formattedDeadline, 210 formattedDeadline,
@@ -315,7 +313,11 @@ public class AssignTasksInfoServiceImpl implements AssignTasksInfoService { @@ -315,7 +313,11 @@ public class AssignTasksInfoServiceImpl implements AssignTasksInfoService {
315 continue; 313 continue;
316 } 314 }
317 SmsCodeSendReqDTO reqDTO = new SmsCodeSendReqDTO(); 315 SmsCodeSendReqDTO reqDTO = new SmsCodeSendReqDTO();
318 - reqDTO.setScene(AssignTasksConstants.ASSIGN_TASK_SCENE); 316 + if ("prod".equals(profilesServer)) {
  317 + reqDTO.setScene(AssignTasksConstants.ASSIGN_TASK_SCENE);
  318 + } else {
  319 + reqDTO.setScene(AssignTasksConstants.ASSIGN_TASK_SCENE_TEST);
  320 + }
319 reqDTO.setMobile(phonenumber);//手机号 321 reqDTO.setMobile(phonenumber);//手机号
320 reqDTO.setTemplateParams(templateParams);//短信参数 322 reqDTO.setTemplateParams(templateParams);//短信参数
321 reqDTO.setCreateIp(getClientIP()); 323 reqDTO.setCreateIp(getClientIP());
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/unitintegraltotal/UnitIntegralServiceImpl.java
@@ -293,32 +293,32 @@ public class UnitIntegralServiceImpl implements UnitIntegralService{ @@ -293,32 +293,32 @@ public class UnitIntegralServiceImpl implements UnitIntegralService{
293 // log.info("【单位积分重置】单位积分总额表删除完成,共删除{}条数据,删除的ID列表:{}", deleteCount, idList); 293 // log.info("【单位积分重置】单位积分总额表删除完成,共删除{}条数据,删除的ID列表:{}", deleteCount, idList);
294 } 294 }
295 295
296 - // ========== 处理单位积分增加表 ==========  
297 - log.info("【单位积分重置】开始处理单位积分增加表数据");  
298 - List<UnitIntegralAddDO> unitIntegralAddList = unitIntegralAddMapper.selectList(UnitIntegralAddDO::getDeleted, 0);  
299 - if (CollectionUtils.isEmpty(unitIntegralAddList)) {  
300 - log.info("【单位积分重置】单位积分增加表无未重置数据,无需处理");  
301 - } else {  
302 - List<Long> addIdList = unitIntegralAddList.stream()  
303 - .map(UnitIntegralAddDO::getId)  
304 - .collect(Collectors.toList());  
305 - int addDeleteCount = unitIntegralAddMapper.deleteByIds(addIdList);  
306 - log.info("【单位积分重置】单位积分增加表重置完成,共重置{}条数据,重置的ID列表:{}", addDeleteCount, addIdList);  
307 - }  
308 -  
309 - // ========== 处理单位积分扣减表 ==========  
310 - log.info("【单位积分重置】开始处理单位积分扣减表数据");  
311 - List<UnitIntegralSubDO> unitIntegralSubList = unitIntegralSubMapper.selectList(UnitIntegralSubDO::getDeleted, 0);  
312 - if (CollectionUtils.isEmpty(unitIntegralSubList)) {  
313 - log.info("【单位积分重置】单位积分扣减表无未重置数据,无需处理");  
314 - } else {  
315 - List<Long> subIdList = unitIntegralSubList.stream()  
316 - .map(UnitIntegralSubDO::getId)  
317 - .collect(Collectors.toList());  
318 - int subDeleteCount = unitIntegralSubMapper.deleteByIds(subIdList);  
319 - // 修复原日志中“重置增加单位积分总额”的文案错误,改为“单位积分扣减表”  
320 - log.info("【单位积分重置】单位积分扣减表重置完成,共删除{}条数据,重置的ID列表:{}", subDeleteCount, subIdList);  
321 - } 296 +// // ========== 处理单位积分增加表 ==========
  297 +// log.info("【单位积分重置】开始处理单位积分增加表数据");
  298 +// List<UnitIntegralAddDO> unitIntegralAddList = unitIntegralAddMapper.selectList(UnitIntegralAddDO::getDeleted, 0);
  299 +// if (CollectionUtils.isEmpty(unitIntegralAddList)) {
  300 +// log.info("【单位积分重置】单位积分增加表无未重置数据,无需处理");
  301 +// } else {
  302 +// List<Long> addIdList = unitIntegralAddList.stream()
  303 +// .map(UnitIntegralAddDO::getId)
  304 +// .collect(Collectors.toList());
  305 +// int addDeleteCount = unitIntegralAddMapper.deleteByIds(addIdList);
  306 +// log.info("【单位积分重置】单位积分增加表重置完成,共重置{}条数据,重置的ID列表:{}", addDeleteCount, addIdList);
  307 +// }
  308 +//
  309 +// // ========== 处理单位积分扣减表 ==========
  310 +// log.info("【单位积分重置】开始处理单位积分扣减表数据");
  311 +// List<UnitIntegralSubDO> unitIntegralSubList = unitIntegralSubMapper.selectList(UnitIntegralSubDO::getDeleted, 0);
  312 +// if (CollectionUtils.isEmpty(unitIntegralSubList)) {
  313 +// log.info("【单位积分重置】单位积分扣减表无未重置数据,无需处理");
  314 +// } else {
  315 +// List<Long> subIdList = unitIntegralSubList.stream()
  316 +// .map(UnitIntegralSubDO::getId)
  317 +// .collect(Collectors.toList());
  318 +// int subDeleteCount = unitIntegralSubMapper.deleteByIds(subIdList);
  319 +// // 修复原日志中“重置增加单位积分总额”的文案错误,改为“单位积分扣减表”
  320 +// log.info("【单位积分重置】单位积分扣减表重置完成,共删除{}条数据,重置的ID列表:{}", subDeleteCount, subIdList);
  321 +// }
322 322
323 // 2. 记录方法执行成功 323 // 2. 记录方法执行成功
324 log.info("【单位积分重置】单位积分数据重置操作执行完成,所有表处理完毕"); 324 log.info("【单位积分重置】单位积分数据重置操作执行完成,所有表处理完毕");
urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/enums/sms/SmsSceneEnum.java
@@ -23,6 +23,7 @@ public enum SmsSceneEnum implements ArrayValuable&lt;Integer&gt; { @@ -23,6 +23,7 @@ public enum SmsSceneEnum implements ArrayValuable&lt;Integer&gt; {
23 USER_SMS_LOGIN(5, "SMS_319860269", "用户 - 手机号登陆"), 23 USER_SMS_LOGIN(5, "SMS_319860269", "用户 - 手机号登陆"),
24 YL_USER_SMS_SUBMISSION(6, "SMS_500485270", "园林派单业务催交发送短信"), 24 YL_USER_SMS_SUBMISSION(6, "SMS_500485270", "园林派单业务催交发送短信"),
25 YL_USER_SMS_REMIND_ADVANCE(7, "SMS_501726147", "园林派单业务到期前短信提醒"), 25 YL_USER_SMS_REMIND_ADVANCE(7, "SMS_501726147", "园林派单业务到期前短信提醒"),
  26 + YL_USER_SMS_SUBMISSION_TEST(8, "SMS_493695107", "园林派单业务催交发送短信-测试环境模板"),
26 27
27 ADMIN_MEMBER_LOGIN(21, "admin-sms-login", "后台用户 - 手机号登录"), 28 ADMIN_MEMBER_LOGIN(21, "admin-sms-login", "后台用户 - 手机号登录"),
28 ADMIN_MEMBER_REGISTER(22, "admin-sms-register", "后台用户 - 手机号注册"), 29 ADMIN_MEMBER_REGISTER(22, "admin-sms-register", "后台用户 - 手机号注册"),