caozixuan 4 anos atrás
pai
commit
d19c157558

+ 21 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/domain/SmsDomain.java

@@ -19,6 +19,10 @@ public class SmsDomain {
 
     String aliyunSMSTplCode;
 
+    String aliyunSMSAuditPassCode;
+
+    String aliyunSMSAuditNotPassCode;
+
     public String getSmsNormalCode() {
         return smsNormalCode;
     }
@@ -74,4 +78,21 @@ public class SmsDomain {
     public void setAliyunSMSTplCode(String aliyunSMSTplCode) {
         this.aliyunSMSTplCode = aliyunSMSTplCode;
     }
+
+    public String getAliyunSMSAuditPassCode() {
+        return aliyunSMSAuditPassCode;
+    }
+
+    public void setAliyunSMSAuditPassCode(String aliyunSMSAuditPassCode) {
+        this.aliyunSMSAuditPassCode = aliyunSMSAuditPassCode;
+    }
+
+    public String getAliyunSMSAuditNotPassCode() {
+        return aliyunSMSAuditNotPassCode;
+    }
+
+    public void setAliyunSMSAuditNotPassCode(String aliyunSMSAuditNotPassCode) {
+        this.aliyunSMSAuditNotPassCode = aliyunSMSAuditNotPassCode;
+    }
+
 }

+ 3 - 14
distributed-print-business/src/main/java/com/qmth/distributed/print/business/enums/MessageEnum.java

@@ -7,29 +7,18 @@ package com.qmth.distributed.print.business.enums;
  */
 public enum MessageEnum {
 
-    NOTICE_OF_AUDIT_PASS("审核通过通知","SMS_1474165652","【审核通过】XX您好,【XXXX】(课程)、【XXXX】(试卷编号)试卷入库申请已通过,您可在卷库里进行查看已审核通过的试卷!"),
-    NOTICE_OF_AUDIT_NOT_PASS("审核不通过通知","SMS_147416565","【审核不通过】XX您好,【XXXX】(课程)、【XXXX】(试卷编号)试卷入库申请未通过,您可查看审核意见后重新提交入库申请!"),
+    NOTICE_OF_AUDIT_PASS("审核通过通知"),
+    NOTICE_OF_AUDIT_NOT_PASS("审核不通过通知"),
     ;
 
-    MessageEnum(String name, String templateCode, String templateContent) {
+    MessageEnum(String name) {
         this.name = name;
-        this.templateCode = templateCode;
-        this.templateContent = templateContent;
     }
 
     private final String name;
-    private final String templateCode;
-    private final String templateContent;
 
     public String getName() {
         return name;
     }
 
-    public String getTemplateCode() {
-        return templateCode;
-    }
-
-    public String getTemplateContent() {
-        return templateContent;
-    }
 }

+ 28 - 3
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicMessageServiceImpl.java

@@ -25,6 +25,8 @@ import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
 import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
 
 /**
  * @Description: 短信消息发送
@@ -45,8 +47,9 @@ public class BasicMessageServiceImpl extends ServiceImpl<BasicMessageMapper, Bas
         this.checkData(userId,mobileNumber,businessId,variableParams,createId,messageType);
 
         // code和content
-        String templateCode = messageType.getTemplateCode();
-        String templateContent = messageType.getTemplateContent();
+        Map<String,String> enumInfo = this.getCodeAndContentByEnum(messageType);
+        String templateCode = enumInfo.get("templateCode");
+        String templateContent = enumInfo.get("templateContent");
 
 
         // 短信提示系统是否启用配置验证
@@ -107,7 +110,7 @@ public class BasicMessageServiceImpl extends ServiceImpl<BasicMessageMapper, Bas
                 basicMessage.setBusinessOperate(messageType.getName());
                 basicMessage.setCreateTime(System.currentTimeMillis());
                 basicMessage.setTemplateCode(templateCode);
-                basicMessage.setTemplateContent(templateContent);
+//                basicMessage.setTemplateContent(templateContent);
                 basicMessage.setSendStatus(sendSmsResponse.getCode());
                 basicMessage.setSendResult(sendSmsResponse.getMessage());
                 this.save(basicMessage);
@@ -134,4 +137,26 @@ public class BasicMessageServiceImpl extends ServiceImpl<BasicMessageMapper, Bas
             }
         }
     }
+
+    private Map<String,String> getCodeAndContentByEnum(MessageEnum messageEnum){
+        Map<String,String> result = new HashMap<>();
+        String templateContent;
+        String templateCode;
+        switch (messageEnum){
+            case NOTICE_OF_AUDIT_PASS:
+                // ${userName}您好,${courseName}、${paperNumber}试卷入库申请已通过,您可在卷库里进行查看已审核通过的试卷!
+                templateCode = dictionaryConfig.smsDomain().getAliyunSMSAuditPassCode();
+                templateContent = "${userName}您好,${courseName}、${paperNumber}试卷入库申请已通过,您可在卷库里进行查看已审核通过的试卷!";
+                break;
+            case NOTICE_OF_AUDIT_NOT_PASS:
+                templateCode = dictionaryConfig.smsDomain().getAliyunSMSAuditNotPassCode();
+                templateContent = "${userName}您好,${courseName}、${paperNumber}试卷入库申请未通过,您可查看审核意见后重新提交入库申请";
+                break;
+            default:
+                throw new IllegalStateException("Unexpected value: " + messageEnum);
+        }
+        result.put("templateContent",templateContent);
+        result.put("templateCode",templateCode);
+        return result;
+    }
 }

+ 6 - 8
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamPrintPlanServiceImpl.java

@@ -1,9 +1,7 @@
 package com.qmth.distributed.print.business.service.impl;
 
-import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -23,7 +21,6 @@ import com.qmth.distributed.print.business.service.*;
 import com.qmth.distributed.print.business.util.ServletUtil;
 import com.qmth.distributed.print.common.contant.SystemConstant;
 import com.qmth.distributed.print.common.enums.ExceptionResultEnum;
-import io.swagger.annotations.Example;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -31,7 +28,6 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
-import java.io.File;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -67,6 +63,9 @@ public class ExamPrintPlanServiceImpl extends ServiceImpl<ExamPrintPlanMapper, E
     @Resource
     private BasicExamRuleService basicExamRuleService;
 
+    @Resource
+    private TBTaskService tbTaskService;
+
     @Transactional(rollbackFor = Exception.class)
     @Override
     public IPage<PrintPlanResult> printPlanPage(Long schoolId, Long printPlanId, PrintPlanStatusEnum status, Long startTime, Long endTime, int pageNumber, int pageSize) {
@@ -246,13 +245,12 @@ public class ExamPrintPlanServiceImpl extends ServiceImpl<ExamPrintPlanMapper, E
         if (examPrintPlan == null) {
             throw ExceptionResultEnum.ERROR.exception("要删除的项目计划不存在");
         }
-        // TODO: 2021/4/23 只有新建能删除  && !PrintPlanStatusEnum.READY.equals(examPrintPlan.getStatus())
         if (!PrintPlanStatusEnum.NEW.equals(examPrintPlan.getStatus())) {
             throw ExceptionResultEnum.ERROR.exception("只有'新建'状态的项目计划可以被删除");
         }
-//        if (!PrintPlanStatusEnum.NEW.equals(examPrintPlan.getStatus()) && !PrintPlanStatusEnum.READY.equals(examPrintPlan.getStatus())){
-//            throw ExceptionResultEnum.ERROR.exception("只有'新建'和就绪状态的项目计划可以被删除");
-//        }
+        if (!tbTaskService.countByPrintPlanIdAndEntityId(examPrintPlan.getSchoolId(),id,null)){
+            throw ExceptionResultEnum.ERROR.exception("要删除的印刷计划正在生成pdf中,无法删除");
+        }
         examDetailService.deleteExaminationData(id);
         return this.removeById(id);
     }

+ 8 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/templete/service/impl/TaskLogicServiceImpl.java

@@ -112,6 +112,9 @@ public class TaskLogicServiceImpl implements TaskLogicService {
     @Resource
     BasicExamRuleService basicExamRuleService;
 
+    @Resource
+    TBTaskService tbTaskService;
+
     /**
      * 创建pdf逻辑
      *
@@ -380,6 +383,10 @@ public class TaskLogicServiceImpl implements TaskLogicService {
         TBTask tbTask = (TBTask) map.get(SystemConstant.TASK);
         InputStream inputStream = (InputStream) map.get("inputStream");
         Long printPlanId = tbTask.getPrintPlanId();
+        Long schoolId = tbTask.getSchoolId();
+        if (!tbTaskService.countByPrintPlanIdAndEntityId(schoolId,printPlanId,null)){
+            throw ExceptionResultEnum.ERROR.exception("当前印刷计划正在生成pdf,无法导入考务数据");
+        }
         Long userId = tbTask.getCreateId();
         ExamPrintPlan examPrintPlan = examPrintPlanService.getById(printPlanId);
 
@@ -393,7 +400,7 @@ public class TaskLogicServiceImpl implements TaskLogicService {
         }
 
         String printPlanName = examPrintPlan.getName();
-        Long schoolId = tbTask.getSchoolId();
+
         // 该学校有效考务数据
         List<FieldsDto> fieldsDtoList = examDetailService.findExaminationFields(schoolId);
         if (fieldsDtoList.size() == 0) {

+ 18 - 24
distributed-print/src/test/java/com/qmth/distributed/print/ServiceTest.java

@@ -1,11 +1,10 @@
 package com.qmth.distributed.print;
 
-import com.qmth.distributed.print.api.ExamDetailController;
+import com.alibaba.fastjson.JSON;
 import com.qmth.distributed.print.business.bean.result.TemplatePrintInfoResult;
 import com.qmth.distributed.print.business.enums.MessageEnum;
 import com.qmth.distributed.print.business.service.*;
 import com.qmth.distributed.print.business.util.ConvertUtil;
-import com.qmth.distributed.print.business.util.OssUtil;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.springframework.boot.test.context.SpringBootTest;
@@ -13,6 +12,7 @@ import org.springframework.test.context.junit4.SpringRunner;
 
 import javax.annotation.Resource;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -31,22 +31,18 @@ public class ServiceTest {
     @Resource
     private ExamDetailService examDetailService;
     @Resource
-    private ExamDetailController examDetailController;
-    @Resource
-    OssUtil ossUtil;
-    @Resource
     private BasicMessageService basicMessageService;
     @Resource
     private BasicVerifyCodeService basicVerifyCodeService;
 
 
     @Test
-    public void printPlanTemplateDatasource(){
-        examPrintPlanService.printPlanTemplateDatasource(1L,2L);
+    public void printPlanTemplateDatasource() {
+        examPrintPlanService.printPlanTemplateDatasource(1L, 2L);
     }
 
     @Test
-    public void mapper(){
+    public void mapper() {
         List<Long> ids = new ArrayList<>();
         ids.add(1L);
         ids.add(9L);
@@ -57,16 +53,16 @@ public class ServiceTest {
     }
 
     @Test
-    public void readExcelTest(){
+    public void readExcelTest() {
         examDetailService.findExaminationFields(101L);
     }
 
     @Test
-    public void date(){
+    public void date() {
         Long startTime = 1618308000000L;
         Long endTime = 1618315200000L;
 
-        Map<String,Object> map = ConvertUtil.analyzeDateAndTime(startTime,endTime);
+        Map<String, Object> map = ConvertUtil.analyzeDateAndTime(startTime, endTime);
         String date = String.valueOf(map.get("date"));
         String time = String.valueOf(map.get("time"));
         System.out.println("date = " + date);
@@ -75,27 +71,25 @@ public class ServiceTest {
     }
 
     @Test
-    public void uploadOss(){
-//        String pdfDirName = "upload/2021/04/20/test1.pdf";
-//        String pdfFilePath = "E:\\qiming\\qiming_dev\\distribution-print\\v2.0\\dev\\pdf-temp\\upload/2021/04/20/1eacef5479f74d72ab4a924468e80d73.pdf"
-//        ossUtil.ossUpload(pdfDirName, pdfFile, BinaryUtil.toBase64String(HexUtils.decodeHex(fileMd5)));
-    }
-
-    @Test
-    public void sendMessage(){
+    public void sendMessage() {
         Long userId = 1L;
         String mobileNumber = "18903719928";
         Long businessId = 1L;
-        String variableParams = "{\"code\":\"" + "123456" + "\"}";
+        Map<String, String> jsonMap = new HashMap<>();
+        jsonMap.put("name", "张三");
+        jsonMap.put("courseName", "数学");
+        jsonMap.put("paperNumber", "SX001");
+        String variableParams = JSON.toJSONString(jsonMap);
+//        String variableParams = "{\"code\":\"" + "123456" + "\"}";
         Long createId = 1L;
         MessageEnum messageType = MessageEnum.NOTICE_OF_AUDIT_NOT_PASS;
 
-        basicMessageService.saveMessageSendLog(userId,mobileNumber,businessId,variableParams,createId,messageType);
+        basicMessageService.saveMessageSendLog(userId, mobileNumber, businessId, variableParams, createId, messageType);
     }
 
     @Test
-    public void sendVerifyCode(){
-        basicVerifyCodeService.sendVeirfyCode("18903719928",1L);
+    public void sendVerifyCode() {
+        basicVerifyCodeService.sendVeirfyCode("18903719928", 1L);
     }
 
 }