|
@@ -2,14 +2,18 @@ package com.qmth.sop.task.job;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.qmth.sop.business.bean.result.FlowTaskSmsResult;
|
|
|
+import com.qmth.sop.business.entity.SysMessage;
|
|
|
import com.qmth.sop.business.entity.SysUser;
|
|
|
import com.qmth.sop.business.entity.TSJobRemind;
|
|
|
+import com.qmth.sop.business.service.SysMessageService;
|
|
|
import com.qmth.sop.business.service.SysUserService;
|
|
|
import com.qmth.sop.business.service.TSJobRemindService;
|
|
|
import com.qmth.sop.business.util.SmsSendUtil;
|
|
|
import com.qmth.sop.common.contant.SystemConstant;
|
|
|
import com.qmth.sop.common.enums.JobQuartzTypeEnum;
|
|
|
import com.qmth.sop.common.enums.JobTypeEnum;
|
|
|
+import com.qmth.sop.common.enums.MessageEnum;
|
|
|
+import com.qmth.sop.common.enums.MessageTypeEnum;
|
|
|
import org.quartz.JobDataMap;
|
|
|
import org.quartz.JobExecutionContext;
|
|
|
import org.quartz.JobExecutionException;
|
|
@@ -19,10 +23,7 @@ import org.springframework.scheduling.quartz.QuartzJobBean;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
-import java.util.HashMap;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
-import java.util.Objects;
|
|
|
+import java.util.*;
|
|
|
|
|
|
/**
|
|
|
* @Description: 流程任务执行job
|
|
@@ -43,6 +44,9 @@ public class RemindTaskJob extends QuartzJobBean {
|
|
|
@Resource
|
|
|
SysUserService sysUserService;
|
|
|
|
|
|
+ @Resource
|
|
|
+ SysMessageService sysMessageService;
|
|
|
+
|
|
|
@Override
|
|
|
@Transactional
|
|
|
protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
|
|
@@ -55,15 +59,49 @@ public class RemindTaskJob extends QuartzJobBean {
|
|
|
if (Objects.nonNull(tsJobRemind)) {//数据还在则说明要发送提醒短信
|
|
|
if (tsJobRemind.getType() == JobQuartzTypeEnum.FLOW) {//流程发送短信
|
|
|
FlowTaskSmsResult flowTaskSmsResult = tsJobRemindService.getFlowTaskRemindSmsInfo(tsJobRemind.getId());
|
|
|
+ Map<String, Object> templateParam = new HashMap<>();
|
|
|
+ templateParam.put("userName", flowTaskSmsResult.getRealName());
|
|
|
+
|
|
|
+ SysMessage sysMessage = null;
|
|
|
+ String configKey = null, content = null;
|
|
|
if (Objects.nonNull(flowTaskSmsResult)) {
|
|
|
String[] strs = tsJobRemind.getObjName().split(";");
|
|
|
- Map<String, Object> templateParam = new HashMap<>();
|
|
|
- templateParam.put("code", "test");
|
|
|
- if (tsJobRemind.getRemindType() == JobTypeEnum.BEFORE) {
|
|
|
- smsSendUtil.sendSms(flowTaskSmsResult.getMobileNumber(), SystemConstant.SMS_TPL_CODE, templateParam);
|
|
|
+ if (tsJobRemind.getRemindType() == JobTypeEnum.BEFORE) {//教务处SOP和云阅卷SOP
|
|
|
+ content = MessageEnum.NOTICE_OF_SOP_DONE_REMIND.getTemplate();
|
|
|
+ content = content.replaceAll("\\$\\{userName\\}", flowTaskSmsResult.getRealName());
|
|
|
+ content = content.replaceAll("\\$\\{serviceName\\}", flowTaskSmsResult.getServiceName());
|
|
|
+ content = content.replaceAll("\\$\\{customName\\}", flowTaskSmsResult.getCustomName());
|
|
|
+ content = content.replaceAll("\\$\\{flowName\\}", strs[0] + "【" + strs[1] + "】");
|
|
|
+
|
|
|
+ configKey = SystemConstant.SMS_TPL_CODE;
|
|
|
+ templateParam.put("serviceName", flowTaskSmsResult.getServiceName());
|
|
|
+ templateParam.put("customName", flowTaskSmsResult.getCustomName());
|
|
|
+ templateParam.put("flowName", strs[0] + "【" + strs[1] + "】");
|
|
|
+
|
|
|
+ sysMessage = new SysMessage(flowTaskSmsResult.getCrmNo(), tsJobRemind.getCode(),
|
|
|
+ MessageTypeEnum.BEFORE,
|
|
|
+ flowTaskSmsResult.getType().name(), flowTaskSmsResult.getServiceId(), flowTaskSmsResult.getUserId(), content);
|
|
|
} else if (tsJobRemind.getRemindType() == JobTypeEnum.AFTER) {
|
|
|
- smsSendUtil.sendSms(flowTaskSmsResult.getMobileNumber(), SystemConstant.SMS_TPL_CODE, templateParam);
|
|
|
+ content = MessageEnum.NOTICE_OF_DELAY_REMIND.getTemplate();
|
|
|
+ content = content.replaceAll("\\$\\{userName\\}", flowTaskSmsResult.getRealName());
|
|
|
+ content = content.replaceAll("\\$\\{serviceName\\}", flowTaskSmsResult.getServiceName());
|
|
|
+ content = content.replaceAll("\\$\\{customName\\}", flowTaskSmsResult.getCustomName());
|
|
|
+ content = content.replaceAll("\\$\\{flowName\\}", strs[0] + "【" + strs[1] + "】");
|
|
|
+
|
|
|
+ configKey = SystemConstant.SMS_TPL_CODE;
|
|
|
+ templateParam.put("serviceName", flowTaskSmsResult.getServiceName());
|
|
|
+ templateParam.put("customName", flowTaskSmsResult.getCustomName());
|
|
|
+ templateParam.put("flowName", strs[0] + "【" + strs[1] + "】");
|
|
|
+
|
|
|
+ sysMessage = new SysMessage(flowTaskSmsResult.getCrmNo(), tsJobRemind.getCode(),
|
|
|
+ MessageTypeEnum.AFTER,
|
|
|
+ flowTaskSmsResult.getType().name(), flowTaskSmsResult.getServiceId(), flowTaskSmsResult.getUserId(), content);
|
|
|
}
|
|
|
+ //发送消息
|
|
|
+ sysMessageService.saveSysMessage(Arrays.asList(sysMessage));
|
|
|
+
|
|
|
+ //发送短信
|
|
|
+ smsSendUtil.sendSms(flowTaskSmsResult.getMobileNumber(), configKey, templateParam);
|
|
|
}
|
|
|
} else if (tsJobRemind.getType() == JobQuartzTypeEnum.NOTICE) {//公告发送短信
|
|
|
if (tsJobRemind.getRemindType() == JobTypeEnum.AFTER) {
|