瀏覽代碼

测试bug

xiaof 4 年之前
父節點
當前提交
bd04be36ce
共有 27 個文件被更改,包括 318 次插入114 次删除
  1. 6 17
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/ExamTask.java
  2. 4 2
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/enums/ExamStatusEnum.java
  3. 1 2
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/ExamTaskMapper.java
  4. 3 1
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/SysUserMapper.java
  5. 2 6
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/ExamTaskDetailService.java
  6. 7 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/ExamTaskService.java
  7. 1 1
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/SysConfigService.java
  8. 3 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/SysUserService.java
  9. 5 1
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicCardRuleServiceImpl.java
  10. 2 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicCourseServiceImpl.java
  11. 58 2
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicExamRuleServiceImpl.java
  12. 2 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicTemplateServiceImpl.java
  13. 4 3
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicVerifyCodeServiceImpl.java
  14. 0 45
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamTaskDetailServiceImpl.java
  15. 114 5
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamTaskServiceImpl.java
  16. 2 2
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/SysConfigServiceImpl.java
  17. 2 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/SysOrgServiceImpl.java
  18. 2 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/SysPrivilegeServiceImpl.java
  19. 2 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/SysRoleServiceImpl.java
  20. 13 8
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/SysUserServiceImpl.java
  21. 3 2
      distributed-print-business/src/main/resources/db/init-table.sql
  22. 8 3
      distributed-print-business/src/main/resources/mapper/ExamTaskMapper.xml
  23. 25 0
      distributed-print-business/src/main/resources/mapper/SysUserMapper.xml
  24. 1 1
      distributed-print/src/main/java/com/qmth/distributed/print/api/BasicCardRuleController.java
  25. 28 12
      distributed-print/src/main/java/com/qmth/distributed/print/api/ExamTaskController.java
  26. 2 1
      distributed-print/src/main/java/com/qmth/distributed/print/api/SysConfigController.java
  27. 18 0
      distributed-print/src/main/java/com/qmth/distributed/print/api/SysUserController.java

+ 6 - 17
distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/ExamTask.java

@@ -30,9 +30,6 @@ public class ExamTask extends BaseEntity implements Serializable {
     @TableField("school_id")
     private Long schoolId;
 
-    @JsonSerialize(using = ToStringSerializer.class)
-    @TableField("exam_print_plan_id")
-    private Long examPrintPlanId;
     /**
      * 课程代码
      */
@@ -56,12 +53,12 @@ public class ExamTask extends BaseEntity implements Serializable {
      * 命题开始时间
      */
     @TableField("start_time")
-    private Date startTime;
+    private Long startTime;
     /**
      * 命题结束时间
      */
     @TableField("end_time")
-    private Date endTime;
+    private Long endTime;
     /**
      * 题卡规则
      */
@@ -105,14 +102,6 @@ public class ExamTask extends BaseEntity implements Serializable {
         this.schoolId = schoolId;
     }
 
-    public Long getExamPrintPlanId() {
-        return examPrintPlanId;
-    }
-
-    public void setExamPrintPlanId(Long examPrintPlanId) {
-        this.examPrintPlanId = examPrintPlanId;
-    }
-
     public String getCourseCode() {
         return courseCode;
     }
@@ -145,19 +134,19 @@ public class ExamTask extends BaseEntity implements Serializable {
         this.paperNumber = paperNumber;
     }
 
-    public Date getStartTime() {
+    public Long getStartTime() {
         return startTime;
     }
 
-    public void setStartTime(Date startTime) {
+    public void setStartTime(Long startTime) {
         this.startTime = startTime;
     }
 
-    public Date getEndTime() {
+    public Long getEndTime() {
         return endTime;
     }
 
-    public void setEndTime(Date endTime) {
+    public void setEndTime(Long endTime) {
         this.endTime = endTime;
     }
 

+ 4 - 2
distributed-print-business/src/main/java/com/qmth/distributed/print/business/enums/ExamStatusEnum.java

@@ -12,8 +12,10 @@ import java.util.List;
 public enum ExamStatusEnum {
 
     NEW("新建"),
-    STAGE("暂存"),
-    SUBMIT("提交"),
+    READY("待命题"),
+    STAGE("进行中"),
+    SUBMIT("待审核"),
+    FINISH("已完成"),
     CANCEL("撤回");
 
     ExamStatusEnum(String desc) {

+ 1 - 2
distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/ExamTaskMapper.java

@@ -8,7 +8,6 @@ import com.qmth.distributed.print.business.bean.dto.ExamTaskDetailDto;
 import com.qmth.distributed.print.business.bean.dto.ExamTaskDto;
 import com.qmth.distributed.print.business.bean.dto.RelatePaperDto;
 import com.qmth.distributed.print.business.entity.ExamTask;
-import com.qmth.distributed.print.business.entity.ExamTaskDetail;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -27,7 +26,7 @@ public interface ExamTaskMapper extends BaseMapper<ExamTask> {
 
     List<BlurryUserDto> listUser(@Param("schoolId") Long schoolId, @Param("param") String param);
 
-    IPage<ExamTaskDto> listTaskApply(Page<ExamTaskDto> page, @Param("schoolId") Long schoolId, @Param("auditStatus") String auditStatus, @Param("reviewStatus") String reviewStatus, @Param("cardRuleId") Long cardRuleId, @Param("courseCode") String courseCode, @Param("paperNumber") String paperNumber, @Param("startTime") Long startTime, @Param("endTime") Long endTime);
+    IPage<ExamTaskDto> listTaskApply(Page<ExamTaskDto> page, @Param("schoolId") Long schoolId, @Param("auditStatus") String auditStatus, @Param("reviewStatus") String reviewStatus, @Param("cardRuleId") Long cardRuleId, @Param("courseCode") String courseCode, @Param("paperNumber") String paperNumber, @Param("startTime") Long startTime, @Param("endTime") Long endTime, @Param("status") String[] status);
 
     IPage<ExamTaskDto> listTaskReviewUnaudited(Page<ExamTaskDto> page, @Param("schoolId") Long schoolId, @Param("courseCode") String courseCode, @Param("paperNumber") String paperNumber, @Param("userId") Long userId, @Param("cardRuleId") Long cardRuleId, @Param("startTime") Long startTime, @Param("endTime") Long endTime);
 

+ 3 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/SysUserMapper.java

@@ -3,10 +3,10 @@ package com.qmth.distributed.print.business.mapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.qmth.distributed.print.business.bean.dto.BlurryUserDto;
 import com.qmth.distributed.print.business.bean.dto.UserDto;
 import com.qmth.distributed.print.business.bean.dto.excel.UserExportDto;
 import com.qmth.distributed.print.business.bean.query.ArraysParams;
-import com.qmth.distributed.print.business.bean.query.UserParam;
 import com.qmth.distributed.print.business.entity.SysUser;
 import org.apache.ibatis.annotations.Param;
 
@@ -31,4 +31,6 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
      * @return
      */
     public List<UserExportDto> queryByExport(@Param("arraysParams") ArraysParams arraysParams);
+
+    List<BlurryUserDto> listUser(@Param("schoolId") Long schoolId, @Param("type") String type, @Param("courseCode") String courseCode, @Param("param") String param);
 }

+ 2 - 6
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/ExamTaskDetailService.java

@@ -3,7 +3,6 @@ package com.qmth.distributed.print.business.service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.qmth.distributed.print.business.bean.dto.ExamTaskDetailDto;
-import com.qmth.distributed.print.business.entity.ExamTask;
 import com.qmth.distributed.print.business.entity.ExamTaskDetail;
 
 import java.util.Map;
@@ -18,12 +17,9 @@ import java.util.Map;
  */
 public interface ExamTaskDetailService extends IService<ExamTaskDetail> {
 
-    boolean saveExamTaskDetail(ExamTaskDetail examTaskDetail);
-
-    boolean status(ExamTask examTask);
-
     boolean enable(ExamTaskDetail examTaskDetail);
 
     boolean updatePaper(Map<String, String> map);
 
-    IPage<ExamTaskDetailDto> list(Long schoolId, String relateType, Long printPlanId, String courseCode, String paperNumber, Integer pageNumber, Integer pageSize);}
+    IPage<ExamTaskDetailDto> list(Long schoolId, String relateType, Long printPlanId, String courseCode, String paperNumber, Integer pageNumber, Integer pageSize);
+}

+ 7 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/ExamTaskService.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import com.qmth.distributed.print.business.bean.ApiUser;
 import com.qmth.distributed.print.business.bean.dto.*;
 import com.qmth.distributed.print.business.entity.ExamTask;
+import com.qmth.distributed.print.business.entity.ExamTaskDetail;
 import com.qmth.distributed.print.business.entity.ExamTaskReviewLog;
 import org.springframework.web.multipart.MultipartFile;
 
@@ -51,4 +52,10 @@ public interface ExamTaskService extends IService<ExamTask> {
     IPage<ExamTaskDetailDto> listTaskPaper(Long schoolId, String courseCode, String paperNumber, Long startTime, Long endTime, Integer pageNumber, Integer pageSize);
 
     List<RelatePaperDto> listPaperTypes(Long schoolId, String courseCode);
+
+    boolean saveExamTaskDetail(ExamTaskDetail examTaskDetail);
+
+    boolean status(ExamTask examTask);
+
+    ExamTaskDetail applyGetOne(Long examTaskId);
 }

+ 1 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/SysConfigService.java

@@ -13,5 +13,5 @@ import com.qmth.distributed.print.business.entity.SysConfig;
  */
 public interface SysConfigService extends IService<SysConfig> {
 
-    String getByKey(String key);
+    SysConfig getByKey(String key);
 }

+ 3 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/SysUserService.java

@@ -2,6 +2,7 @@ package com.qmth.distributed.print.business.service;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.qmth.distributed.print.business.bean.dto.BlurryUserDto;
 import com.qmth.distributed.print.business.bean.dto.LoginDto;
 import com.qmth.distributed.print.business.bean.dto.UserDto;
 import com.qmth.distributed.print.business.bean.dto.excel.UserExportDto;
@@ -42,4 +43,6 @@ public interface SysUserService extends IService<SysUser> {
      * @return
      */
     public List<UserExportDto> queryByExport(ArraysParams arraysParams);
+
+    List<BlurryUserDto> listUser(Long schoolId, String courseCode, String param);
 }

+ 5 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicCardRuleServiceImpl.java

@@ -13,6 +13,7 @@ import com.qmth.distributed.print.business.mapper.BasicCardRuleMapper;
 import com.qmth.distributed.print.business.service.BasicCardRuleService;
 import com.qmth.distributed.print.business.service.BasicTemplateOrgService;
 import com.qmth.distributed.print.common.enums.ExceptionResultEnum;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -52,7 +53,10 @@ public class BasicCardRuleServiceImpl extends ServiceImpl<BasicCardRuleMapper, B
     @Override
     public List<BasicCardRule> list(Long schoolId, String param) {
         QueryWrapper<BasicCardRule> queryWrapper = new QueryWrapper<>();
-        queryWrapper.lambda().eq(BasicCardRule::getSchoolId, schoolId).like(BasicCardRule::getName, param);
+        queryWrapper.lambda().eq(BasicCardRule::getSchoolId, schoolId);
+        if(StringUtils.isNotBlank(param)){
+            queryWrapper.lambda().like(BasicCardRule::getName, param);
+        }
         return this.list(queryWrapper);
     }
 

+ 2 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicCourseServiceImpl.java

@@ -11,6 +11,7 @@ import com.qmth.distributed.print.business.entity.ExamTask;
 import com.qmth.distributed.print.business.mapper.BasicCourseMapper;
 import com.qmth.distributed.print.business.service.BasicCourseService;
 import com.qmth.distributed.print.business.service.ExamTaskService;
+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.beans.factory.annotation.Autowired;
@@ -61,6 +62,7 @@ public class BasicCourseServiceImpl extends ServiceImpl<BasicCourseMapper, Basic
             if (basicCourse != null) {
                 throw ExceptionResultEnum.ERROR.exception("课程已存在");
             }
+            course.setId(SystemConstant.getDbUuid());
              course.setCreateTime(System.currentTimeMillis());
         }
         // 修改

+ 58 - 2
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicExamRuleServiceImpl.java

@@ -1,12 +1,23 @@
 package com.qmth.distributed.print.business.service.impl;
 
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qmth.distributed.print.business.entity.BasicExamRule;
+import com.qmth.distributed.print.business.entity.ExamPrintPlan;
+import com.qmth.distributed.print.business.enums.PrintPlanStatusEnum;
 import com.qmth.distributed.print.business.mapper.BasicExamRuleMapper;
 import com.qmth.distributed.print.business.service.BasicExamRuleService;
+import com.qmth.distributed.print.business.service.ExamPrintPlanService;
+import com.qmth.distributed.print.common.contant.SystemConstant;
+import com.qmth.distributed.print.common.enums.ExceptionResultEnum;
+import com.qmth.distributed.print.common.util.JacksonUtil;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+import java.util.Map;
+
 /**
  * <p>
  * 考务规则 服务实现类
@@ -18,6 +29,9 @@ import org.springframework.stereotype.Service;
 @Service
 public class BasicExamRuleServiceImpl extends ServiceImpl<BasicExamRuleMapper, BasicExamRule> implements BasicExamRuleService {
 
+    @Autowired
+    private ExamPrintPlanService examPrintPlanService;
+
     @Override
     public BasicExamRule getBySchoolId(Long schoolId) {
         QueryWrapper<BasicExamRule> queryWrapper = new QueryWrapper<>();
@@ -27,7 +41,49 @@ public class BasicExamRuleServiceImpl extends ServiceImpl<BasicExamRuleMapper, B
 
     @Override
     public boolean saveExamRule(BasicExamRule examRule) {
-        // todo 校验是否有必选字段已使用
-        return this.saveOrUpdate(examRule);
+        // 已开始新建印刷计划,不能新增、删除扩展字段
+        // 新增
+        if (examRule.getId() == null){
+            examRule.setId(SystemConstant.getDbUuid());
+            return this.save(examRule);
+        }
+        // 修改
+        else {
+            // 查询未结束的印刷计划
+            QueryWrapper<ExamPrintPlan> queryWrapper = new QueryWrapper<>();
+            queryWrapper.lambda().ne(ExamPrintPlan::getStatus, PrintPlanStatusEnum.END);
+            List<ExamPrintPlan> examPrintPlanList = examPrintPlanService.list(queryWrapper);
+            if(examPrintPlanList != null && examPrintPlanList.size() > 0) {
+                BasicExamRule basicExamRule = this.getById(examRule.getId());
+                // 匹配扩展字段是否有变动
+                String oldExtends = basicExamRule.getExtendFields();
+                String newExtends = examRule.getExtendFields();
+                List<Map> oldMapList = JSONObject.parseArray(oldExtends, Map.class);
+                List<Map> newMapList = JSONObject.parseArray(newExtends, Map.class);
+                if (oldMapList.size() != newMapList.size()){
+                    throw ExceptionResultEnum.ERROR.exception("有未结束的印刷计划,不能修改扩展字段");
+                }
+                for (Map map : oldMapList) {
+                    String code = String.valueOf(map.get("code"));
+                    String name = String.valueOf(map.get("name"));
+                    String enable = String.valueOf(map.get("enable"));
+
+                    boolean flag = true;
+                    for (Map map1 : newMapList) {
+                        String code1 = String.valueOf(map1.get("code"));
+                        String name1 = String.valueOf(map1.get("name"));
+                        String enable1 = String.valueOf(map1.get("enable"));
+                        if (code.equals(code1) && name.equals(name1) && enable.equals(enable1)){
+                            flag = false;
+                        }
+                        if(flag) {
+                            throw ExceptionResultEnum.ERROR.exception("有未结束的印刷计划,不能修改扩展字段");
+                        }
+                    }
+                }
+            }
+
+            return this.updateById(examRule);
+        }
     }
 }

+ 2 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicTemplateServiceImpl.java

@@ -12,6 +12,7 @@ import com.qmth.distributed.print.business.entity.SysOrg;
 import com.qmth.distributed.print.business.mapper.BasicTemplateMapper;
 import com.qmth.distributed.print.business.service.BasicTemplateOrgService;
 import com.qmth.distributed.print.business.service.BasicTemplateService;
+import com.qmth.distributed.print.common.contant.SystemConstant;
 import com.qmth.distributed.print.common.enums.ExceptionResultEnum;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -59,6 +60,7 @@ public class BasicTemplateServiceImpl extends ServiceImpl<BasicTemplateMapper, B
             if (basicTemplate != null) {
                 throw ExceptionResultEnum.ERROR.exception("模板名称已存在");
             }
+            template.setId(SystemConstant.getDbUuid());
             template.setCreateTime(System.currentTimeMillis());
             isSuccess = this.save(template);
         }

+ 4 - 3
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicVerifyCodeServiceImpl.java

@@ -12,6 +12,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qmth.distributed.print.business.config.DictionaryConfig;
 import com.qmth.distributed.print.business.entity.BasicVerifyCode;
+import com.qmth.distributed.print.business.entity.SysConfig;
 import com.qmth.distributed.print.business.mapper.BasicVerifyCodeMapper;
 import com.qmth.distributed.print.business.service.BasicVerifyCodeService;
 import com.qmth.distributed.print.business.service.SysConfigService;
@@ -41,11 +42,11 @@ public class BasicVerifyCodeServiceImpl extends ServiceImpl<BasicVerifyCodeMappe
 
     @Override
     public void sendVeirfyCode(String mobileNumber, Long userId) {
-        String value = sysConfigService.getByKey("sys.code.enable");
-        if (value == null) {
+        SysConfig sysConfig = sysConfigService.getByKey("sys.code.enable");
+        if (sysConfig.getConfigValue() == null) {
             throw ExceptionResultEnum.ERROR.exception("短信验证码启用开关未设置");
         }
-        if (value.equals("false")) {
+        if (sysConfig.getConfigValue().equals("false")) {
             throw ExceptionResultEnum.ERROR.exception("短信验证码已关闭");
         }
 

+ 0 - 45
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamTaskDetailServiceImpl.java

@@ -1,20 +1,15 @@
 package com.qmth.distributed.print.business.service.impl;
 
-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;
 import com.qmth.distributed.print.business.bean.dto.ExamTaskDetailDto;
-import com.qmth.distributed.print.business.bean.dto.ExamTaskDto;
 import com.qmth.distributed.print.business.entity.ExamTask;
 import com.qmth.distributed.print.business.entity.ExamTaskDetail;
-import com.qmth.distributed.print.business.enums.ExamStatusEnum;
 import com.qmth.distributed.print.business.mapper.ExamTaskDetailMapper;
 import com.qmth.distributed.print.business.service.ExamTaskDetailService;
 import com.qmth.distributed.print.business.service.ExamTaskService;
-import com.qmth.distributed.print.common.enums.ExceptionResultEnum;
-import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -35,46 +30,6 @@ public class ExamTaskDetailServiceImpl extends ServiceImpl<ExamTaskDetailMapper,
     @Autowired
     private ExamTaskService examTaskService;
 
-    @Override
-    public boolean saveExamTaskDetail(ExamTaskDetail examTaskDetail) {
-        if (examTaskDetail.getExamTaskId() == null) {
-            throw ExceptionResultEnum.ERROR.exception("命题任务ID不能为空");
-        }
-        if (StringUtils.isBlank(examTaskDetail.getOperateType())) {
-            throw ExceptionResultEnum.ERROR.exception("保存类型不能为空");
-        }
-        // 提交时,校验
-        if (ExamStatusEnum.SUBMIT.name().equals(examTaskDetail.getOperateType())) {
-            if (StringUtils.isBlank(examTaskDetail.getPaperType())) {
-                throw ExceptionResultEnum.ERROR.exception("试卷类型不能为空");
-            }
-            if (StringUtils.isBlank(examTaskDetail.getPaperAttachmentIds())) {
-                throw ExceptionResultEnum.ERROR.exception("试卷ID不能为空");
-            }
-            if (examTaskDetail.getCardId() == null) {
-                throw ExceptionResultEnum.ERROR.exception("题卡ID不能为空");
-            }
-            if (StringUtils.isBlank(examTaskDetail.getPaperConfirmAttachmentIds())) {
-                throw ExceptionResultEnum.ERROR.exception("入库审核ID不能为空");
-            }
-            QueryWrapper<ExamTaskDetail> queryWrapper = new QueryWrapper<>();
-            queryWrapper.lambda().eq(ExamTaskDetail::getExamTaskId, examTaskDetail.getExamTaskId());
-            ExamTaskDetail detail = this.getOne(queryWrapper);
-            if (detail != null) {
-                examTaskDetail.setId(detail.getId());
-            }
-        }
-
-        return this.saveOrUpdate(examTaskDetail);
-    }
-
-    @Override
-    public boolean status(ExamTask examTask) {
-        UpdateWrapper<ExamTask> updateWrapper = new UpdateWrapper<>();
-        updateWrapper.lambda().set(ExamTask::getStatus, examTask.getStatus()).eq(ExamTask::getId, examTask.getId());
-        return this.examTaskService.update(updateWrapper);
-    }
-
     @Override
     public boolean enable(ExamTaskDetail examTaskDetail) {
         UpdateWrapper<ExamTaskDetail> updateWrapper = new UpdateWrapper<>();

+ 114 - 5
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamTaskServiceImpl.java

@@ -9,6 +9,7 @@ import com.qmth.distributed.print.business.bean.ApiUser;
 import com.qmth.distributed.print.business.bean.dto.*;
 import com.qmth.distributed.print.business.entity.*;
 import com.qmth.distributed.print.business.enums.ExamStatusEnum;
+import com.qmth.distributed.print.business.enums.ReviewStatusEnum;
 import com.qmth.distributed.print.business.mapper.ExamTaskMapper;
 import com.qmth.distributed.print.business.service.*;
 import com.qmth.distributed.print.common.enums.ExceptionResultEnum;
@@ -82,13 +83,41 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
 
     @Override
     public boolean assignUser(ExamTask examTask) {
+        if (examTask.getId() == null) {
+            throw ExceptionResultEnum.ERROR.exception("参数有误");
+        }
+
         UpdateWrapper<ExamTask> updateWrapper = new UpdateWrapper<>();
-        updateWrapper.lambda().set(ExamTask::getUserId, examTask.getUserId()).eq(ExamTask::getId, examTask.getId());
+        ExamTask task = this.getById(examTask.getId());
+        // 指派命题老师
+        if (task.getStatus().name().equals(ExamStatusEnum.NEW)) {
+            if (!task.getEnable()) {
+                throw ExceptionResultEnum.ERROR.exception("命题任务已禁用,不能指派命题老师");
+            }
+            updateWrapper.lambda().set(ExamTask::getUserId, examTask.getUserId()).set(ExamTask::getStatus, ExamStatusEnum.READY).eq(ExamTask::getId, examTask.getId());
+        }
+
+        // 更改命题老师
+        if (task.getStatus().name().equals(ExamStatusEnum.READY)) {
+            if (task.getEnable()) {
+                throw ExceptionResultEnum.ERROR.exception("命题任务禁用后,才能更改命题老师");
+            }
+            updateWrapper.lambda().set(ExamTask::getUserId, examTask.getUserId()).eq(ExamTask::getId, examTask.getId());
+        }
+
         return this.update(updateWrapper);
     }
 
     @Override
     public boolean enable(ExamTask examTask) {
+        if (examTask.getId() == null) {
+            throw ExceptionResultEnum.ERROR.exception("参数有误");
+        }
+
+        ExamTask task = this.getById(examTask.getId());
+        if (task.getStatus().name().equals(ExamStatusEnum.FINISH)) {
+            throw ExceptionResultEnum.ERROR.exception("命题任务状态为已完成,不能启用/禁用操作");
+        }
         UpdateWrapper<ExamTask> updateWrapper = new UpdateWrapper<>();
         updateWrapper.lambda().set(ExamTask::getEnable, examTask.getEnable()).eq(ExamTask::getId, examTask.getId());
         return this.update(updateWrapper);
@@ -103,6 +132,7 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
         if (basicExamRule == null) {
             throw ExceptionResultEnum.ERROR.exception("通用规则未设置");
         }
+        examTask.setStatus(ExamStatusEnum.NEW);
         examTask.setReview(basicExamRule.getReview());
         return this.save(examTask);
     }
@@ -156,7 +186,8 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
     @Override
     public IPage<ExamTaskDto> listTaskApply(Long schoolId, String auditStatus, String reviewStatus, Long cardRuleId, String courseCode, String paperNumber, Long startTime, Long endTime, Integer pageNumber, Integer pageSize) {
         Page<ExamTaskDto> page = new Page<>(pageNumber, pageSize);
-        IPage<ExamTaskDto> examTaskDtoIPage = this.baseMapper.listTaskApply(page, schoolId, auditStatus, reviewStatus, cardRuleId, courseCode, paperNumber, startTime, endTime);
+        String[] strings = new String[]{ExamStatusEnum.NEW.name(), ExamStatusEnum.FINISH.name()};
+        IPage<ExamTaskDto> examTaskDtoIPage = this.baseMapper.listTaskApply(page, schoolId, auditStatus, reviewStatus, cardRuleId, courseCode, paperNumber, startTime, endTime, strings);
         return examTaskDtoIPage;
     }
 
@@ -182,13 +213,25 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
 
         // 更新命题任务状态
         UpdateWrapper<ExamTask> updateWrapper = new UpdateWrapper<>();
-        updateWrapper.lambda().set(ExamTask::getReviewStatus, taskReviewLog.getReviewStatus()).eq(ExamTask::getId, taskReviewLog.getExamTaskId());
+        ExamStatusEnum statusEnum = null;
+        if (taskReviewLog.getReviewStatus().name().equals(ReviewStatusEnum.PASS.name())) {
+            statusEnum = ExamStatusEnum.FINISH;
+        } else {
+            statusEnum = ExamStatusEnum.STAGE;
+        }
+        updateWrapper.lambda().set(ExamTask::getStatus, statusEnum).set(ExamTask::getReviewStatus, taskReviewLog.getReviewStatus()).eq(ExamTask::getId, taskReviewLog.getExamTaskId());
         return this.update(updateWrapper);
     }
 
     @Transactional
     @Override
     public boolean taskReviewSaveBatch(ExamTaskReviewLog taskReviewLog) {
+        ExamStatusEnum statusEnum = null;
+        if (taskReviewLog.getReviewStatus().name().equals(ReviewStatusEnum.PASS.name())) {
+            statusEnum = ExamStatusEnum.FINISH;
+        } else {
+            statusEnum = ExamStatusEnum.STAGE;
+        }
         for (Long examTaskId : taskReviewLog.getExamTaskIds()) {
             // 审核日志
             taskReviewLog.setExamTaskId(examTaskId);
@@ -196,7 +239,7 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
 
             // 更新命题任务状态
             UpdateWrapper<ExamTask> updateWrapper = new UpdateWrapper<>();
-            updateWrapper.lambda().set(ExamTask::getReviewStatus, taskReviewLog.getReviewStatus()).eq(ExamTask::getId, taskReviewLog.getExamTaskId());
+            updateWrapper.lambda().set(ExamTask::getStatus, statusEnum).set(ExamTask::getReviewStatus, taskReviewLog.getReviewStatus()).eq(ExamTask::getId, taskReviewLog.getExamTaskId());
             this.update(updateWrapper);
         }
         return true;
@@ -216,11 +259,77 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
             QueryWrapper<ExamTaskDetail> queryWrapper = new QueryWrapper<>();
             queryWrapper.lambda().eq(ExamTaskDetail::getExamTaskId, relatePaperDto.getId()).eq(ExamTaskDetail::getEnable, true);
             ExamTaskDetail examTaskDetail = this.examTaskDetailService.getOne(queryWrapper);
-            if (examTaskDetail != null){
+            if (examTaskDetail != null) {
                 String unexposedPaperType = examTaskDetail.getUnexposedPaperType();
                 relatePaperDto.setPaperTypes(StringUtils.isBlank(unexposedPaperType) ? null : Arrays.asList(unexposedPaperType.split("/")));
             }
         }
         return list;
     }
+
+    @Transactional
+    @Override
+    public boolean saveExamTaskDetail(ExamTaskDetail examTaskDetail) {
+        if (examTaskDetail.getExamTaskId() == null) {
+            throw ExceptionResultEnum.ERROR.exception("命题任务ID不能为空");
+        }
+        if (StringUtils.isBlank(examTaskDetail.getOperateType())) {
+            throw ExceptionResultEnum.ERROR.exception("保存类型不能为空");
+        }
+        // 提交时,校验
+        if (ExamStatusEnum.SUBMIT.name().equals(examTaskDetail.getOperateType())) {
+            if (StringUtils.isBlank(examTaskDetail.getPaperType())) {
+                throw ExceptionResultEnum.ERROR.exception("试卷类型不能为空");
+            }
+            if (StringUtils.isBlank(examTaskDetail.getPaperAttachmentIds())) {
+                throw ExceptionResultEnum.ERROR.exception("试卷ID不能为空");
+            }
+            if (examTaskDetail.getCardId() == null) {
+                throw ExceptionResultEnum.ERROR.exception("题卡ID不能为空");
+            }
+            if (StringUtils.isBlank(examTaskDetail.getPaperConfirmAttachmentIds())) {
+                throw ExceptionResultEnum.ERROR.exception("入库审核ID不能为空");
+            }
+            QueryWrapper<ExamTaskDetail> queryWrapper = new QueryWrapper<>();
+            queryWrapper.lambda().eq(ExamTaskDetail::getExamTaskId, examTaskDetail.getExamTaskId());
+            ExamTaskDetail detail = examTaskDetailService.getOne(queryWrapper);
+            if (detail != null) {
+                examTaskDetail.setId(detail.getId());
+            }
+        }
+
+        // 更新examTask状态status
+        ExamTask examTask = this.getById(examTaskDetail.getExamTaskId());
+        if (examTask.getStatus().name().equals(ExamStatusEnum.SUBMIT.name()) && !examTask.getReview()) {
+            examTask.setStatus(ExamStatusEnum.FINISH);
+            this.updateById(examTask);
+        }
+
+        return examTaskDetailService.saveOrUpdate(examTaskDetail);
+    }
+
+    @Override
+    public boolean status(ExamTask examTask) {
+        if (examTask.getId() == null) {
+            throw ExceptionResultEnum.ERROR.exception("参数有误");
+        }
+        ExamTask task = this.getById(examTask.getId());
+        UpdateWrapper<ExamTask> updateWrapper = new UpdateWrapper<>();
+        // 撤回
+        if (examTask.getStatus().name().equals(ExamStatusEnum.CANCEL.name())) {
+            if (!task.getStatus().name().equals(ExamStatusEnum.FINISH.name())) {
+                throw ExceptionResultEnum.ERROR.exception("命题任务状态为已完成,才能撤回");
+            }
+            updateWrapper.lambda().set(ExamTask::getStatus, examTask.getStatus()).eq(ExamTask::getId, examTask.getId());
+            return this.update(updateWrapper);
+        }
+        return false;
+    }
+
+    @Override
+    public ExamTaskDetail applyGetOne(Long examTaskId) {
+        QueryWrapper<ExamTaskDetail> queryWrapper = new QueryWrapper<>();
+        queryWrapper.lambda().eq(ExamTaskDetail::getExamTaskId, examTaskId);
+        return examTaskDetailService.getOne(queryWrapper);
+    }
 }

+ 2 - 2
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/SysConfigServiceImpl.java

@@ -21,13 +21,13 @@ import org.springframework.stereotype.Service;
 public class SysConfigServiceImpl extends ServiceImpl<SysConfigMapper, SysConfig> implements SysConfigService {
 
     @Override
-    public String getByKey(String key) {
+    public SysConfig getByKey(String key) {
         if (StringUtils.isBlank(key)) {
             throw ExceptionResultEnum.ERROR.exception("key不能为空");
         }
         QueryWrapper<SysConfig> queryWrapper = new QueryWrapper<>();
         queryWrapper.lambda().eq(SysConfig::getConfigKey, key);
         SysConfig sysConfig = this.baseMapper.selectOne(queryWrapper);
-        return sysConfig == null ? null : sysConfig.getConfigValue();
+        return sysConfig;
     }
 }

+ 2 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/SysOrgServiceImpl.java

@@ -9,6 +9,7 @@ import com.qmth.distributed.print.business.entity.SysOrg;
 import com.qmth.distributed.print.business.mapper.SysOrgMapper;
 import com.qmth.distributed.print.business.service.BasicTemplateOrgService;
 import com.qmth.distributed.print.business.service.SysOrgService;
+import com.qmth.distributed.print.common.contant.SystemConstant;
 import com.qmth.distributed.print.common.enums.ExceptionResultEnum;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -75,6 +76,7 @@ public class SysOrgServiceImpl extends ServiceImpl<SysOrgMapper, SysOrg> impleme
             if (sysOrg != null) {
                 throw ExceptionResultEnum.ERROR.exception("机构代码已存在");
             }
+            org.setId(SystemConstant.getDbUuid());
             org.setCreateTime(System.currentTimeMillis());
             isSuccess = this.save(org);
         }

+ 2 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/SysPrivilegeServiceImpl.java

@@ -8,6 +8,7 @@ import com.qmth.distributed.print.business.entity.SysRolePrivilege;
 import com.qmth.distributed.print.business.mapper.SysPrivilegeMapper;
 import com.qmth.distributed.print.business.service.SysPrivilegeService;
 import com.qmth.distributed.print.business.service.SysRolePrivilegeService;
+import com.qmth.distributed.print.common.contant.SystemConstant;
 import com.qmth.distributed.print.common.enums.ExceptionResultEnum;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -75,6 +76,7 @@ public class SysPrivilegeServiceImpl extends ServiceImpl<SysPrivilegeMapper, Sys
             if (sysPrivilege != null) {
                 throw ExceptionResultEnum.ERROR.exception("名称已存在");
             }
+            privilege.setId(SystemConstant.getDbUuid());
             privilege.setCreateTime(System.currentTimeMillis());
             isSuccess = this.save(privilege);
         }

+ 2 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/SysRoleServiceImpl.java

@@ -13,6 +13,7 @@ import com.qmth.distributed.print.business.service.SysRoleCourseService;
 import com.qmth.distributed.print.business.service.SysRolePrivilegeService;
 import com.qmth.distributed.print.business.service.SysRoleService;
 import com.qmth.distributed.print.business.service.SysUserRoleService;
+import com.qmth.distributed.print.common.contant.SystemConstant;
 import com.qmth.distributed.print.common.enums.ExceptionResultEnum;
 import com.qmth.distributed.print.business.enums.RoleTypeEnum;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -62,6 +63,7 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
             if (sysRole != null) {
                 throw ExceptionResultEnum.ERROR.exception("角色已存在");
             }
+            role.setId(SystemConstant.getDbUuid());
             role.setCreateTime(System.currentTimeMillis());
             isSuccess = this.save(role);
         }

+ 13 - 8
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/SysUserServiceImpl.java

@@ -5,17 +5,16 @@ 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;
+import com.qmth.distributed.print.business.bean.dto.BlurryUserDto;
 import com.qmth.distributed.print.business.bean.dto.LoginDto;
 import com.qmth.distributed.print.business.bean.dto.UserDto;
 import com.qmth.distributed.print.business.bean.dto.excel.UserExportDto;
 import com.qmth.distributed.print.business.bean.query.ArraysParams;
-import com.qmth.distributed.print.business.entity.BasicCourse;
-import com.qmth.distributed.print.business.entity.SysRole;
-import com.qmth.distributed.print.business.entity.SysUser;
-import com.qmth.distributed.print.business.entity.SysUserRole;
+import com.qmth.distributed.print.business.entity.*;
 import com.qmth.distributed.print.business.mapper.SysUserMapper;
 import com.qmth.distributed.print.business.service.*;
 import com.qmth.distributed.print.business.util.security.Md5Utils;
+import com.qmth.distributed.print.common.contant.SystemConstant;
 import com.qmth.distributed.print.common.enums.ExceptionResultEnum;
 import com.qmth.distributed.print.business.enums.RoleTypeEnum;
 import org.apache.commons.lang3.StringUtils;
@@ -90,8 +89,9 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
             if (sysUser != null) {
                 throw ExceptionResultEnum.ERROR.exception("用户名已存在");
             }
-            String password = sysConfigService.getByKey("sys.user.initPassword");
-            user.setPassword(Md5Utils.toMd5Hex(StringUtils.isNoneBlank(password) ? password : "123456"));
+            SysConfig sysConfig = sysConfigService.getByKey("sys.user.initPassword");
+            user.setPassword(Md5Utils.toMd5Hex(StringUtils.isNoneBlank(sysConfig.getConfigValue()) ? sysConfig.getConfigValue() : "123456"));
+            user.setId(SystemConstant.getDbUuid());
             user.setCreateTime(System.currentTimeMillis());
             isSuccess = this.save(user);
         }
@@ -148,8 +148,8 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
 
     @Override
     public boolean resetPassword(Long id) {
-        String password = sysConfigService.getByKey("sys.user.initPassword");
-        String md5Password = Md5Utils.toMd5Hex(StringUtils.isNoneBlank(password) ? password : "123456");
+        SysConfig sysConfig = sysConfigService.getByKey("sys.user.initPassword");
+        String md5Password = Md5Utils.toMd5Hex(StringUtils.isNoneBlank(sysConfig.getConfigValue()) ? sysConfig.getConfigValue() : "123456");
 
         SysUser user = this.getById(id);
         user.setPassword(md5Password);
@@ -228,4 +228,9 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
     public List<UserExportDto> queryByExport(ArraysParams arraysParams) {
         return sysUserMapper.queryByExport(arraysParams);
     }
+
+    @Override
+    public List<BlurryUserDto> listUser(Long schoolId, String courseCode, String param) {
+        return this.baseMapper.listUser(schoolId, RoleTypeEnum.QUESTION_TEACHER.name(), courseCode, param);
+    }
 }

File diff suppressed because it is too large
+ 3 - 2
distributed-print-business/src/main/resources/db/init-table.sql


+ 8 - 3
distributed-print-business/src/main/resources/mapper/ExamTaskMapper.xml

@@ -38,7 +38,7 @@
             a.specialty,
             a.paper_number paperNumber,
             a.card_rule_id cardRuleId,
-            b.name cardRuleName,
+            case a.card_rule _id when -1 then '全部通卡' else b.name end cardRuleName,
             a.user_id userId,
             c.real_name userName,
             a.start_time startTime,
@@ -112,12 +112,12 @@
             a.end_time endTime,
             a.status,
             CASE
-                WHEN a.review = 0 THEN '--'
+                WHEN a.review = 0 THEN ''
                 WHEN a.review = 1 AND a.review_status IS NULL THEN 'NOT_AUDITED'
                 ELSE 'AUDITED'
             END auditStatus,
             CASE
-                WHEN a.review_status IS NULL THEN '--'
+                WHEN a.review_status IS NULL THEN ''
                 ELSE a.review_status
             END reviewStatus,
             a.enable,
@@ -130,6 +130,11 @@
                 LEFT JOIN
             sys_user c ON a.user_id = c.id) a
         <where>
+            and a.status not in
+            <foreach item="item" collection="status" separator="," open="(" close=")" index="">
+               #{item}
+            </foreach>
+             and a.enable = true
             <if test="schoolId != null and schoolId != ''">
                 and a.schoolId = #{schoolId}
             </if>

+ 25 - 0
distributed-print-business/src/main/resources/mapper/SysUserMapper.xml

@@ -94,4 +94,29 @@
                 tbu.update_time,
                 tbu.update_id
     </select>
+    <select id="listUser" resultType="com.qmth.distributed.print.business.bean.dto.BlurryUserDto">
+        SELECT
+           distinct a.id, a.real_name name
+        FROM
+            sys_user a
+                LEFT JOIN
+            sys_user_role b ON a.id = b.user_id
+                LEFT JOIN
+            sys_role c ON b.role_id = c.id
+                LEFT JOIN
+            basic_user_course d ON a.id = d.user_id
+                LEFT JOIN
+            basic_course e ON d.course_id = e.id
+        <where>
+            <if test="schoolId != null and schoolId != ''">
+                and a.school_id = #{schoolId}
+            </if>
+            <if test="type != null and type != ''">
+                and c.type = #{type}
+            </if>
+            <if test="param != null and param != ''">
+                and a.real_name like concat('%',#{param},'%')
+            </if>
+        </where>
+    </select>
 </mapper>

+ 1 - 1
distributed-print/src/main/java/com/qmth/distributed/print/api/BasicCardRuleController.java

@@ -71,7 +71,7 @@ public class BasicCardRuleController {
     @ApiOperation(value = "模糊查询")
     @RequestMapping(value = "/query", method = RequestMethod.POST)
     public Result list(HttpServletRequest request,
-                       @RequestParam("param") String param) {
+                       @RequestParam(value = "param", required = false) String param) {
         ApiUser apiUser = RequestUtils.getApiUser(request);
         List<BasicCardRule> cardRules = basicCardRuleService.list(apiUser.getSchoolId(), param);
         return ResultUtil.ok(cardRules);

+ 28 - 12
distributed-print/src/main/java/com/qmth/distributed/print/api/ExamTaskController.java

@@ -66,13 +66,13 @@ public class ExamTaskController {
     @ApiOperation(value = "查询")
     @RequestMapping(value = "/list", method = RequestMethod.POST)
     public Result list(HttpServletRequest request,
-                       @RequestParam Boolean enable,
-                       @RequestParam String status,
-                       @RequestParam Long cardRuleId,
-                       @RequestParam String courseCode,
-                       @RequestParam String paperNumber,
-                       @RequestParam Long startTime,
-                       @RequestParam Long endTime,
+                       @RequestParam(required = false) Boolean enable,
+                       @RequestParam(required = false) String status,
+                       @RequestParam(required = false) Long cardRuleId,
+                       @RequestParam(required = false) String courseCode,
+                       @RequestParam(required = false) String paperNumber,
+                       @RequestParam(required = false) Long startTime,
+                       @RequestParam(required = false) Long endTime,
                        @RequestParam Integer pageNumber,
                        @RequestParam Integer pageSize) {
         ApiUser apiUser = RequestUtils.getApiUser(request);
@@ -89,7 +89,7 @@ public class ExamTaskController {
     @ApiOperation(value = "试卷编号模糊查询")
     @RequestMapping(value = "/paper_number_query", method = RequestMethod.POST)
     public Result paperNumberQuery(HttpServletRequest request,
-                                   @RequestParam("param") String param) {
+                                   @RequestParam(value = "param", required = false) String param) {
         ApiUser apiUser = RequestUtils.getApiUser(request);
         List<String> list = examTaskService.listPaperNumber(apiUser.getSchoolId(), param);
         return ResultUtil.ok(list);
@@ -104,7 +104,7 @@ public class ExamTaskController {
     @ApiOperation(value = "命题老师模糊查询")
     @RequestMapping(value = "/user_query", method = RequestMethod.POST)
     public Result userQuery(HttpServletRequest request,
-                            @RequestParam("param") String param) {
+                            @RequestParam(value = "param", required = false) String param) {
         ApiUser apiUser = RequestUtils.getApiUser(request);
         List<BlurryUserDto> list = examTaskService.listUser(apiUser.getSchoolId(), param);
         return ResultUtil.ok(list);
@@ -237,6 +237,20 @@ public class ExamTaskController {
         return ResultUtil.ok(list);
     }
 
+    /**
+     * 根据命题任务ID查询单个数据
+     * @param request
+     * @param examTaskId
+     * @return
+     */
+    @ApiOperation(value = "根据命题任务ID查询单个数据")
+    @RequestMapping(value = "/apply_get_one", method = RequestMethod.POST)
+    public Result applyGetOne(HttpServletRequest request,
+                              @RequestParam(value = "examTaskId", required = true) Long examTaskId) {
+        ExamTaskDetail detail = examTaskService.applyGetOne(examTaskId);
+        return ResultUtil.ok(detail);
+    }
+
     /**
      * 暂存/提交
      *
@@ -246,7 +260,7 @@ public class ExamTaskController {
     @ApiOperation(value = "暂存/提交")
     @RequestMapping(value = "/apply_save", method = RequestMethod.POST)
     public Result taskApplySave(@RequestBody ExamTaskDetail examTaskDetail) {
-        boolean isSuccess = examTaskDetailService.saveExamTaskDetail(examTaskDetail);
+        boolean isSuccess = examTaskService.saveExamTaskDetail(examTaskDetail);
         return ResultUtil.ok(isSuccess);
     }
 
@@ -256,10 +270,10 @@ public class ExamTaskController {
      * @param examTask
      * @return
      */
-    @ApiOperation(value = "撤回/重新申请")
+    @ApiOperation(value = "撤回")
     @RequestMapping(value = "/apply_status", method = RequestMethod.POST)
     public Result taskApplyStatus(@RequestBody ExamTask examTask) {
-        boolean isSuccess = examTaskDetailService.status(examTask);
+        boolean isSuccess = examTaskService.status(examTask);
         return ResultUtil.ok(isSuccess);
     }
 
@@ -371,6 +385,7 @@ public class ExamTaskController {
 
     /**
      * 卷库查询
+     *
      * @param request
      * @param courseCode
      * @param paperNumber
@@ -410,6 +425,7 @@ public class ExamTaskController {
 
     /**
      * 启用/禁用
+     *
      * @param request
      * @param examTaskDetail
      * @return

+ 2 - 1
distributed-print/src/main/java/com/qmth/distributed/print/api/SysConfigController.java

@@ -4,6 +4,7 @@ package com.qmth.distributed.print.api;
 import com.qmth.boot.api.annotation.Aac;
 import com.qmth.boot.api.annotation.BOOL;
 import com.qmth.boot.api.constant.ApiConstant;
+import com.qmth.distributed.print.business.entity.SysConfig;
 import com.qmth.distributed.print.business.service.SysConfigService;
 import com.qmth.distributed.print.common.util.Result;
 import com.qmth.distributed.print.common.util.ResultUtil;
@@ -35,7 +36,7 @@ public class SysConfigController {
     @ApiOperation(value = "根据key查询")
     @RequestMapping(value = "/get_one",method = RequestMethod.POST)
     public Result getOne(@RequestParam(value = "key", required = false) String key) {
-        String value = sysConfigService.getByKey(key);
+        SysConfig value = sysConfigService.getByKey(key);
         return ResultUtil.ok(value);
     }
 }

+ 18 - 0
distributed-print/src/main/java/com/qmth/distributed/print/api/SysUserController.java

@@ -6,6 +6,7 @@ import com.qmth.boot.api.annotation.BOOL;
 import com.qmth.boot.api.constant.ApiConstant;
 import com.qmth.boot.api.exception.ApiException;
 import com.qmth.distributed.print.business.bean.ApiUser;
+import com.qmth.distributed.print.business.bean.dto.BlurryUserDto;
 import com.qmth.distributed.print.business.bean.dto.UserDto;
 import com.qmth.distributed.print.business.bean.dto.excel.UserExportDto;
 import com.qmth.distributed.print.business.bean.query.ArraysParams;
@@ -96,6 +97,23 @@ public class SysUserController {
         return ResultUtil.ok(userDtos);
     }
 
+    /**
+     * 根据科目查询命题老师
+     * @param request
+     * @param courseCode
+     * @param param
+     * @return
+     */
+    @ApiOperation(value = "根据科目查询命题老师")
+    @RequestMapping(value = "/user_list", method = RequestMethod.POST)
+    public Result userQuery(HttpServletRequest request,
+                            @RequestParam(value = "courseCode", required = false) String courseCode,
+                            @RequestParam(value = "param", required = false) String param) {
+        ApiUser apiUser = RequestUtils.getApiUser(request);
+        List<BlurryUserDto> list = sysUserService.listUser(apiUser.getSchoolId(),courseCode, param);
+        return ResultUtil.ok(list);
+    }
+
     /**
      * 新增/修改
      * @param user

Some files were not shown because too many files changed in this diff