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 29  
30 30 /* 催办短信场景配置*/
31 31 public static final int ASSIGN_TASK_SCENE = 6;
  32 + /* 催办短信场景配置--测试环境*/
  33 + public static final int ASSIGN_TASK_SCENE_TEST = 8;
32 34 /* 到期短信场景配置*/
33 35 public static final int ASSIGN_TASK_REMIND_ADVANCE_SCENE = 7;
34   - //截至日期3小时
  36 + //截至日期3小时 -发短信使用
35 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 20 import org.springframework.stereotype.Service;
21 21  
22 22 import java.time.LocalDateTime;
23   -import java.time.ZoneId;
24   -import java.time.format.DateTimeFormatter;
25 23 import java.util.HashMap;
26 24 import java.util.List;
27 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 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 3 import com.alibaba.fastjson.JSONObject;
4 4 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
5 5 import com.zteits.urbanops.framework.common.pojo.PageResult;
  6 +import com.zteits.urbanops.framework.common.util.date.DateUtils;
6 7 import com.zteits.urbanops.framework.common.util.object.BeanUtils;
7 8 import com.zteits.urbanops.module.garden.controller.admin.assigntasksinfo.vo.AssignTasksInfoPageReqVO;
8 9 import com.zteits.urbanops.module.garden.controller.admin.assigntasksinfo.vo.AssignTasksInfoSaveReqVO;
... ... @@ -26,6 +27,7 @@ import jakarta.annotation.Resource;
26 27 import lombok.extern.slf4j.Slf4j;
27 28 import org.apache.commons.collections4.CollectionUtils;
28 29 import org.quartz.SchedulerException;
  30 +import org.springframework.beans.factory.annotation.Value;
29 31 import org.springframework.stereotype.Service;
30 32 import org.springframework.transaction.annotation.Transactional;
31 33 import org.springframework.validation.annotation.Validated;
... ... @@ -77,20 +79,16 @@ public class AssignTasksInfoServiceImpl implements AssignTasksInfoService {
77 79 @Resource
78 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 83 // 提前提醒(3小时)
89 84 private static final long REMIND_ADVANCE_HOURS = 3L;
90 85  
  86 + @Value("${spring.profiles.active}")
  87 + private String profilesServer;
  88 +
91 89 // 1. 定义线程安全的格式化器(全局复用,无需重复创建)
92 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 92 .withZone(ZoneId.of("GMT+8")); // 时区与之前配置一致,避免偏移
95 93 @Override
96 94 public Long createAssignTasksInfo(AssignTasksInfoSaveReqVO createReqVO) {
... ... @@ -187,13 +185,13 @@ public class AssignTasksInfoServiceImpl implements AssignTasksInfoService {
187 185 public void createRemindJob(LocalDateTime deadline, Long id){
188 186  
189 187 // 2. 计算:当前时间 + 3小时 是否超过截止时间(即截止时间不足3小时)
190   - LocalDateTime now = LocalDateTime.now(DEFAULT_ZONE); // 当前东八区时间
  188 + LocalDateTime now = LocalDateTime.now(DateUtils.DEFAULT_ZONE); // 当前东八区时间
191 189 LocalDateTime remindThreshold = now.plusHours(REMIND_ADVANCE_HOURS);
192 190  
193 191 //核心判断:截止时间 <= (当前时间+3小时),不创建定时任务
194 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 195 log.info("任务ID={} 无需创建定时任务:截止时间={},不足{}小时(阈值时间={})",
198 196 id, formattedDeadline, REMIND_ADVANCE_HOURS, formattedThreshold);
199 197 return; // 直接返回,不创建定时任务
... ... @@ -201,12 +199,12 @@ public class AssignTasksInfoServiceImpl implements AssignTasksInfoService {
201 199  
202 200 // 3. 安全转换LocalDateTime到Date(指定东八区,避免时区问题)
203 201 Date triggerDate = Date.from(
204   - deadline.atZone(DEFAULT_ZONE) // 绑定东八区(业务时区)
  202 + deadline.atZone(DateUtils.DEFAULT_ZONE) // 绑定东八区(业务时区)
205 203 .toInstant() // 转为Instant
206 204 );
207 205  
208 206 // 4. 规范日志输出(使用占位符,格式化时间)
209   - String formattedDeadline = deadline.format(DATE_FORMATTER);
  207 + String formattedDeadline = deadline.format(DateUtils.DATE_FORMATTER);
210 208 log.info("创建定时任务:任务ID={}, 截止时间(LocalDateTime)={}, 转换后Date时间={}",
211 209 id,
212 210 formattedDeadline,
... ... @@ -315,7 +313,11 @@ public class AssignTasksInfoServiceImpl implements AssignTasksInfoService {
315 313 continue;
316 314 }
317 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 321 reqDTO.setMobile(phonenumber);//手机号
320 322 reqDTO.setTemplateParams(templateParams);//短信参数
321 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 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 323 // 2. 记录方法执行成功
324 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 23 USER_SMS_LOGIN(5, "SMS_319860269", "用户 - 手机号登陆"),
24 24 YL_USER_SMS_SUBMISSION(6, "SMS_500485270", "园林派单业务催交发送短信"),
25 25 YL_USER_SMS_REMIND_ADVANCE(7, "SMS_501726147", "园林派单业务到期前短信提醒"),
  26 + YL_USER_SMS_SUBMISSION_TEST(8, "SMS_493695107", "园林派单业务催交发送短信-测试环境模板"),
26 27  
27 28 ADMIN_MEMBER_LOGIN(21, "admin-sms-login", "后台用户 - 手机号登录"),
28 29 ADMIN_MEMBER_REGISTER(22, "admin-sms-register", "后台用户 - 手机号注册"),
... ...