Commit c1cf0e8a2ea058ca95680aa15df30c92b07dc252
1 parent
1e0bb24c
派单短信催办短信模板修改
Showing
5 changed files
with
46 additions
and
47 deletions
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<Integer> { |
| 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", "后台用户 - 手机号注册"), | ... | ... |