|
@@ -24,12 +24,10 @@ import com.qmth.distributed.print.business.util.ServletUtil;
|
|
|
import com.qmth.distributed.print.common.contant.SpringContextHolder;
|
|
|
import com.qmth.distributed.print.common.contant.SystemConstant;
|
|
|
import com.qmth.distributed.print.common.enums.ExceptionResultEnum;
|
|
|
-import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
-import java.text.MessageFormat;
|
|
|
import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
@@ -49,8 +47,7 @@ public class BasicMessageServiceImpl extends ServiceImpl<BasicMessageMapper, Bas
|
|
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
@Override
|
|
|
- public void saveMessageSendLog(Long userId, String mobileNumber, Long businessId, String variableParams, MessageEnum messageType, String remark) {
|
|
|
- SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
|
|
|
+ public void saveMessageSendLog(Long userId, String mobileNumber, Long businessId, String variableParams, Long createId, MessageEnum messageType, String remark) {
|
|
|
BasicMessage basicMessage = new BasicMessage();
|
|
|
// code和content
|
|
|
Map<String, String> enumInfo = this.getCodeAndContentByEnum(messageType);
|
|
@@ -124,7 +121,7 @@ public class BasicMessageServiceImpl extends ServiceImpl<BasicMessageMapper, Bas
|
|
|
basicMessage.setMobileNumber(mobileNumber);
|
|
|
basicMessage.setBusinessId(businessId);
|
|
|
basicMessage.setVariableParams(variableParams);
|
|
|
- basicMessage.setCreateId(sysUser.getId());
|
|
|
+ basicMessage.setCreateId(createId);
|
|
|
basicMessage.setMessageType(messageType);
|
|
|
basicMessage.setRemark(remark);
|
|
|
basicMessage.setResendCount(0);
|
|
@@ -163,7 +160,7 @@ public class BasicMessageServiceImpl extends ServiceImpl<BasicMessageMapper, Bas
|
|
|
jsonMap.put("courseName", courseName);
|
|
|
jsonMap.put("paperNumber", paperNumber);
|
|
|
String variableParams = JSON.toJSONString(jsonMap);
|
|
|
- this.saveMessageSendLog(userId, mobileNumber, examTaskId, variableParams, messageType, null);
|
|
|
+ this.saveMessageSendLog(userId, mobileNumber, examTaskId, variableParams, sysUser.getId(), messageType, null);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -177,6 +174,7 @@ public class BasicMessageServiceImpl extends ServiceImpl<BasicMessageMapper, Bas
|
|
|
*/
|
|
|
@Override
|
|
|
public void sendNoticeTaskCreate(ExamTask... examTasks) {
|
|
|
+ SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
|
|
|
// 指派命题老师的命题任务
|
|
|
Map<Long, List<String>> collects = Arrays.stream(examTasks).filter(m -> m.getUserId() != null).collect(Collectors.groupingBy(ExamTask::getUserId, Collectors.mapping(m -> String.valueOf(m.getId()), Collectors.toList())));
|
|
|
for (Map.Entry<Long, List<String>> longListEntry : collects.entrySet()) {
|
|
@@ -191,13 +189,49 @@ public class BasicMessageServiceImpl extends ServiceImpl<BasicMessageMapper, Bas
|
|
|
jsonMap.put("userName", userName);
|
|
|
jsonMap.put("count", ids.size());
|
|
|
String variableParams = JSON.toJSONString(jsonMap);
|
|
|
- String remark = String.format("命题任务ID:s%", String.join(",", ids));
|
|
|
- this.saveMessageSendLog(userId, mobileNumber, null, variableParams, MessageEnum.NOTICE_OF_AUDIT_CREATED, remark);
|
|
|
+ String remark = String.format("命题任务ID:%s", String.join(",", ids));
|
|
|
+ this.saveMessageSendLog(userId, mobileNumber, null, variableParams, sysUser.getId(), MessageEnum.NOTICE_OF_EXAM_TASK_CREATED, remark);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private void checkData(Object ... objects) {
|
|
|
+ @Override
|
|
|
+ public void sendNoticeTaskAuditCreateOrReview(ExamTask examTask, MessageEnum messageType) {
|
|
|
+ SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
|
|
|
+ // 考务老师(命题任务创建人)
|
|
|
+ Long userId = examTask.getCreateId();
|
|
|
+ SysUser user = cacheService.userCache(userId);
|
|
|
+ if (Objects.nonNull(user)) {
|
|
|
+ String userName = user.getRealName();
|
|
|
+ String mobileNumber = user.getMobileNumber();
|
|
|
+
|
|
|
+ Map<String, Object> jsonMap = new HashMap<>();
|
|
|
+ jsonMap.put("userName", userName);
|
|
|
+ jsonMap.put("courseName", examTask.getCourseName());
|
|
|
+ jsonMap.put("paperNumber", examTask.getPaperNumber());
|
|
|
+ String variableParams = JSON.toJSONString(jsonMap);
|
|
|
+ String remark = String.format("命题任务ID:%s", examTask.getId().toString());
|
|
|
+ this.saveMessageSendLog(userId, mobileNumber, examTask.getId(), variableParams, sysUser.getId(), messageType, remark);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void sendNoticeExpireOrOverdue(MessageEnum messageType, Long userId, List<String> ids) {
|
|
|
+ // 考务老师(命题任务创建人)
|
|
|
+ SysUser user = cacheService.userCache(userId);
|
|
|
+ if (Objects.nonNull(user)) {
|
|
|
+ String userName = user.getRealName();
|
|
|
+ String mobileNumber = user.getMobileNumber();
|
|
|
+ Map<String, Object> jsonMap = new HashMap<>();
|
|
|
+ jsonMap.put("userName", userName);
|
|
|
+ jsonMap.put("count", ids.size());
|
|
|
+ String variableParams = JSON.toJSONString(jsonMap);
|
|
|
+ String remark = String.format("命题任务ID:%s", String.join(",", ids));
|
|
|
+ this.saveMessageSendLog(userId, mobileNumber, null, variableParams, null, messageType, remark);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private void checkData(Object... objects) {
|
|
|
for (Object object : objects) {
|
|
|
if (Objects.isNull(object)) {
|
|
|
throw ExceptionResultEnum.ERROR.exception("调用发送短信方法时必传参数缺失");
|
|
@@ -217,8 +251,8 @@ public class BasicMessageServiceImpl extends ServiceImpl<BasicMessageMapper, Bas
|
|
|
|
|
|
private Map<String, String> getCodeAndContentByEnum(MessageEnum messageEnum) {
|
|
|
Map<String, String> result = new HashMap<>();
|
|
|
- String templateContent;
|
|
|
- String templateCode;
|
|
|
+ String templateContent = null;
|
|
|
+ String templateCode = null;
|
|
|
switch (messageEnum) {
|
|
|
case NOTICE_OF_AUDIT_PASS:
|
|
|
templateCode = dictionaryConfig.smsDomain().getAliyunSMSAuditPassCode();
|
|
@@ -228,8 +262,6 @@ public class BasicMessageServiceImpl extends ServiceImpl<BasicMessageMapper, Bas
|
|
|
templateCode = dictionaryConfig.smsDomain().getAliyunSMSAuditNotPassCode();
|
|
|
templateContent = messageEnum.getTemplate();
|
|
|
break;
|
|
|
- default:
|
|
|
- throw new IllegalStateException("Unexpected value: " + messageEnum);
|
|
|
}
|
|
|
result.put("templateContent", templateContent);
|
|
|
result.put("templateCode", templateCode);
|