Pārlūkot izejas kodu

基础配置测试bug

xiaof 4 gadi atpakaļ
vecāks
revīzija
22e080c18d
78 mainītis faili ar 972 papildinājumiem un 255 dzēšanām
  1. 26 0
      digit-print-business/src/main/java/com/qmth/digit/print/business/bean/dto/BlurryUserDto.java
  2. 26 6
      digit-print-business/src/main/java/com/qmth/digit/print/business/bean/dto/CardRuleDto.java
  3. 143 0
      digit-print-business/src/main/java/com/qmth/digit/print/business/bean/dto/ExamTaskDto.java
  4. 6 6
      digit-print-business/src/main/java/com/qmth/digit/print/business/bean/dto/OrgDto.java
  5. 6 6
      digit-print-business/src/main/java/com/qmth/digit/print/business/bean/dto/PrivilegeDto.java
  6. 9 11
      digit-print-business/src/main/java/com/qmth/digit/print/business/bean/dto/TemplateDto.java
  7. 9 0
      digit-print-business/src/main/java/com/qmth/digit/print/business/bean/dto/UserDto.java
  8. 10 10
      digit-print-business/src/main/java/com/qmth/digit/print/business/bean/query/CourseParam.java
  9. 73 0
      digit-print-business/src/main/java/com/qmth/digit/print/business/bean/query/ExamTaskParam.java
  10. 18 0
      digit-print-business/src/main/java/com/qmth/digit/print/business/bean/query/TemplateParam.java
  11. 5 5
      digit-print-business/src/main/java/com/qmth/digit/print/business/bean/query/UserParam.java
  12. 1 1
      digit-print-business/src/main/java/com/qmth/digit/print/business/entity/BasicCardRule.java
  13. 1 1
      digit-print-business/src/main/java/com/qmth/digit/print/business/entity/BasicTemplate.java
  14. 28 15
      digit-print-business/src/main/java/com/qmth/digit/print/business/entity/SysConfig.java
  15. 0 10
      digit-print-business/src/main/java/com/qmth/digit/print/business/entity/SysRole.java
  16. 11 0
      digit-print-business/src/main/java/com/qmth/digit/print/business/entity/SysUser.java
  17. 1 1
      digit-print-business/src/main/java/com/qmth/digit/print/business/mapper/BasicCourseMapper.java
  18. 12 0
      digit-print-business/src/main/java/com/qmth/digit/print/business/mapper/ExamTaskMapper.java
  19. 1 1
      digit-print-business/src/main/java/com/qmth/digit/print/business/mapper/SysRoleMapper.java
  20. 1 1
      digit-print-business/src/main/java/com/qmth/digit/print/business/service/BasicAttachmentService.java
  21. 2 0
      digit-print-business/src/main/java/com/qmth/digit/print/business/service/BasicCourseService.java
  22. 2 2
      digit-print-business/src/main/java/com/qmth/digit/print/business/service/BasicTemplateOrgService.java
  23. 4 0
      digit-print-business/src/main/java/com/qmth/digit/print/business/service/BasicUserCourseService.java
  24. 11 0
      digit-print-business/src/main/java/com/qmth/digit/print/business/service/ExamTaskService.java
  25. 0 2
      digit-print-business/src/main/java/com/qmth/digit/print/business/service/SysRoleCourseService.java
  26. 4 0
      digit-print-business/src/main/java/com/qmth/digit/print/business/service/SysRoleService.java
  27. 1 1
      digit-print-business/src/main/java/com/qmth/digit/print/business/service/SysUserService.java
  28. 5 4
      digit-print-business/src/main/java/com/qmth/digit/print/business/service/impl/BasicAttachmentServiceImpl.java
  29. 3 3
      digit-print-business/src/main/java/com/qmth/digit/print/business/service/impl/BasicCardRuleServiceImpl.java
  30. 12 4
      digit-print-business/src/main/java/com/qmth/digit/print/business/service/impl/BasicCourseServiceImpl.java
  31. 2 5
      digit-print-business/src/main/java/com/qmth/digit/print/business/service/impl/BasicTemplateOrgServiceImpl.java
  32. 2 2
      digit-print-business/src/main/java/com/qmth/digit/print/business/service/impl/BasicTemplateServiceImpl.java
  33. 26 0
      digit-print-business/src/main/java/com/qmth/digit/print/business/service/impl/BasicUserCourseServiceImpl.java
  34. 36 1
      digit-print-business/src/main/java/com/qmth/digit/print/business/service/impl/ExamTaskServiceImpl.java
  35. 2 2
      digit-print-business/src/main/java/com/qmth/digit/print/business/service/impl/SysConfigServiceImpl.java
  36. 3 3
      digit-print-business/src/main/java/com/qmth/digit/print/business/service/impl/SysOrgServiceImpl.java
  37. 3 3
      digit-print-business/src/main/java/com/qmth/digit/print/business/service/impl/SysPrivilegeServiceImpl.java
  38. 0 12
      digit-print-business/src/main/java/com/qmth/digit/print/business/service/impl/SysRoleCourseServiceImpl.java
  39. 18 12
      digit-print-business/src/main/java/com/qmth/digit/print/business/service/impl/SysRoleServiceImpl.java
  40. 43 16
      digit-print-business/src/main/java/com/qmth/digit/print/business/service/impl/SysUserServiceImpl.java
  41. 22 22
      digit-print-business/src/main/resources/db/init-table.sql
  42. 2 2
      digit-print-business/src/main/resources/mapper/BasicCardRuleMapper.xml
  43. 3 3
      digit-print-business/src/main/resources/mapper/BasicCourseMapper.xml
  44. 35 1
      digit-print-business/src/main/resources/mapper/BasicTemplateMapper.xml
  45. 1 1
      digit-print-business/src/main/resources/mapper/BasicTemplateOrgMapper.xml
  46. 64 0
      digit-print-business/src/main/resources/mapper/ExamTaskMapper.xml
  47. 7 4
      digit-print-business/src/main/resources/mapper/SysConfigMapper.xml
  48. 3 2
      digit-print-business/src/main/resources/mapper/SysRoleMapper.xml
  49. 6 5
      digit-print-business/src/main/resources/mapper/SysUserMapper.xml
  50. 1 0
      digit-print-common/src/main/java/com/qmth/digit/print/common/enums/BackupMethodEnum.java
  51. 59 0
      digit-print-common/src/main/java/com/qmth/digit/print/common/enums/CardRequiredFieldsEnum.java
  52. 2 0
      digit-print-common/src/main/java/com/qmth/digit/print/common/enums/ClassifyEnum.java
  53. 1 0
      digit-print-common/src/main/java/com/qmth/digit/print/common/enums/DrawRuleEnum.java
  54. 3 1
      digit-print-common/src/main/java/com/qmth/digit/print/common/enums/EnumType.java
  55. 1 0
      digit-print-common/src/main/java/com/qmth/digit/print/common/enums/ExamNumberStyleEnum.java
  56. 1 0
      digit-print-common/src/main/java/com/qmth/digit/print/common/enums/ExamStatusEnum.java
  57. 1 0
      digit-print-common/src/main/java/com/qmth/digit/print/common/enums/PaperTypeEnum.java
  58. 1 0
      digit-print-common/src/main/java/com/qmth/digit/print/common/enums/PrintMethodEnum.java
  59. 1 0
      digit-print-common/src/main/java/com/qmth/digit/print/common/enums/PrivilegeTypeEnum.java
  60. 15 0
      digit-print-common/src/main/java/com/qmth/digit/print/common/enums/RequiredFieldsEnum.java
  61. 1 0
      digit-print-common/src/main/java/com/qmth/digit/print/common/enums/ReviewStatusEnum.java
  62. 1 0
      digit-print-common/src/main/java/com/qmth/digit/print/common/enums/RoleTypeEnum.java
  63. 1 1
      digit-print-common/src/main/java/com/qmth/digit/print/common/enums/Source.java
  64. 1 0
      digit-print-common/src/main/java/com/qmth/digit/print/common/enums/StorageLevelEnum.java
  65. 1 0
      digit-print-common/src/main/java/com/qmth/digit/print/common/enums/StorageTypeEnum.java
  66. 1 0
      digit-print-common/src/main/java/com/qmth/digit/print/common/enums/TemplateTypeEnum.java
  67. 20 2
      digit-print/src/main/java/com/qmth/digit/print/api/BasicAttachmentController.java
  68. 3 4
      digit-print/src/main/java/com/qmth/digit/print/api/BasicCourseController.java
  69. 2 1
      digit-print/src/main/java/com/qmth/digit/print/api/BasicExamRuleController.java
  70. 1 1
      digit-print/src/main/java/com/qmth/digit/print/api/BasicTemplateController.java
  71. 22 17
      digit-print/src/main/java/com/qmth/digit/print/api/EnumsController.java
  72. 70 1
      digit-print/src/main/java/com/qmth/digit/print/api/ExamTaskController.java
  73. 19 1
      digit-print/src/main/java/com/qmth/digit/print/api/SysController.java
  74. 3 3
      digit-print/src/main/java/com/qmth/digit/print/api/SysPrivilegeController.java
  75. 11 14
      digit-print/src/main/java/com/qmth/digit/print/api/SysUserController.java
  76. 0 20
      digit-print/src/main/java/com/qmth/digit/print/api/TBAttachmentController.java
  77. 1 1
      digit-print/src/main/java/com/qmth/digit/print/aspect/ApiControllerAspect.java
  78. 19 2
      digit-print/src/main/resources/application.properties

+ 26 - 0
digit-print-business/src/main/java/com/qmth/digit/print/business/bean/dto/BlurryUserDto.java

@@ -0,0 +1,26 @@
+package com.qmth.digit.print.business.bean.dto;
+
+/**
+ * @Date: 2021/3/31.
+ */
+public class BlurryUserDto {
+
+    private String id;
+    private String name;
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+}

+ 26 - 6
digit-print-business/src/main/java/com/qmth/digit/print/business/bean/dto/CardRuleDto.java

@@ -1,5 +1,7 @@
 package com.qmth.digit.print.business.bean.dto;
 
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import com.qmth.digit.print.business.entity.SysOrg;
 import com.qmth.digit.print.common.enums.ExamNumberStyleEnum;
 import com.qmth.digit.print.common.enums.PaperTypeEnum;
@@ -11,8 +13,8 @@ import java.util.List;
  */
 public class CardRuleDto {
 
-    private Long id;
-    private Long schoolId;
+    private String id;
+    private String schoolId;
     private String name;
     private ExamNumberStyleEnum examNumberStyle;
     private PaperTypeEnum paperType;
@@ -26,21 +28,23 @@ public class CardRuleDto {
     private String subjectiveAttention;
     private Boolean enable;
     private String remark;
+    private String createId;
+    private Long createTime;
     private List<SysOrg> orgs;
 
-    public Long getId() {
+    public String getId() {
         return id;
     }
 
-    public void setId(Long id) {
+    public void setId(String id) {
         this.id = id;
     }
 
-    public Long getSchoolId() {
+    public String getSchoolId() {
         return schoolId;
     }
 
-    public void setSchoolId(Long schoolId) {
+    public void setSchoolId(String schoolId) {
         this.schoolId = schoolId;
     }
 
@@ -148,6 +152,22 @@ public class CardRuleDto {
         this.remark = remark;
     }
 
+    public String getCreateId() {
+        return createId;
+    }
+
+    public void setCreateId(String createId) {
+        this.createId = createId;
+    }
+
+    public Long getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Long createTime) {
+        this.createTime = createTime;
+    }
+
     public List<SysOrg> getOrgs() {
         return orgs;
     }

+ 143 - 0
digit-print-business/src/main/java/com/qmth/digit/print/business/bean/dto/ExamTaskDto.java

@@ -0,0 +1,143 @@
+package com.qmth.digit.print.business.bean.dto;
+
+/**
+ * @Date: 2021/3/31.
+ */
+public class ExamTaskDto {
+
+    private String id;
+    private String paperNumber;
+    private String courseCode;
+    private String courseName;
+    private String specialty;
+    private String cardRuleId;
+    private String cardRuleName;
+    private String userId;
+    private String userName;
+    private Long startTime;
+    private Long endTime;
+    private String status;
+    private Boolean enable;
+    private String createId;
+    private Long createTime;
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getPaperNumber() {
+        return paperNumber;
+    }
+
+    public void setPaperNumber(String paperNumber) {
+        this.paperNumber = paperNumber;
+    }
+
+    public String getCourseCode() {
+        return courseCode;
+    }
+
+    public void setCourseCode(String courseCode) {
+        this.courseCode = courseCode;
+    }
+
+    public String getCourseName() {
+        return courseName;
+    }
+
+    public void setCourseName(String courseName) {
+        this.courseName = courseName;
+    }
+
+    public String getSpecialty() {
+        return specialty;
+    }
+
+    public void setSpecialty(String specialty) {
+        this.specialty = specialty;
+    }
+
+    public String getCardRuleId() {
+        return cardRuleId;
+    }
+
+    public void setCardRuleId(String cardRuleId) {
+        this.cardRuleId = cardRuleId;
+    }
+
+    public String getCardRuleName() {
+        return cardRuleName;
+    }
+
+    public void setCardRuleName(String cardRuleName) {
+        this.cardRuleName = cardRuleName;
+    }
+
+    public String getUserId() {
+        return userId;
+    }
+
+    public void setUserId(String userId) {
+        this.userId = userId;
+    }
+
+    public String getUserName() {
+        return userName;
+    }
+
+    public void setUserName(String userName) {
+        this.userName = userName;
+    }
+
+    public Long getStartTime() {
+        return startTime;
+    }
+
+    public void setStartTime(Long startTime) {
+        this.startTime = startTime;
+    }
+
+    public Long getEndTime() {
+        return endTime;
+    }
+
+    public void setEndTime(Long endTime) {
+        this.endTime = endTime;
+    }
+
+    public String getStatus() {
+        return status;
+    }
+
+    public void setStatus(String status) {
+        this.status = status;
+    }
+
+    public Boolean getEnable() {
+        return enable;
+    }
+
+    public void setEnable(Boolean enable) {
+        this.enable = enable;
+    }
+
+    public String getCreateId() {
+        return createId;
+    }
+
+    public void setCreateId(String createId) {
+        this.createId = createId;
+    }
+
+    public Long getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Long createTime) {
+        this.createTime = createTime;
+    }
+}

+ 6 - 6
digit-print-business/src/main/java/com/qmth/digit/print/business/bean/dto/OrgDto.java

@@ -8,27 +8,27 @@ import java.util.List;
  */
 public class OrgDto {
 
-    private Long id;
-    private Long schoolId;
+    private String id;
+    private String schoolId;
     private String code;
     private String name;
     private Long parentId;
     private Boolean enable;
     private List<OrgDto> children = new ArrayList<>();
 
-    public Long getId() {
+    public String getId() {
         return id;
     }
 
-    public void setId(Long id) {
+    public void setId(String id) {
         this.id = id;
     }
 
-    public Long getSchoolId() {
+    public String getSchoolId() {
         return schoolId;
     }
 
-    public void setSchoolId(Long schoolId) {
+    public void setSchoolId(String schoolId) {
         this.schoolId = schoolId;
     }
 

+ 6 - 6
digit-print-business/src/main/java/com/qmth/digit/print/business/bean/dto/PrivilegeDto.java

@@ -10,8 +10,8 @@ import java.util.List;
  */
 public class PrivilegeDto {
 
-    private Long id;
-    private Long schoolId;
+    private String id;
+    private String schoolId;
     private String name;
     private String url;
     private PrivilegeTypeEnum type;
@@ -19,19 +19,19 @@ public class PrivilegeDto {
     private Integer sortNumber;
     private List<PrivilegeDto> children = new ArrayList<>();
 
-    public Long getId() {
+    public String getId() {
         return id;
     }
 
-    public void setId(Long id) {
+    public void setId(String id) {
         this.id = id;
     }
 
-    public Long getSchoolId() {
+    public String getSchoolId() {
         return schoolId;
     }
 
-    public void setSchoolId(Long schoolId) {
+    public void setSchoolId(String schoolId) {
         this.schoolId = schoolId;
     }
 

+ 9 - 11
digit-print-business/src/main/java/com/qmth/digit/print/business/bean/dto/TemplateDto.java

@@ -2,8 +2,6 @@ package com.qmth.digit.print.business.bean.dto;
 
 import com.qmth.digit.print.business.entity.SysOrg;
 import com.qmth.digit.print.common.enums.ClassifyEnum;
-import com.qmth.digit.print.common.enums.ExamNumberStyleEnum;
-import com.qmth.digit.print.common.enums.PaperTypeEnum;
 import com.qmth.digit.print.common.enums.TemplateTypeEnum;
 
 import java.util.List;
@@ -13,31 +11,31 @@ import java.util.List;
  */
 public class TemplateDto {
 
-    private Long id;
-    private Long schoolId;
+    private String id;
+    private String schoolId;
     private String name;
     private TemplateTypeEnum type;
     private ClassifyEnum classify;
     private Long attachmentId;
     private Boolean enable;
     private String remark;
-    private Long createId;
+    private String createId;
     private Long createTime;
     private List<SysOrg> orgs;
 
-    public Long getId() {
+    public String getId() {
         return id;
     }
 
-    public void setId(Long id) {
+    public void setId(String id) {
         this.id = id;
     }
 
-    public Long getSchoolId() {
+    public String getSchoolId() {
         return schoolId;
     }
 
-    public void setSchoolId(Long schoolId) {
+    public void setSchoolId(String schoolId) {
         this.schoolId = schoolId;
     }
 
@@ -89,11 +87,11 @@ public class TemplateDto {
         this.remark = remark;
     }
 
-    public Long getCreateId() {
+    public String getCreateId() {
         return createId;
     }
 
-    public void setCreateId(Long createId) {
+    public void setCreateId(String createId) {
         this.createId = createId;
     }
 

+ 9 - 0
digit-print-business/src/main/java/com/qmth/digit/print/business/bean/dto/UserDto.java

@@ -17,6 +17,7 @@ public class UserDto {
     private String mobileNumber;
     private Boolean enable;
     private String remark;
+    private String orgId;
 
     private List<SysRole> roles;
 
@@ -78,6 +79,14 @@ public class UserDto {
         this.remark = remark;
     }
 
+    public String getOrgId() {
+        return orgId;
+    }
+
+    public void setOrgId(String orgId) {
+        this.orgId = orgId;
+    }
+
     public List<SysRole> getRoles() {
         return roles;
     }

+ 10 - 10
digit-print-business/src/main/java/com/qmth/digit/print/business/bean/query/CourseParam.java

@@ -7,22 +7,22 @@ import com.qmth.digit.print.business.base.BasePage;
  */
 public class CourseParam extends BasePage {
 
-    private String courseCode;
-    private String courseName;
+    private String code;
+    private String name;
 
-    public String getCourseCode() {
-        return courseCode;
+    public String getCode() {
+        return code;
     }
 
-    public void setCourseCode(String courseCode) {
-        this.courseCode = courseCode;
+    public void setCode(String code) {
+        this.code = code;
     }
 
-    public String getCourseName() {
-        return courseName;
+    public String getName() {
+        return name;
     }
 
-    public void setCourseName(String courseName) {
-        this.courseName = courseName;
+    public void setName(String name) {
+        this.name = name;
     }
 }

+ 73 - 0
digit-print-business/src/main/java/com/qmth/digit/print/business/bean/query/ExamTaskParam.java

@@ -0,0 +1,73 @@
+package com.qmth.digit.print.business.bean.query;
+
+import com.qmth.digit.print.business.base.BasePage;
+
+/**
+ * @Date: 2021/3/23.
+ */
+public class ExamTaskParam extends BasePage {
+
+    private Boolean enable;
+    private String status;
+    private Long cardRuleId;
+    private String courseCode;
+    private String paperNumber;
+    private Long startTime;
+    private Long endTime;
+
+    public Boolean getEnable() {
+        return enable;
+    }
+
+    public void setEnable(Boolean enable) {
+        this.enable = enable;
+    }
+
+    public String getStatus() {
+        return status;
+    }
+
+    public void setStatus(String status) {
+        this.status = status;
+    }
+
+    public Long getCardRuleId() {
+        return cardRuleId;
+    }
+
+    public void setCardRuleId(Long cardRuleId) {
+        this.cardRuleId = cardRuleId;
+    }
+
+    public String getCourseCode() {
+        return courseCode;
+    }
+
+    public void setCourseCode(String courseCode) {
+        this.courseCode = courseCode;
+    }
+
+    public String getPaperNumber() {
+        return paperNumber;
+    }
+
+    public void setPaperNumber(String paperNumber) {
+        this.paperNumber = paperNumber;
+    }
+
+    public Long getStartTime() {
+        return startTime;
+    }
+
+    public void setStartTime(Long startTime) {
+        this.startTime = startTime;
+    }
+
+    public Long getEndTime() {
+        return endTime;
+    }
+
+    public void setEndTime(Long endTime) {
+        this.endTime = endTime;
+    }
+}

+ 18 - 0
digit-print-business/src/main/java/com/qmth/digit/print/business/bean/query/TemplateParam.java

@@ -10,6 +10,8 @@ public class TemplateParam extends BasePage {
     private Boolean enable;
     private String type;
     private String name;
+    private Long startTime;
+    private Long endTime;
 
     public Boolean getEnable() {
         return enable;
@@ -34,4 +36,20 @@ public class TemplateParam extends BasePage {
     public void setName(String name) {
         this.name = name;
     }
+
+    public Long getStartTime() {
+        return startTime;
+    }
+
+    public void setStartTime(Long startTime) {
+        this.startTime = startTime;
+    }
+
+    public Long getEndTime() {
+        return endTime;
+    }
+
+    public void setEndTime(Long endTime) {
+        this.endTime = endTime;
+    }
 }

+ 5 - 5
digit-print-business/src/main/java/com/qmth/digit/print/business/bean/query/UserParam.java

@@ -7,17 +7,17 @@ import com.qmth.digit.print.business.base.BasePage;
  */
 public class UserParam extends BasePage {
 
-    private String loginName;
+    private String realName;
     private Long roleId;
     private Boolean enable;
 
 
-    public String getLoginName() {
-        return loginName;
+    public String getRealName() {
+        return realName;
     }
 
-    public void setLoginName(String loginName) {
-        this.loginName = loginName;
+    public void setRealName(String realName) {
+        this.realName = realName;
     }
 
     public Long getRoleId() {

+ 1 - 1
digit-print-business/src/main/java/com/qmth/digit/print/business/entity/BasicCardRule.java

@@ -79,7 +79,7 @@ public class BasicCardRule extends BaseEntity implements Serializable {
     /**
      * 0-禁用,1-启用
      */
-    private Boolean enable;
+    private Boolean enable = true;
     /**
      * 备注
      */

+ 1 - 1
digit-print-business/src/main/java/com/qmth/digit/print/business/entity/BasicTemplate.java

@@ -44,7 +44,7 @@ public class BasicTemplate extends BaseEntity implements Serializable {
     /**
      * 0-禁用,1-启用
      */
-    private Boolean enable;
+    private Boolean enable = true;
     /**
      * 备注
      */

+ 28 - 15
digit-print-business/src/main/java/com/qmth/digit/print/business/entity/SysConfig.java

@@ -1,5 +1,6 @@
 package com.qmth.digit.print.business.entity;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.qmth.digit.print.business.base.BaseEntity;
 
@@ -21,39 +22,51 @@ public class SysConfig extends BaseEntity implements Serializable {
     /**
      * 参数键值
      */
-    private String key;
+    @TableField("config_key")
+    private String configKey;
 
     /**
      * 参数名称
      */
-    private String name;
+    @TableField("config_name")
+    private String configName;
     /**
      * 参数键值
      */
-    private String value;
+    @TableField("config_value")
+    private String configValue;
 
-    public String getKey() {
-        return key;
+    private String remark;
+
+    public String getConfigKey() {
+        return configKey;
+    }
+
+    public void setConfigKey(String configKey) {
+        this.configKey = configKey;
     }
 
-    public void setKey(String key) {
-        this.key = key;
+    public String getConfigName() {
+        return configName;
     }
 
-    public String getName() {
-        return name;
+    public void setConfigName(String configName) {
+        this.configName = configName;
     }
 
-    public void setName(String name) {
-        this.name = name;
+    public String getConfigValue() {
+        return configValue;
     }
 
-    public String getValue() {
-        return value;
+    public void setConfigValue(String configValue) {
+        this.configValue = configValue;
     }
 
-    public void setValue(String value) {
-        this.value = value;
+    public String getRemark() {
+        return remark;
     }
 
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
 }

+ 0 - 10
digit-print-business/src/main/java/com/qmth/digit/print/business/entity/SysRole.java

@@ -41,9 +41,6 @@ public class SysRole extends BaseEntity implements Serializable {
     @TableField(exist = false)
     private Long[] privilegeIds;
 
-    @TableField(exist = false)
-    private Long[] courseIds;
-
     public Long getSchoolId() {
         return schoolId;
     }
@@ -84,11 +81,4 @@ public class SysRole extends BaseEntity implements Serializable {
         this.privilegeIds = privilegeIds;
     }
 
-    public Long[] getCourseIds() {
-        return courseIds;
-    }
-
-    public void setCourseIds(Long[] courseIds) {
-        this.courseIds = courseIds;
-    }
 }

+ 11 - 0
digit-print-business/src/main/java/com/qmth/digit/print/business/entity/SysUser.java

@@ -62,6 +62,9 @@ public class SysUser extends BaseEntity implements Serializable {
     @TableField(exist = false)
     private Long[] roleIds;
 
+    @TableField(exist = false)
+    private Long[] courseIds;
+
     public Long getSchoolId() {
         return schoolId;
     }
@@ -141,4 +144,12 @@ public class SysUser extends BaseEntity implements Serializable {
     public void setRoleIds(Long[] roleIds) {
         this.roleIds = roleIds;
     }
+
+    public Long[] getCourseIds() {
+        return courseIds;
+    }
+
+    public void setCourseIds(Long[] courseIds) {
+        this.courseIds = courseIds;
+    }
 }

+ 1 - 1
digit-print-business/src/main/java/com/qmth/digit/print/business/mapper/BasicCourseMapper.java

@@ -19,7 +19,7 @@ import java.util.List;
  */
 public interface BasicCourseMapper extends BaseMapper<BasicCourse> {
 
-    List<BasicCourse> listCoursesByUserId(String id);
+    List<BasicCourse> listCoursesByUserId(Long id);
 
     IPage<BasicCourse> listPage(Page<BasicCourse> page, @Param("param") CourseParam param);
 }

+ 12 - 0
digit-print-business/src/main/java/com/qmth/digit/print/business/mapper/ExamTaskMapper.java

@@ -1,7 +1,16 @@
 package com.qmth.digit.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.digit.print.business.bean.dto.BlurryUserDto;
+import com.qmth.digit.print.business.bean.dto.ExamTaskDto;
+import com.qmth.digit.print.business.bean.query.BlurryParam;
+import com.qmth.digit.print.business.bean.query.ExamTaskParam;
 import com.qmth.digit.print.business.entity.ExamTask;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * <p>
@@ -13,4 +22,7 @@ import com.qmth.digit.print.business.entity.ExamTask;
  */
 public interface ExamTaskMapper extends BaseMapper<ExamTask> {
 
+    IPage<ExamTaskDto> listPage(Page<ExamTaskDto> page, @Param("param") ExamTaskParam param);
+
+    List<BlurryUserDto> listUser(@Param("param") BlurryParam param);
 }

+ 1 - 1
digit-print-business/src/main/java/com/qmth/digit/print/business/mapper/SysRoleMapper.java

@@ -19,7 +19,7 @@ import java.util.List;
  */
 public interface SysRoleMapper extends BaseMapper<SysRole> {
 
-    List<SysRole> listRolesByUserId(String id);
+    List<SysRole> listRolesByUserId(Long id);
 
     IPage<SysRole> listPage(Page<SysRole> page, @Param("param") RoleParam param);
 }

+ 1 - 1
digit-print-business/src/main/java/com/qmth/digit/print/business/service/BasicAttachmentService.java

@@ -14,5 +14,5 @@ import org.springframework.web.multipart.MultipartFile;
  */
 public interface BasicAttachmentService extends IService<BasicAttachment> {
 
-    Long save(MultipartFile file, String md5, Long schoolId, Long userId);
+    BasicAttachment save(MultipartFile file, String md5, Long schoolId, Long userId);
 }

+ 2 - 0
digit-print-business/src/main/java/com/qmth/digit/print/business/service/BasicCourseService.java

@@ -25,4 +25,6 @@ public interface BasicCourseService extends IService<BasicCourse> {
     boolean saveCourse(BasicCourse course);
 
     boolean remove(Long id);
+
+    List<BasicCourse> listCoursesByUserId(Long userId);
 }

+ 2 - 2
digit-print-business/src/main/java/com/qmth/digit/print/business/service/BasicTemplateOrgService.java

@@ -1,9 +1,9 @@
 package com.qmth.digit.print.business.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
-import com.qmth.digit.print.business.entity.BasicCardRule;
 import com.qmth.digit.print.business.entity.BasicTemplateOrg;
 import com.qmth.digit.print.business.entity.SysOrg;
+import com.qmth.digit.print.common.enums.TemplateTypeEnum;
 
 import java.util.List;
 
@@ -21,5 +21,5 @@ public interface BasicTemplateOrgService extends IService<BasicTemplateOrg> {
 
     void removeByRuleId(Long id);
 
-    void saveBatch(Long ruleId, Long[] orgIds, Long createId);
+    void saveBatch(TemplateTypeEnum type, Long ruleId, Long[] orgIds, Long createId);
 }

+ 4 - 0
digit-print-business/src/main/java/com/qmth/digit/print/business/service/BasicUserCourseService.java

@@ -2,6 +2,7 @@ package com.qmth.digit.print.business.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.qmth.digit.print.business.entity.BasicUserCourse;
+import com.qmth.digit.print.business.entity.SysUser;
 
 /**
  * <p>
@@ -13,4 +14,7 @@ import com.qmth.digit.print.business.entity.BasicUserCourse;
  */
 public interface BasicUserCourseService extends IService<BasicUserCourse> {
 
+    void removeByUserId(Long userId);
+
+    void saveBatch(SysUser sysUser);
 }

+ 11 - 0
digit-print-business/src/main/java/com/qmth/digit/print/business/service/ExamTaskService.java

@@ -1,6 +1,11 @@
 package com.qmth.digit.print.business.service;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.qmth.digit.print.business.bean.dto.BlurryUserDto;
+import com.qmth.digit.print.business.bean.dto.ExamTaskDto;
+import com.qmth.digit.print.business.bean.query.BlurryParam;
+import com.qmth.digit.print.business.bean.query.ExamTaskParam;
 import com.qmth.digit.print.business.entity.ExamTask;
 
 import java.util.List;
@@ -16,4 +21,10 @@ import java.util.List;
 public interface ExamTaskService extends IService<ExamTask> {
 
     List<ExamTask> listByCourseCode(Long schoolId, String code);
+
+    IPage<ExamTaskDto> list(ExamTaskParam param);
+
+    List<String> listPaperNumber(BlurryParam param);
+
+    List<BlurryUserDto> listUser(BlurryParam param);
 }

+ 0 - 2
digit-print-business/src/main/java/com/qmth/digit/print/business/service/SysRoleCourseService.java

@@ -15,6 +15,4 @@ import com.qmth.digit.print.business.entity.SysRoleCourse;
 public interface SysRoleCourseService extends IService<SysRoleCourse> {
 
     void removeByRoleId(Long id);
-
-    void saveBatch(SysRole role);
 }

+ 4 - 0
digit-print-business/src/main/java/com/qmth/digit/print/business/service/SysRoleService.java

@@ -26,4 +26,8 @@ public interface SysRoleService extends IService<SysRole> {
     boolean remove(Long id);
 
     List<Long> getUserRoles(Long userId);
+
+    List<SysRole> listRolesByUserId(Long id);
+
+    List<SysRole> list(Long[] roleIds, String name);
 }

+ 1 - 1
digit-print-business/src/main/java/com/qmth/digit/print/business/service/SysUserService.java

@@ -26,5 +26,5 @@ public interface SysUserService extends IService<SysUser> {
 
     boolean updatePassword(Long id, String oldPassword, String password);
 
-    boolean bindRoles(Long id, Long... roleIds);
+    boolean bindRoles(SysUser sysUser);
 }

+ 5 - 4
digit-print-business/src/main/java/com/qmth/digit/print/business/service/impl/BasicAttachmentServiceImpl.java

@@ -11,6 +11,7 @@ import com.qmth.digit.print.common.enums.ExceptionResultEnum;
 import com.qmth.digit.print.common.enums.StorageLevelEnum;
 import com.qmth.digit.print.common.enums.StorageTypeEnum;
 import com.qmth.digit.print.common.util.MD5Util;
+import org.apache.commons.codec.digest.DigestUtils;
 import org.apache.commons.io.FileUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -38,7 +39,7 @@ public class BasicAttachmentServiceImpl extends ServiceImpl<BasicAttachmentMappe
     private DictionaryConfig dictionaryConfig;
 
     @Override
-    public Long save(MultipartFile file, String md5, Long schoolId, Long userId) {
+    public BasicAttachment save(MultipartFile file, String md5, Long schoolId, Long userId) {
         try {
             if (file == null) {
                 throw ExceptionResultEnum.ERROR.exception("文件为空");
@@ -65,7 +66,7 @@ public class BasicAttachmentServiceImpl extends ServiceImpl<BasicAttachmentMappe
             }
 
             // md5
-            String fileMd5 = Md5Utils.toHex(file.getBytes());
+            String fileMd5 = DigestUtils.md5Hex(file.getBytes());
             if (!md5.equals(fileMd5)) {
                 throw ExceptionResultEnum.ERROR.exception("md5不一致,文件可能损坏");
             }
@@ -96,7 +97,7 @@ public class BasicAttachmentServiceImpl extends ServiceImpl<BasicAttachmentMappe
                 attachment.setPath(newFile.getPath());
             }
 
-            attachment.setName(file.getName());
+            attachment.setName(file.getOriginalFilename());
             attachment.setType(type);
             attachment.setSize(Math.toIntExact(size));
             attachment.setMd5(md5);
@@ -106,7 +107,7 @@ public class BasicAttachmentServiceImpl extends ServiceImpl<BasicAttachmentMappe
             attachment.setCreateTime(System.currentTimeMillis());
 
             this.save(attachment);
-            return attachment.getId();
+            return attachment;
         } catch (IOException e) {
             e.printStackTrace();
         } finally {

+ 3 - 3
digit-print-business/src/main/java/com/qmth/digit/print/business/service/impl/BasicCardRuleServiceImpl.java

@@ -43,7 +43,7 @@ public class BasicCardRuleServiceImpl extends ServiceImpl<BasicCardRuleMapper, B
         if (cardRuleDtoIPage.getRecords().size() > 0) {
             cardRuleDtoIPage.getRecords().forEach(m -> {
                 //查询适用学院
-                List<SysOrg> sysOrgs = basicTemplateOrgService.listByTypeAndTemplateId(TemplateTypeEnum.CARD_RULE.name(), m.getId());
+                List<SysOrg> sysOrgs = basicTemplateOrgService.listByTypeAndTemplateId(TemplateTypeEnum.CARD_RULE.name(), Long.valueOf(m.getId()));
                 m.setOrgs(sysOrgs);
             });
         }
@@ -74,7 +74,7 @@ public class BasicCardRuleServiceImpl extends ServiceImpl<BasicCardRuleMapper, B
         BasicCardRule basicCardRule = this.getOne(queryWrapper);
         boolean isSuccess;
         // 新增
-        if (Objects.isNull(basicCardRule.getId())) {
+        if (Objects.isNull(cardRule.getId())) {
             if (basicCardRule != null) {
                 throw ExceptionResultEnum.ERROR.exception("题卡规则名称已存在");
             }
@@ -96,7 +96,7 @@ public class BasicCardRuleServiceImpl extends ServiceImpl<BasicCardRuleMapper, B
         }
 
         // 新增权限
-        basicTemplateOrgService.saveBatch(cardRule.getId(), cardRule.getOrgIds(), cardRule.getCreateId());
+        basicTemplateOrgService.saveBatch(TemplateTypeEnum.CARD_RULE, cardRule.getId(), cardRule.getOrgIds(), cardRule.getCreateId());
 
         return isSuccess;
     }

+ 12 - 4
digit-print-business/src/main/java/com/qmth/digit/print/business/service/impl/BasicCourseServiceImpl.java

@@ -12,6 +12,7 @@ import com.qmth.digit.print.business.mapper.BasicCourseMapper;
 import com.qmth.digit.print.business.service.BasicCourseService;
 import com.qmth.digit.print.business.service.ExamTaskService;
 import com.qmth.digit.print.common.enums.ExceptionResultEnum;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -42,8 +43,10 @@ public class BasicCourseServiceImpl extends ServiceImpl<BasicCourseMapper, Basic
     @Override
     public List<BasicCourse> list(BlurryParam param) {
         QueryWrapper<BasicCourse> queryWrapper = new QueryWrapper<>();
-        queryWrapper.lambda().eq(BasicCourse::getSchoolId, param.getSchoolId())
-                .and(i -> i.like(BasicCourse::getCode, param.getParam()).or().like(BasicCourse::getName, param.getParam()));
+        if (StringUtils.isNotBlank(param.getParam())) {
+            queryWrapper.lambda().eq(BasicCourse::getSchoolId, param.getSchoolId())
+                    .and(i -> i.like(BasicCourse::getCode, param.getParam()).or().like(BasicCourse::getName, param.getParam()));
+        }
         return this.list(queryWrapper);
     }
 
@@ -61,13 +64,13 @@ public class BasicCourseServiceImpl extends ServiceImpl<BasicCourseMapper, Basic
              course.setCreateTime(System.currentTimeMillis());
         }
         // 修改
-        {
+        else {
             if (basicCourse != null && basicCourse.getId() != course.getId()) {
                 throw ExceptionResultEnum.ERROR.exception("课程已存在");
             }
 
             // 旧code是否已有命题任务
-            BasicCourse oldCourse = this.baseMapper.selectById(course.getId());
+            BasicCourse oldCourse = this.getById(course.getId());
             List<ExamTask> taskList = examTaskService.listByCourseCode(oldCourse.getSchoolId(), oldCourse.getCode());
             if(taskList != null && taskList.size() > 0){
                 throw ExceptionResultEnum.ERROR.exception("课程绑定命题任务,不能修改");
@@ -87,4 +90,9 @@ public class BasicCourseServiceImpl extends ServiceImpl<BasicCourseMapper, Basic
         }
         return this.removeById(id);
     }
+
+    @Override
+    public List<BasicCourse> listCoursesByUserId(Long userId) {
+        return this.baseMapper.listCoursesByUserId(userId);
+    }
 }

+ 2 - 5
digit-print-business/src/main/java/com/qmth/digit/print/business/service/impl/BasicTemplateOrgServiceImpl.java

@@ -2,8 +2,6 @@ package com.qmth.digit.print.business.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.qmth.digit.print.business.entity.BasicCardRule;
-import com.qmth.digit.print.business.entity.BasicExamRule;
 import com.qmth.digit.print.business.entity.BasicTemplateOrg;
 import com.qmth.digit.print.business.entity.SysOrg;
 import com.qmth.digit.print.business.mapper.BasicTemplateOrgMapper;
@@ -11,7 +9,6 @@ import com.qmth.digit.print.business.service.BasicTemplateOrgService;
 import com.qmth.digit.print.common.enums.TemplateTypeEnum;
 import org.springframework.stereotype.Service;
 
-import java.awt.geom.QuadCurve2D;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -39,11 +36,11 @@ public class BasicTemplateOrgServiceImpl extends ServiceImpl<BasicTemplateOrgMap
     }
 
     @Override
-    public void saveBatch(Long ruleId, Long[] orgIds, Long createId) {
+    public void saveBatch(TemplateTypeEnum type, Long ruleId, Long[] orgIds, Long createId) {
         List<BasicTemplateOrg> list = new ArrayList<>();
         for (Long orgId : orgIds) {
             BasicTemplateOrg basicTemplateOrg = new BasicTemplateOrg();
-            basicTemplateOrg.setType(TemplateTypeEnum.CARD_RULE);
+            basicTemplateOrg.setType(type);
             basicTemplateOrg.setRuleId(ruleId);
             basicTemplateOrg.setOrgId(orgId);
             basicTemplateOrg.setCreateId(createId);

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

@@ -40,7 +40,7 @@ public class BasicTemplateServiceImpl extends ServiceImpl<BasicTemplateMapper, B
         if (templateDtoIPage.getRecords().size() > 0) {
             templateDtoIPage.getRecords().forEach(m -> {
                 //查询适用学院
-                List<SysOrg> sysOrgs = basicTemplateOrgService.listByTypeAndTemplateId(param.getType(), m.getId());
+                List<SysOrg> sysOrgs = basicTemplateOrgService.listByTypeAndTemplateId(param.getType(), Long.valueOf(m.getId()));
                 m.setOrgs(sysOrgs);
             });
         }
@@ -77,7 +77,7 @@ public class BasicTemplateServiceImpl extends ServiceImpl<BasicTemplateMapper, B
         }
 
         // 新增权限
-        basicTemplateOrgService.saveBatch(template.getId(), template.getOrgIds(), template.getCreateId());
+        basicTemplateOrgService.saveBatch(template.getType(), template.getId(), template.getOrgIds(), template.getCreateId());
 
         return isSuccess;
     }

+ 26 - 0
digit-print-business/src/main/java/com/qmth/digit/print/business/service/impl/BasicUserCourseServiceImpl.java

@@ -1,11 +1,16 @@
 package com.qmth.digit.print.business.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qmth.digit.print.business.entity.BasicUserCourse;
+import com.qmth.digit.print.business.entity.SysUser;
 import com.qmth.digit.print.business.mapper.BasicUserCourseMapper;
 import com.qmth.digit.print.business.service.BasicUserCourseService;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
+import java.util.List;
+
 /**
  * <p>
  * 用户和课程关联表 服务实现类
@@ -17,4 +22,25 @@ import org.springframework.stereotype.Service;
 @Service
 public class BasicUserCourseServiceImpl extends ServiceImpl<BasicUserCourseMapper, BasicUserCourse> implements BasicUserCourseService {
 
+    @Override
+    public void removeByUserId(Long userId) {
+        UpdateWrapper<BasicUserCourse> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.lambda().eq(BasicUserCourse::getUserId, userId);
+        this.baseMapper.delete(updateWrapper);
+    }
+
+    @Override
+    public void saveBatch(SysUser sysUser) {
+        Long[] courseIds = sysUser.getCourseIds();
+        List<BasicUserCourse> list = new ArrayList<>();
+        for (Long courseId : courseIds) {
+            BasicUserCourse userCourse = new BasicUserCourse();
+            userCourse.setUserId(sysUser.getId());
+            userCourse.setCourseId(courseId);
+            userCourse.setCreateId(sysUser.getId());
+            userCourse.setCreateTime(System.currentTimeMillis());
+            list.add(userCourse);
+        }
+        this.saveBatch(list);
+    }
 }

+ 36 - 1
digit-print-business/src/main/java/com/qmth/digit/print/business/service/impl/ExamTaskServiceImpl.java

@@ -1,14 +1,22 @@
 package com.qmth.digit.print.business.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+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.digit.print.business.bean.dto.BlurryUserDto;
+import com.qmth.digit.print.business.bean.dto.ExamTaskDto;
+import com.qmth.digit.print.business.bean.query.BlurryParam;
+import com.qmth.digit.print.business.bean.query.ExamTaskParam;
 import com.qmth.digit.print.business.entity.ExamTask;
 import com.qmth.digit.print.business.mapper.ExamTaskMapper;
 import com.qmth.digit.print.business.service.ExamTaskService;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
 
-import javax.management.Query;
+import java.util.ArrayList;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -27,4 +35,31 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
         queryWrapper.lambda().eq(ExamTask::getSchoolId, schoolId).eq(ExamTask::getCourseCode, code);
         return this.list(queryWrapper);
     }
+
+    @Override
+    public IPage<ExamTaskDto> list(ExamTaskParam param) {
+        Page<ExamTaskDto> page = new Page<>(param.getPageNumber(), param.getPageSize());
+        IPage<ExamTaskDto> examTaskDtoIPage = this.baseMapper.listPage(page, param);
+        return examTaskDtoIPage;
+    }
+
+    @Override
+    public List<String> listPaperNumber(BlurryParam param) {
+        QueryWrapper<ExamTask> queryWrapper = new QueryWrapper<>();
+        List<String> list = new ArrayList<>();
+        if (StringUtils.isNotBlank(param.getParam())) {
+            queryWrapper.lambda().eq(ExamTask::getSchoolId, param.getSchoolId())
+                    .and(i -> i.like(ExamTask::getCourseCode, param.getParam()).or().like(ExamTask::getCourseName, param.getParam()));
+        }
+        List<ExamTask> examTasks = this.list(queryWrapper);
+        if (examTasks != null && examTasks.size() > 0) {
+            list = examTasks.stream().map(m -> m.getPaperNumber()).distinct().collect(Collectors.toList());
+        }
+        return list;
+    }
+
+    @Override
+    public List<BlurryUserDto> listUser(BlurryParam param) {
+        return this.baseMapper.listUser(param);
+    }
 }

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

@@ -26,8 +26,8 @@ public class SysConfigServiceImpl extends ServiceImpl<SysConfigMapper, SysConfig
             throw ExceptionResultEnum.ERROR.exception("key不能为空");
         }
         QueryWrapper<SysConfig> queryWrapper = new QueryWrapper<>();
-        queryWrapper.lambda().eq(SysConfig::getKey, key);
+        queryWrapper.lambda().eq(SysConfig::getConfigKey, key);
         SysConfig sysConfig = this.baseMapper.selectOne(queryWrapper);
-        return sysConfig == null ? null : sysConfig.getValue();
+        return sysConfig == null ? null : sysConfig.getConfigValue();
     }
 }

+ 3 - 3
digit-print-business/src/main/java/com/qmth/digit/print/business/service/impl/SysOrgServiceImpl.java

@@ -37,8 +37,8 @@ public class SysOrgServiceImpl extends ServiceImpl<SysOrgMapper, SysOrg> impleme
         Map<Long, OrgDto> map = new LinkedHashMap<>();
         for (SysOrg sysOrg : orgList) {
             OrgDto orgDto = new OrgDto();
-            orgDto.setId(sysOrg.getId());
-            orgDto.setSchoolId(sysOrg.getSchoolId());
+            orgDto.setId(String.valueOf(sysOrg.getId()));
+            orgDto.setSchoolId(String.valueOf(sysOrg.getSchoolId()));
             orgDto.setCode(sysOrg.getCode());
             orgDto.setName(sysOrg.getName());
             orgDto.setParentId(sysOrg.getParentId());
@@ -65,7 +65,7 @@ public class SysOrgServiceImpl extends ServiceImpl<SysOrgMapper, SysOrg> impleme
     @Override
     public boolean saveOrg(SysOrg org) {
         QueryWrapper<SysOrg> queryWrapper = new QueryWrapper<>();
-        queryWrapper.lambda().eq(SysOrg::getSchoolId, org.getSchoolId()).eq(SysOrg::getCode, org.getCode());
+        queryWrapper.lambda().eq(SysOrg::getSchoolId, org.getSchoolId()).eq(SysOrg::getParentId, org.getParentId()).eq(SysOrg::getCode, org.getCode());
         SysOrg sysOrg = this.getOne(queryWrapper);
 
         boolean isSuccess;

+ 3 - 3
digit-print-business/src/main/java/com/qmth/digit/print/business/service/impl/SysPrivilegeServiceImpl.java

@@ -37,8 +37,8 @@ public class SysPrivilegeServiceImpl extends ServiceImpl<SysPrivilegeMapper, Sys
         Map<Long, PrivilegeDto> map = new LinkedHashMap<>();
         for (SysPrivilege privilege : orgList) {
             PrivilegeDto privilegeDto = new PrivilegeDto();
-            privilegeDto.setId(privilege.getId());
-            privilegeDto.setSchoolId(privilege.getSchoolId());
+            privilegeDto.setId(String.valueOf(privilege.getId()));
+            privilegeDto.setSchoolId(String.valueOf(privilege.getSchoolId()));
             privilegeDto.setName(privilege.getName());
             privilegeDto.setUrl(privilege.getUrl());
             privilegeDto.setType(privilege.getType());
@@ -66,7 +66,7 @@ public class SysPrivilegeServiceImpl extends ServiceImpl<SysPrivilegeMapper, Sys
     @Override
     public boolean savePrivilege(SysPrivilege privilege) {
         QueryWrapper<SysPrivilege> queryWrapper = new QueryWrapper<>();
-        queryWrapper.lambda().eq(SysPrivilege::getSchoolId, privilege.getSchoolId()).eq(SysPrivilege::getName, privilege.getName());
+        queryWrapper.lambda().eq(SysPrivilege::getSchoolId, privilege.getSchoolId()).eq(SysPrivilege::getParentId, privilege.getParentId()).eq(SysPrivilege::getName, privilege.getName());
         SysPrivilege sysPrivilege = this.getOne(queryWrapper);
 
         boolean isSuccess;

+ 0 - 12
digit-print-business/src/main/java/com/qmth/digit/print/business/service/impl/SysRoleCourseServiceImpl.java

@@ -28,16 +28,4 @@ public class SysRoleCourseServiceImpl extends ServiceImpl<SysRoleCourseMapper, S
         updateWrapper.lambda().eq(SysRoleCourse::getRoleId, id);
         this.remove(updateWrapper);
     }
-
-    @Override
-    public void saveBatch(SysRole role) {
-        List<SysRoleCourse> list = new ArrayList<>();
-        for (Long courseId : role.getCourseIds()) {
-            SysRoleCourse sysRoleCourse = new SysRoleCourse();
-            sysRoleCourse.setRoleId(role.getId());
-            sysRoleCourse.setCourseId(courseId);
-            list.add(sysRoleCourse);
-        }
-        this.saveBatch(list);
-    }
 }

+ 18 - 12
digit-print-business/src/main/java/com/qmth/digit/print/business/service/impl/SysRoleServiceImpl.java

@@ -73,23 +73,17 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
 
             role.setUpdateTime(System.currentTimeMillis());
 
-            //删除权限
-            sysRolePrivilegeService.removeByRoleId(role.getId());
-
-            //命题老师,删除科目
-            if (role.getType().name().equals(RoleTypeEnum.QUESTION_TEACHER.name())) {
-                sysRoleCourseService.removeByRoleId(role.getId());
+            if(RoleTypeEnum.CUSTOM.equals(role.getType())) {
+                //删除权限
+                sysRolePrivilegeService.removeByRoleId(role.getId());
             }
             isSuccess = this.updateById(role);
 
         }
 
-        // 新增权限
-        sysRolePrivilegeService.saveBatch(role);
-
-        //新增科目
-        if (role.getType().name().equals(RoleTypeEnum.QUESTION_TEACHER.name())) {
-            sysRoleCourseService.saveBatch(role);
+        if(RoleTypeEnum.CUSTOM.equals(role.getType())) {
+            // 新增权限
+            sysRolePrivilegeService.saveBatch(role);
         }
 
         return isSuccess;
@@ -127,4 +121,16 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
         }
         return list;
     }
+
+    @Override
+    public List<SysRole> listRolesByUserId(Long id) {
+        return this.baseMapper.listRolesByUserId(id);
+    }
+
+    @Override
+    public List<SysRole> list(Long[] roleIds, String name) {
+        QueryWrapper<SysRole> queryWrapper = new QueryWrapper<>();
+        queryWrapper.lambda().eq(SysRole::getType, name).in(SysRole::getId, roleIds);
+        return this.baseMapper.selectList(queryWrapper);
+    }
 }

+ 43 - 16
digit-print-business/src/main/java/com/qmth/digit/print/business/service/impl/SysUserServiceImpl.java

@@ -5,22 +5,17 @@ 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.boot.api.exception.ApiException;
 import com.qmth.digit.print.business.bean.dto.UserDto;
 import com.qmth.digit.print.business.bean.query.UserParam;
 import com.qmth.digit.print.business.entity.BasicCourse;
 import com.qmth.digit.print.business.entity.SysRole;
 import com.qmth.digit.print.business.entity.SysUser;
 import com.qmth.digit.print.business.entity.SysUserRole;
-import com.qmth.digit.print.business.mapper.BasicCourseMapper;
-import com.qmth.digit.print.business.mapper.SysRoleMapper;
 import com.qmth.digit.print.business.mapper.SysUserMapper;
-import com.qmth.digit.print.business.mapper.SysUserRoleMapper;
-import com.qmth.digit.print.business.service.SysConfigService;
-import com.qmth.digit.print.business.service.SysUserRoleService;
-import com.qmth.digit.print.business.service.SysUserService;
+import com.qmth.digit.print.business.service.*;
 import com.qmth.digit.print.business.util.security.Md5Utils;
 import com.qmth.digit.print.common.enums.ExceptionResultEnum;
+import com.qmth.digit.print.common.enums.RoleTypeEnum;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -42,13 +37,13 @@ import java.util.Objects;
 public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> implements SysUserService {
 
     @Autowired
-    private SysRoleMapper sysRoleMapper;
+    private SysRoleService sysRoleService;
 
     @Autowired
-    private BasicCourseMapper basicCourseMapper;
+    private BasicCourseService basicCourseService;
 
     @Autowired
-    private SysUserRoleMapper sysUserRoleMapper;
+    private BasicUserCourseService basicUserCourseService;
 
     @Autowired
     private SysConfigService sysConfigService;
@@ -64,11 +59,11 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         if (userDtoIPage.getRecords().size() > 0) {
             userDtoIPage.getRecords().forEach(m -> {
                 //角色
-                List<SysRole> roles = sysRoleMapper.listRolesByUserId(m.getId());
+                List<SysRole> roles = sysRoleService.listRolesByUserId(Long.valueOf(m.getId()));
                 m.setRoles(roles);
 
                 //课程
-                List<BasicCourse> courses = basicCourseMapper.listCoursesByUserId(m.getId());
+                List<BasicCourse> courses = basicCourseService.listCoursesByUserId(Long.valueOf(m.getId()));
                 m.setCourses(courses);
             });
         }
@@ -106,7 +101,11 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
             //删除角色
             UpdateWrapper<SysUserRole> updateWrapper = new UpdateWrapper<>();
             updateWrapper.lambda().eq(SysUserRole::getUserId, sysUser.getId());
-            sysUserRoleMapper.delete(updateWrapper);
+
+            //删除课程
+            basicUserCourseService.removeByUserId(sysUser.getId());
+
+            sysUserRoleService.remove(updateWrapper);
         }
 
         //新增用户-角色
@@ -114,7 +113,19 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
             SysUserRole sysUserRole = new SysUserRole();
             sysUserRole.setUserId(user.getId());
             sysUserRole.setRoleId(roleId);
-            sysUserRoleMapper.insert(sysUserRole);
+            sysUserRoleService.save(sysUserRole);
+        }
+
+        // 角色里是否有考务老师角色
+        List<SysRole> sysRoles = sysRoleService.list(user.getRoleIds(), RoleTypeEnum.QUESTION_TEACHER.name());
+        if(sysRoles != null && sysRoles.size() > 0){
+            Long[] courseIds = user.getCourseIds();
+            if(courseIds.length == 0){
+                throw ExceptionResultEnum.ERROR.exception("请选择课程");
+            }
+
+            basicUserCourseService.saveBatch(user);
+
         }
 
         return isSuccess;
@@ -145,6 +156,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
             throw ExceptionResultEnum.ERROR.exception("用户不存在");
         }
 
+        oldPassword = Md5Utils.toMd5Hex(oldPassword);
         if(!StringUtils.equals(sysUser.getPassword(), oldPassword)){
             throw ExceptionResultEnum.ERROR.exception("原密码不正确");
         }
@@ -153,18 +165,33 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         return this.updateById(sysUser);
     }
 
+    @Transactional
     @Override
-    public boolean bindRoles(Long id, Long... roleIds) {
+    public boolean bindRoles(SysUser sysUser) {
+        Long[] roleIds = sysUser.getRoleIds();
         if(roleIds.length == 0){
             throw ExceptionResultEnum.ERROR.exception("请选择角色");
         }
         List<SysUserRole> list = new ArrayList<>();
         for (Long roleId : roleIds) {
             SysUserRole userRole = new SysUserRole();
-            userRole.setUserId(id);
+            userRole.setUserId(sysUser.getId());
             userRole.setRoleId(roleId);
             list.add(userRole);
         }
+
+        // 角色里是否有考务老师角色
+        List<SysRole> sysRoles = sysRoleService.list(roleIds, RoleTypeEnum.QUESTION_TEACHER.name());
+        if(sysRoles != null && sysRoles.size() > 0){
+            Long[] courseIds = sysUser.getCourseIds();
+            if(courseIds.length == 0){
+                throw ExceptionResultEnum.ERROR.exception("请选择课程");
+            }
+
+            basicUserCourseService.removeByUserId(sysUser.getId());
+            basicUserCourseService.saveBatch(sysUser);
+
+        }
         return sysUserRoleService.saveBatch(list);
     }
 }

+ 22 - 22
digit-print-business/src/main/resources/db/init-table.sql

@@ -11,7 +11,7 @@
  Target Server Version : 50717
  File Encoding         : 65001
 
- Date: 29/03/2021 17:45:56
+ Date: 01/04/2021 09:02:07
 */
 
 SET NAMES utf8mb4;
@@ -25,7 +25,7 @@ CREATE TABLE `basic_attachment`  (
   `id` bigint(10) NOT NULL AUTO_INCREMENT,
   `name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '文件名',
   `type` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '文件类型',
-  `file_size` int(11) NOT NULL COMMENT '单位(KB)',
+  `size` int(11) NOT NULL COMMENT '单位(KB)',
   `md5` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '文件md5值',
   `level` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'H-高,M-中,L-低',
   `storage` varchar(5) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'LOCAL-本地存储,OSS-阿里OSS',
@@ -36,7 +36,7 @@ CREATE TABLE `basic_attachment`  (
   `update_id` bigint(10) NULL DEFAULT NULL,
   `update_time` bigint(13) NULL DEFAULT NULL,
   PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '所有附件记录表' ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB AUTO_INCREMENT = 14 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '所有附件记录表' ROW_FORMAT = Dynamic;
 
 -- ----------------------------
 -- Table structure for basic_card_rule
@@ -63,7 +63,7 @@ CREATE TABLE `basic_card_rule`  (
   `update_id` bigint(10) NULL DEFAULT NULL,
   `update_time` bigint(13) NULL DEFAULT NULL,
   PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '题卡规则' ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '题卡规则' ROW_FORMAT = Dynamic;
 
 -- ----------------------------
 -- Table structure for basic_course
@@ -79,7 +79,7 @@ CREATE TABLE `basic_course`  (
   `update_id` bigint(10) NULL DEFAULT NULL COMMENT '修改人',
   `update_time` bigint(13) NULL DEFAULT NULL COMMENT '修改时间',
   PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '课程表' ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '课程表' ROW_FORMAT = Dynamic;
 
 -- ----------------------------
 -- Table structure for basic_exam_rule
@@ -88,7 +88,7 @@ DROP TABLE IF EXISTS `basic_exam_rule`;
 CREATE TABLE `basic_exam_rule`  (
   `id` bigint(10) NOT NULL AUTO_INCREMENT,
   `school_id` bigint(10) NOT NULL,
-  `required_fields` text CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '必选字段',
+  `required_fields` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '必选字段',
   `extend_fields` text CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '扩展字段',
   `review` tinyint(1) NOT NULL COMMENT '0-禁用,1-启用',
   `include_paper` tinyint(1) NOT NULL COMMENT '0-禁用,1-启用',
@@ -99,7 +99,7 @@ CREATE TABLE `basic_exam_rule`  (
   `update_id` bigint(10) NULL DEFAULT NULL,
   `update_time` bigint(13) NULL DEFAULT NULL,
   PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '考务规则' ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '考务规则' ROW_FORMAT = Dynamic;
 
 -- ----------------------------
 -- Table structure for basic_school
@@ -138,7 +138,7 @@ CREATE TABLE `basic_template`  (
   `update_id` bigint(10) NULL DEFAULT NULL,
   `update_time` bigint(13) NULL DEFAULT NULL,
   PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '通用模板' ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '通用模板' ROW_FORMAT = Dynamic;
 
 -- ----------------------------
 -- Table structure for basic_template_org
@@ -154,7 +154,7 @@ CREATE TABLE `basic_template_org`  (
   `update_id` bigint(10) NULL DEFAULT NULL,
   `update_time` bigint(13) NULL DEFAULT NULL,
   PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '适用学院(题卡规则、模板适用学院)' ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB AUTO_INCREMENT = 24 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '适用学院(题卡规则、模板适用学院)' ROW_FORMAT = Dynamic;
 
 -- ----------------------------
 -- Table structure for basic_user_course
@@ -169,7 +169,7 @@ CREATE TABLE `basic_user_course`  (
   `update_id` bigint(10) NULL DEFAULT NULL,
   `update_time` bigint(13) NULL DEFAULT NULL,
   PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '用户和课程关联表' ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '用户和课程关联表' ROW_FORMAT = Dynamic;
 
 -- ----------------------------
 -- Table structure for basic_verify_code
@@ -180,7 +180,7 @@ CREATE TABLE `basic_verify_code`  (
   `user_id` bigint(10) NOT NULL COMMENT '用户ID',
   `mobile_number` varchar(11) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '手机号',
   `expire_time` bigint(13) NOT NULL COMMENT '到期时间',
-  `valid_period` int(11) NOT NULL COMMENT '单位()',
+  `valid_period` int(11) NOT NULL COMMENT '单位()',
   `verify_code` varchar(4) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '4位数字',
   `create_id` bigint(10) NULL DEFAULT NULL,
   `create_time` bigint(13) NULL DEFAULT NULL,
@@ -405,16 +405,16 @@ CREATE TABLE `exam_task_temp`  (
 DROP TABLE IF EXISTS `sys_config`;
 CREATE TABLE `sys_config`  (
   `id` bigint(10) NOT NULL AUTO_INCREMENT,
-  `key` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '参数键名',
-  `name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '参数名称',
-  `value` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '参数键值',
-  `remark` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注',
+  `config_key` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '参数键名',
+  `config_name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '参数名称',
+  `config_value` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '参数键值',
+  `remark` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
   `create_id` bigint(10) NULL DEFAULT NULL,
   `create_time` bigint(10) NULL DEFAULT NULL,
   `update_id` bigint(10) NULL DEFAULT NULL,
   `update_time` bigint(13) NULL DEFAULT NULL,
   PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '参数表' ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '参数表' ROW_FORMAT = Dynamic;
 
 -- ----------------------------
 -- Table structure for sys_org
@@ -432,7 +432,7 @@ CREATE TABLE `sys_org`  (
   `update_id` bigint(10) NULL DEFAULT NULL COMMENT '修改人',
   `update_time` bigint(13) NULL DEFAULT NULL COMMENT '修改时间',
   PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '学校组织架构' ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB AUTO_INCREMENT = 8 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '学校组织架构' ROW_FORMAT = Dynamic;
 
 -- ----------------------------
 -- Table structure for sys_privilege
@@ -444,7 +444,7 @@ CREATE TABLE `sys_privilege`  (
   `name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '菜单名称',
   `url` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'URL地址',
   `type` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'M-菜单,F-操作',
-  `parent_id` bigint(10) NOT NULL COMMENT '上级菜单',
+  `parent_id` bigint(10) NULL DEFAULT NULL COMMENT '上级菜单',
   `sort_number` int(11) NOT NULL,
   `remark` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注',
   `create_id` bigint(10) NULL DEFAULT NULL,
@@ -452,7 +452,7 @@ CREATE TABLE `sys_privilege`  (
   `update_id` bigint(10) NULL DEFAULT NULL,
   `update_time` bigint(13) NULL DEFAULT NULL,
   PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '菜单权限表' ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB AUTO_INCREMENT = 8 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '菜单权限表' ROW_FORMAT = Dynamic;
 
 -- ----------------------------
 -- Table structure for sys_role
@@ -469,7 +469,7 @@ CREATE TABLE `sys_role`  (
   `update_id` bigint(10) NULL DEFAULT NULL COMMENT '修改人',
   `update_time` bigint(13) NULL DEFAULT NULL COMMENT '修改时间',
   PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '角色表' ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '角色表' ROW_FORMAT = Dynamic;
 
 -- ----------------------------
 -- Table structure for sys_role_course
@@ -499,7 +499,7 @@ CREATE TABLE `sys_role_privilege`  (
   `update_id` bigint(10) NULL DEFAULT NULL,
   `update_time` bigint(13) NULL DEFAULT NULL,
   PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '角色和菜单关联表' ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB AUTO_INCREMENT = 15 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '角色和菜单关联表' ROW_FORMAT = Dynamic;
 
 -- ----------------------------
 -- Table structure for sys_user
@@ -536,6 +536,6 @@ CREATE TABLE `sys_user_role`  (
   `update_id` bigint(10) NULL DEFAULT NULL,
   `update_time` bigint(13) NULL DEFAULT NULL,
   PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '用户和角色关联表' ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB AUTO_INCREMENT = 33 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '用户和角色关联表' ROW_FORMAT = Dynamic;
 
 SET FOREIGN_KEY_CHECKS = 1;

+ 2 - 2
digit-print-business/src/main/resources/mapper/BasicCardRuleMapper.xml

@@ -29,13 +29,13 @@
     <sql id="Base_Column_List">
         select id, school_id, name, exam_number_style, paper_type, exam_absent, write_sign, required_fields, extend_fields, title_rule, attention, objective_attention, subjective_attention, enable, remark, create_id, create_time, update_id, update_time from basic_card_rule
     </sql>
-    <select id="listPage" resultMap="BaseResultMap">
+    <select id="listPage" resultType="com.qmth.digit.print.business.bean.dto.CardRuleDto">
         <include refid="Base_Column_List"></include>
         <where>
             <if test="param.schoolId != null and param.schoolId != ''">
                 and school_id = #{param.schoolId}
             </if>
-            <if test="param.enable != null and param.enable != ''">
+            <if test="param.enable != null">
                 and enable = #{param.enable}
             </if>
             <if test="param.name != null and param.name != ''">

+ 3 - 3
digit-print-business/src/main/resources/mapper/BasicCourseMapper.xml

@@ -32,13 +32,13 @@
         <include refid="Base_Column_List"></include>
         <where>
             <if test="param.schoolId != null and param.schoolId != ''">
-                and a.school_id = #{param.schoolId}
+                and school_id = #{param.schoolId}
             </if>
             <if test="param.code != null and param.code != ''">
-                and a.code like concat('%',#{param.code} ,'%')
+                and code like concat('%',#{param.code} ,'%')
             </if>
             <if test="param.name != null and param.name != ''">
-                and a.name like concat('%',#{param.name} ,'%')
+                and name like concat('%',#{param.name} ,'%')
             </if>
         </where>
     </select>

+ 35 - 1
digit-print-business/src/main/resources/mapper/BasicTemplateMapper.xml

@@ -23,6 +23,40 @@
         id,
         school_id, name, type, classify, attachment_id, enable, remark, create_id, create_time, update_id, update_time
     </sql>
-    <select id="listPage" resultType="com.qmth.digit.print.business.bean.dto.TemplateDto"></select>
+    <select id="listPage" resultType="com.qmth.digit.print.business.bean.dto.TemplateDto">
+        SELECT
+            id,
+            school_id schoolId,
+            name,
+            type,
+            classify,
+            attachment_id attachmentId,
+            enable,
+            remark,
+            create_id createId,
+            create_time createTime
+        FROM
+            basic_template
+        <where>
+            <if test="param.schoolId != null and param.schoolId != ''">
+                and school_id = #{param.schoolId}
+            </if>
+            <if test="param.type != null and param.type != ''">
+                and type = #{param.type}
+            </if>
+            <if test="param.name != null and param.name != ''">
+                and name like concat('%',#{param.name}, '%')
+            </if>
+            <if test="param.enable != null">
+                and enable = #{param.enable}
+            </if>
+            <if test="param.startTime != null and param.startTime != ''">
+                and create_time &gt;= #{param.startTime}
+            </if>
+            <if test="param.endTime != null and param.endTime != ''">
+                and create_time &lt;= #{param.endTime}
+            </if>
+        </where>
+    </select>
 
 </mapper>

+ 1 - 1
digit-print-business/src/main/resources/mapper/BasicTemplateOrgMapper.xml

@@ -17,7 +17,7 @@
     </sql>
     <select id="listByTypeAndTemplateId" resultType="com.qmth.digit.print.business.entity.SysOrg">
         SELECT
-            a.code, a.name
+            a.id, a.code, a.name
         FROM
             sys_org a
                 JOIN

+ 64 - 0
digit-print-business/src/main/resources/mapper/ExamTaskMapper.xml

@@ -29,5 +29,69 @@
         id,
         school_id, course_code, course_name, specialty, paper_number, start_time, end_time, card_rule_id, user_id, status, review_status, enable, batch_no, create_id, create_time, update_id, update_time
     </sql>
+    <select id="listPage" resultType="com.qmth.digit.print.business.bean.dto.ExamTaskDto">
+        SELECT
+            a.id,
+            a.school_id schoolId,
+            a.course_code courseCode,
+            a.course_name courseName,
+            a.specialty,
+            a.paper_number paperNumber,
+            a.card_rule_id cardRuleId,
+            b.name cardRuleName,
+            a.user_id userId,
+            c.real_name userName,
+            a.start_time startTime,
+            a.end_time endTime,
+            a.status,
+            a.enable,
+            a.create_id createId,
+            a.create_time createTime
+        FROM
+            exam_task a
+                LEFT JOIN
+            basic_card_rule b ON a.card_rule_id = b.id
+                LEFT JOIN
+            sys_user c ON a.user_id = c.id
+        <where>
+            <if test="param.schoolId != null and param.schoolId != ''">
+                and a.school_id = #{param.schoolId}
+            </if>
+            <if test="param.enable != null">
+                and a.enable = #{param.enable}
+            </if>
+            <if test="param.status != null and param.status != ''">
+                and a.status = #{param.status}
+            </if>
+            <if test="param.cardRuleId != null and param.cardRuleId != ''">
+                and a.card_rule_id = #{param.cardRuleId}
+            </if>
+            <if test="param.courseCode != null and param.courseCode != ''">
+                and a.course_code = #{param.courseCode}
+            </if>
+            <if test="param.paperNumber != null and param.paperNumber != ''">
+                and a.paper_number = #{param.paperNumber}
+            </if>
+            <if test="param.startTime != null and param.startTime != ''">
+                and a.start_time &gt;= #{param.startTime}
+            </if>
+            <if test="param.endTime != null and param.endTime != ''">
+                and a.start_time &lt;= #{param.endTime}
+            </if>
+        </where>
+    </select>
+    <select id="listUser" resultType="com.qmth.digit.print.business.bean.dto.BlurryUserDto">
+        SELECT
+            a.user_id id, b.real_name name
+        FROM
+            exam_task a
+                LEFT JOIN
+            sys_user b ON a.user_id = b.id
+        <where>
+            <if test="param != null and param != ''">
+                and b.real_name like concat('%', #{param}, '%')
+            </if>
+        </where>
+    </select>
 
 </mapper>

+ 7 - 4
digit-print-business/src/main/resources/mapper/SysConfigMapper.xml

@@ -5,17 +5,20 @@
     <!-- 通用查询映射结果 -->
     <resultMap id="BaseResultMap" type="com.qmth.digit.print.business.entity.SysConfig">
     <result column="id" property="id" />
-        <result column="key" property="key" />
-        <result column="name" property="name" />
-        <result column="value" property="value" />
+        <result column="config_key" property="configKey" />
+        <result column="config_name" property="configName" />
+        <result column="config_value" property="configValue" />
+        <result column="remark" property="remark" />
         <result column="create_id" property="createId" />
         <result column="create_time" property="createTime" />
+        <result column="update_id" property="updateId" />
+        <result column="update_time" property="updateTime" />
     </resultMap>
 
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
         id,
-        key, name, value, create_id, create_time
+        config_key, config_name, config_value, remark, create_id, create_time, update_id, update_time
     </sql>
 
 </mapper>

+ 3 - 2
digit-print-business/src/main/resources/mapper/SysRoleMapper.xml

@@ -22,7 +22,8 @@
     <select id="listRolesByUserId" resultMap="BaseResultMap">
         SELECT
             a.id,
-            a.name
+            a.name,
+            a.type
         FROM
             sys_role a
                 JOIN
@@ -36,7 +37,7 @@
             <if test="param.name != null and param.name != ''">
                 and name like concat('%', #{param.name}, '%')
             </if>
-            <if test="param.enable != null and param.enable != ''">
+            <if test="param.enable != null">
                 and enable = #{param.enable}
             </if>
         </where>

+ 6 - 5
digit-print-business/src/main/resources/mapper/SysUserMapper.xml

@@ -30,20 +30,21 @@
             a.real_name realName,
             a.mobile_number mobileNumber,
             a.enable,
-            a.remark
+            a.remark,
+            a.org_id orgId
         FROM
             sys_user a
         <where>
             <if test="param.schoolId != null and param.schoolId != ''">
                 and a.school_id = #{param.schoolId}
             </if>
-            <if test="param.loginName != null and param.loginName != ''">
-                and a.login_name = concat('%', #{param.loginName} , '%')
+            <if test="param.realName != null and param.realName != ''">
+                and a.real_name like concat('%', #{param.realName} , '%')
             </if>
             <if test="param.roleId != null and param.roleId != ''">
-                and a.user_id in (select user_id from sys_user_role b where b.role_id = #{param.roleId}) #{param.roleId}
+                and a.id in (select user_id from sys_user_role b where b.role_id = #{param.roleId})
             </if>
-            <if test="param.enable != null and param.enable != ''">
+            <if test="param.enable != null">
                 and a.enable = #{param.enable}
             </if>
         </where>

+ 1 - 0
digit-print-common/src/main/java/com/qmth/digit/print/common/enums/BackupMethodEnum.java

@@ -15,6 +15,7 @@ public enum BackupMethodEnum {
     ROOM("按考场");
 
     BackupMethodEnum(String desc) {
+        this.desc = desc;
     }
 
     private String desc;

+ 59 - 0
digit-print-common/src/main/java/com/qmth/digit/print/common/enums/CardRequiredFieldsEnum.java

@@ -0,0 +1,59 @@
+package com.qmth.digit.print.common.enums;
+
+import com.qmth.digit.print.common.enums.result.EnumResult;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 考务必选字段
+ * @Date: 2021/3/29.
+ */
+public enum CardRequiredFieldsEnum {
+
+    STUDENT_CODE("studentCode", "学号"),
+    STUDENT_NAME("studentName","姓名"),
+    COURSE_CODE("courseCode","课程代码"),
+    COURSE_NAME("courseName","课程名称"),
+    EXAM_PLACE("examPlace","考点"),
+    EXAM_ROOM("examRoom","考场"),
+    PAPER_NUMBER("paperNumber","试卷编号");
+
+    private String code;
+    private String desc;
+
+    public String getCode() {
+        return code;
+    }
+
+    public String getDesc() {
+        return desc;
+    }
+
+    CardRequiredFieldsEnum(String code, String desc) {
+        this.code = code;
+        this.desc = desc;
+    }
+
+
+    /**
+     * @return
+     */
+    public static List<EnumResult> listTypes() {
+        List<EnumResult> list = new ArrayList<>();
+        for (CardRequiredFieldsEnum value : CardRequiredFieldsEnum.values()) {
+            // 校验是否在考务必选字段中
+            if(!RequiredFieldsEnum.contain(value.name())){
+                throw ExceptionResultEnum.ERROR.exception("");
+            }
+
+            EnumResult result = new EnumResult();
+            result.setName(value.name());
+            result.setOrdinal(value.ordinal());
+            result.setCode(value.getCode());
+            result.setDesc(value.getDesc());
+            list.add(result);
+        }
+        return list;
+    }
+}

+ 2 - 0
digit-print-common/src/main/java/com/qmth/digit/print/common/enums/ClassifyEnum.java

@@ -11,11 +11,13 @@ import java.util.List;
  */
 public enum ClassifyEnum {
 
+    CARD("通卡"),
     SIGN("签到表"),
     PACKAGE("卷袋贴"),
     CHECK_IN("登记表");
 
     ClassifyEnum(String desc) {
+        this.desc = desc;
     }
 
     private String desc;

+ 1 - 0
digit-print-common/src/main/java/com/qmth/digit/print/common/enums/DrawRuleEnum.java

@@ -15,6 +15,7 @@ public enum DrawRuleEnum {
     CIRCLE("循环抽取");
 
     DrawRuleEnum(String desc) {
+        this.desc = desc;
     }
 
     private String desc;

+ 3 - 1
digit-print-common/src/main/java/com/qmth/digit/print/common/enums/EnumType.java

@@ -18,9 +18,11 @@ public enum EnumType {
     ROLE_TYPE("内置角色类型"),
     STORAGE_LEVEL("附件存储级别"),
     STORAGE_TYPE("附件存储方式"),
-    TEMPLATE_TYPE("模板类型");
+    TEMPLATE_TYPE("模板类型"),
+    CARD_REQUIRED_FIELDS("题卡规则必选字段");
 
     EnumType(String desc) {
+        this.desc = desc;
     }
 
     private String desc;

+ 1 - 0
digit-print-common/src/main/java/com/qmth/digit/print/common/enums/ExamNumberStyleEnum.java

@@ -16,6 +16,7 @@ public enum ExamNumberStyleEnum {
     FILL("卡号填涂");
 
     ExamNumberStyleEnum(String desc) {
+        this.desc = desc;
     }
 
     private String desc;

+ 1 - 0
digit-print-common/src/main/java/com/qmth/digit/print/common/enums/ExamStatusEnum.java

@@ -17,6 +17,7 @@ public enum ExamStatusEnum {
     CANCEL("撤回");
 
     ExamStatusEnum(String desc) {
+        this.desc = desc;
     }
 
     private String desc;

+ 1 - 0
digit-print-common/src/main/java/com/qmth/digit/print/common/enums/PaperTypeEnum.java

@@ -15,6 +15,7 @@ public enum PaperTypeEnum {
     FILL("卡号填涂");
 
     PaperTypeEnum(String desc) {
+        this.desc = desc;
     }
 
     private String desc;

+ 1 - 0
digit-print-common/src/main/java/com/qmth/digit/print/common/enums/PrintMethodEnum.java

@@ -15,6 +15,7 @@ public enum PrintMethodEnum {
     MANUAL("手动");
 
     PrintMethodEnum(String desc) {
+        this.desc = desc;
     }
 
     private String desc;

+ 1 - 0
digit-print-common/src/main/java/com/qmth/digit/print/common/enums/PrivilegeTypeEnum.java

@@ -15,6 +15,7 @@ public enum PrivilegeTypeEnum {
     F("操作");
 
     PrivilegeTypeEnum(String desc) {
+        this.desc = desc;
     }
 
     private String desc;

+ 15 - 0
digit-print-common/src/main/java/com/qmth/digit/print/common/enums/RequiredFieldsEnum.java

@@ -53,4 +53,19 @@ public enum RequiredFieldsEnum {
         }
         return list;
     }
+
+    /**
+     * 是否包含
+     * @param name
+     * @return
+     */
+    public static boolean contain(String name){
+        RequiredFieldsEnum[] values = RequiredFieldsEnum.values();
+        for (RequiredFieldsEnum value : values) {
+            if(value.name().equals(name)){
+                return true;
+            }
+        }
+        return false;
+    }
 }

+ 1 - 0
digit-print-common/src/main/java/com/qmth/digit/print/common/enums/ReviewStatusEnum.java

@@ -15,6 +15,7 @@ public enum ReviewStatusEnum {
     NOT_PASS("不通过");
 
     ReviewStatusEnum(String desc) {
+        this.desc = desc;
     }
 
     private String desc;

+ 1 - 0
digit-print-common/src/main/java/com/qmth/digit/print/common/enums/RoleTypeEnum.java

@@ -20,6 +20,7 @@ public enum RoleTypeEnum {
     CUSTOM("自定义");
 
     RoleTypeEnum(String desc) {
+        this.desc = desc;
     }
 
     private String desc;

+ 1 - 1
digit-print-common/src/main/java/com/qmth/digit/print/common/enums/Source.java

@@ -1,4 +1,4 @@
-package com.qmth.digit.print.common.contant.enums;
+package com.qmth.digit.print.common.enums;
 
 public enum Source {
 

+ 1 - 0
digit-print-common/src/main/java/com/qmth/digit/print/common/enums/StorageLevelEnum.java

@@ -16,6 +16,7 @@ public enum StorageLevelEnum {
     L("低");
 
     StorageLevelEnum(String desc) {
+        this.desc = desc;
     }
 
     private String desc;

+ 1 - 0
digit-print-common/src/main/java/com/qmth/digit/print/common/enums/StorageTypeEnum.java

@@ -15,6 +15,7 @@ public enum StorageTypeEnum {
     OSS("OSS");
 
     StorageTypeEnum(String desc) {
+        this.desc = desc;
     }
 
     private String desc;

+ 1 - 0
digit-print-common/src/main/java/com/qmth/digit/print/common/enums/TemplateTypeEnum.java

@@ -17,6 +17,7 @@ public enum TemplateTypeEnum {
     CARD_RULE("题卡规则");
 
     TemplateTypeEnum(String desc) {
+        this.desc = desc;
     }
 
     private String desc;

+ 20 - 2
digit-print/src/main/java/com/qmth/digit/print/api/BasicAttachmentController.java

@@ -37,12 +37,30 @@ public class BasicAttachmentController {
     @Autowired
     private BasicAttachmentService basicAttachmentService;
 
+    /**
+     * 文件上传
+     * @param request
+     * @param file
+     * @param md5
+     * @return
+     */
     @ApiOperation(value = "文件上传")
     @RequestMapping(value = "/upload", method = RequestMethod.POST)
     public Result upload(HttpServletRequest request, MultipartFile file, String md5) {
         ApiUser apiUser = RequestUtils.getApiUser(request);
-        Long id = basicAttachmentService.save(file, md5, apiUser.getSchoolId(), apiUser.getUserData().getId());
-        return ResultUtil.ok(id);
+        BasicAttachment attachment = basicAttachmentService.save(file, md5, apiUser.getSchoolId(), apiUser.getUserData().getId());
+        return ResultUtil.ok(attachment);
+    }
+
+    /**
+     * 文件查询
+     * @return
+     */
+    @ApiOperation(value = "文件查询")
+    @RequestMapping(value = "/get_one", method = RequestMethod.GET)
+    public Result getOne(Long id) {
+        BasicAttachment attachment = basicAttachmentService.getById(id);
+        return ResultUtil.ok(attachment);
     }
 }
 

+ 3 - 4
digit-print/src/main/java/com/qmth/digit/print/api/BasicCourseController.java

@@ -91,14 +91,13 @@ public class BasicCourseController {
 
     /**
      * 删除
-     * @param request
-     * @param id
+     * @param course
      * @return
      */
     @ApiOperation(value = "删除")
     @RequestMapping(value = "/remove", method = RequestMethod.POST)
-    public Result remove(HttpServletRequest request, Long id){
-        boolean isSuccess = basicCourseService.remove(id);
+    public Result remove(@RequestBody BasicCourse course){
+        boolean isSuccess = basicCourseService.remove(course.getId());
         return ResultUtil.ok(isSuccess);
     }
 }

+ 2 - 1
digit-print/src/main/java/com/qmth/digit/print/api/BasicExamRuleController.java

@@ -59,7 +59,8 @@ public class BasicExamRuleController {
      * @param examRule
      * @return
      */
-    @RequestMapping(value = "/save", method = RequestMethod.GET)
+    @ApiOperation(value = "新增/修改")
+    @RequestMapping(value = "/save", method = RequestMethod.POST)
     public Result save(HttpServletRequest request, @RequestBody BasicExamRule examRule) {
         ApiUser apiUser = RequestUtils.getApiUser(request);
         examRule.setSchoolId(apiUser.getSchoolId());

+ 1 - 1
digit-print/src/main/java/com/qmth/digit/print/api/BasicTemplateController.java

@@ -32,7 +32,7 @@ import javax.servlet.http.HttpServletRequest;
  * @author xf
  * @since 2021-03-23
  */
-@Api(tags = "")
+@Api(tags = "通用模板Controller")
 @RestController
 @RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + "/${prefix.url.basic}/template")
 @Aac(auth = BOOL.FALSE)

+ 22 - 17
digit-print/src/main/java/com/qmth/digit/print/api/EnumsController.java

@@ -5,6 +5,8 @@ import com.qmth.boot.api.annotation.BOOL;
 import com.qmth.boot.api.constant.ApiConstant;
 import com.qmth.digit.print.common.enums.*;
 import com.qmth.digit.print.common.enums.result.EnumResult;
+import com.qmth.digit.print.common.util.Result;
+import com.qmth.digit.print.common.util.ResultUtil;
 import io.swagger.annotations.Api;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -31,55 +33,58 @@ public class EnumsController {
      * @return
      */
     @RequestMapping(method = RequestMethod.GET)
-    public List<EnumResult> list(String type) {
+    public Result list(String type) {
         if (StringUtils.isBlank(type)) {
             throw ExceptionResultEnum.ERROR.exception("类型不能为空");
         }
 
+        List<EnumResult> list = null;
         if (type.equals(EnumType.BACKUP_METHOD.name())) {
             //备份方式
-            return BackupMethodEnum.listTypes();
+            list = BackupMethodEnum.listTypes();
         } else if (type.equals(EnumType.CLASSIFY.name())) {
             //模板类型
-            return ClassifyEnum.listTypes();
+            list = ClassifyEnum.listTypes();
         } else if (type.equals(EnumType.DRAW_RULE.name())) {
             // 抽卷规则
-            return DrawRuleEnum.listTypes();
+            list = DrawRuleEnum.listTypes();
         } else if (type.equals(EnumType.EXAM_NUMBER_STYLE.name())) {
             //考号版式
-            return ExamNumberStyleEnum.listTypes();
+            list = ExamNumberStyleEnum.listTypes();
         } else if (type.equals(EnumType.EXAM_STATUS.name())) {
             //命题状态类型
-            return ExamStatusEnum.listTypes();
+            list = ExamStatusEnum.listTypes();
         } else if (type.equals(EnumType.PAPER_TYPE.name())) {
             //AB卷版式
-            return PaperTypeEnum.listTypes();
+            list = PaperTypeEnum.listTypes();
         } else if (type.equals(EnumType.PRINT_METHOD.name())) {
             //印刷方式
-            return PrintMethodEnum.listTypes();
+            list = PrintMethodEnum.listTypes();
         } else if (type.equals(EnumType.PRIVILEGE_TYPE.name())) {
             //菜单类型
-            return PrivilegeTypeEnum.listTypes();
+            list = PrivilegeTypeEnum.listTypes();
         } else if (type.equals(EnumType.REQUIRED_FIELDS.name())) {
             //考务必选字段
-            return RequiredFieldsEnum.listTypes();
+            list = RequiredFieldsEnum.listTypes();
         } else if (type.equals(EnumType.REVIEW_STATUS.name())) {
             //审核状态类型
-            return ReviewStatusEnum.listTypes();
+            list = ReviewStatusEnum.listTypes();
         } else if (type.equals(EnumType.ROLE_TYPE.name())) {
             //内置角色类型
-            return RoleTypeEnum.listTypes(false);
+            list = RoleTypeEnum.listTypes(false);
         } else if (type.equals(EnumType.STORAGE_LEVEL.name())) {
             //附件存储级别
-            return StorageLevelEnum.listTypes();
+            list = StorageLevelEnum.listTypes();
         } else if (type.equals(EnumType.STORAGE_TYPE.name())) {
             //附件存储方式
-            return StorageTypeEnum.listTypes();
+            list = StorageTypeEnum.listTypes();
         } else if (type.equals(EnumType.TEMPLATE_TYPE.name())) {
-            return TemplateTypeEnum.listTypes();
+            list = TemplateTypeEnum.listTypes();
             //模板类型
-        } else {
-            return null;
+        } else if (type.equals(EnumType.CARD_REQUIRED_FIELDS.name())) {
+            //考务必选字段
+            list = CardRequiredFieldsEnum.listTypes();
         }
+        return ResultUtil.ok(list);
     }
 }

+ 70 - 1
digit-print/src/main/java/com/qmth/digit/print/api/ExamTaskController.java

@@ -1,10 +1,31 @@
 package com.qmth.digit.print.api;
 
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.qmth.boot.api.annotation.Aac;
+import com.qmth.boot.api.annotation.BOOL;
+import com.qmth.boot.api.constant.ApiConstant;
+import com.qmth.digit.print.business.bean.ApiUser;
+import com.qmth.digit.print.business.bean.dto.BlurryUserDto;
+import com.qmth.digit.print.business.bean.dto.ExamTaskDto;
+import com.qmth.digit.print.business.bean.query.BlurryParam;
+import com.qmth.digit.print.business.bean.query.ExamTaskParam;
+import com.qmth.digit.print.business.entity.BasicCourse;
+import com.qmth.digit.print.business.service.ExamTaskService;
+import com.qmth.digit.print.business.util.RequestUtils;
+import com.qmth.digit.print.common.util.Result;
+import com.qmth.digit.print.common.util.ResultUtil;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestMapping;
 
+import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RestController;
 
+import javax.servlet.http.HttpServletRequest;
+import java.util.List;
+
 /**
  * <p>
  * 命题任务 前端控制器
@@ -13,9 +34,57 @@ import org.springframework.web.bind.annotation.RestController;
  * @author xf
  * @since 2021-03-23
  */
+@Api(tags = "命题任务Controller")
 @RestController
-@RequestMapping("/examTask")
+@RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + "/${prefix.url.exam}/task")
+@Aac(auth = BOOL.FALSE)
 public class ExamTaskController {
 
+    @Autowired
+    private ExamTaskService examTaskService;
+
+    /**
+     * 查询
+     * @param request
+     * @param param
+     * @return
+     */
+    @ApiOperation(value = "查询")
+    @RequestMapping(value = "/list", method = RequestMethod.GET)
+    public Result list(HttpServletRequest request, ExamTaskParam param){
+        ApiUser apiUser = RequestUtils.getApiUser(request);
+        param.setSchoolId(apiUser.getSchoolId());
+        IPage<ExamTaskDto> examTasks = examTaskService.list(param);
+        return ResultUtil.ok(examTasks);
+    }
+
+    /**
+     * 试卷编号模糊查询
+     * @param param
+     * @return
+     */
+    @ApiOperation(value = "试卷编号模糊查询")
+    @RequestMapping(value = "/paper_number_query", method = RequestMethod.GET)
+    public Result paperNumberQuery(HttpServletRequest request, BlurryParam param){
+        ApiUser apiUser = RequestUtils.getApiUser(request);
+        param.setSchoolId(apiUser.getSchoolId());
+        List<String> list = examTaskService.listPaperNumber(param);
+        return ResultUtil.ok(list);
+    }
+
+    /**
+     * 命题老师模糊查询
+     * @param param
+     * @return
+     */
+    @ApiOperation(value = "命题老师模糊查询")
+    @RequestMapping(value = "/user_query", method = RequestMethod.GET)
+    public Result userQuery(HttpServletRequest request, BlurryParam param){
+        ApiUser apiUser = RequestUtils.getApiUser(request);
+        param.setSchoolId(apiUser.getSchoolId());
+        List<BlurryUserDto> list = examTaskService.listUser(param);
+        return ResultUtil.ok(list);
+    }
+
 }
 

+ 19 - 1
digit-print/src/main/java/com/qmth/digit/print/api/SysController.java

@@ -49,6 +49,12 @@ public class SysController {
     @Autowired
     private DictionaryConfig dictionaryConfig;
 
+    /**
+     * 登录
+     *
+     * @param login
+     * @return
+     */
     @ApiOperation(value = "登录")
     @RequestMapping(value = "/login", method = RequestMethod.POST)
     public Result login(@RequestBody LoginParam login) {
@@ -59,7 +65,7 @@ public class SysController {
             throw ExceptionResultEnum.ERROR.exception("用户不存在");
         }
         String password = Md5Utils.toMd5Hex(login.getPassword());
-        if (password.equals(sysUser.getPassword())) {
+        if (!password.equals(sysUser.getPassword())) {
             throw ExceptionResultEnum.ERROR.exception("密码错误");
         }
         //校验验证码
@@ -93,8 +99,20 @@ public class SysController {
         return ResultUtil.ok(jsonObject);
     }
 
+    /**
+     * 登出
+     * @param id
+     * @return
+     */
+    @ApiOperation(value = "登出")
+    @RequestMapping(value = "/logout", method = RequestMethod.POST)
+    public Result logout(Long id) {
+        return ResultUtil.ok(true);
+    }
+
     /**
      * 发送验证码
+     *
      * @param loginParam
      * @return
      */

+ 3 - 3
digit-print/src/main/java/com/qmth/digit/print/api/SysPrivilegeController.java

@@ -74,13 +74,13 @@ public class SysPrivilegeController {
     /**
      * 删除
      *
-     * @param id
+     * @param privilege
      * @return
      */
     @ApiOperation(value = "删除")
     @RequestMapping(value = "/remove", method = RequestMethod.POST)
-    public Result remove(Long id) {
-        boolean isSuccess = sysPrivilegeService.remove(id);
+    public Result remove(@RequestBody SysPrivilege privilege) {
+        boolean isSuccess = sysPrivilegeService.remove(privilege.getId());
         return ResultUtil.ok(isSuccess);
     }
 

+ 11 - 14
digit-print/src/main/java/com/qmth/digit/print/api/SysUserController.java

@@ -20,6 +20,7 @@ import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
 import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -82,43 +83,39 @@ public class SysUserController {
 
     /**
      * 重置密码
-     * @param id
+     * @param user
      * @return
      */
     @ApiOperation(value = "重置密码")
     @RequestMapping(value = "/reset_password", method = RequestMethod.POST)
-    public Result resetPassword(@RequestBody Long id){
-        boolean isSuccess = sysUserService.resetPassword(id);
+    public Result resetPassword(@RequestBody SysUser user){
+        boolean isSuccess = sysUserService.resetPassword(user.getId());
         return ResultUtil.ok(isSuccess);
     }
 
     /**
      * 修改密码
-     * @param id
-     * @param oldPassword
-     * @param password
      * @return
      */
     @ApiOperation(value = "修改密码")
     @RequestMapping(value = "/update_password", method = RequestMethod.POST)
-    public Result updatePassword(@RequestParam(value = "id") Long id,
-                                 @RequestParam(value = "oldPassword") String oldPassword,
-                                 @RequestParam(value = "password") String password){
+    public Result updatePassword(@RequestBody Map<String, Object> user){
+        Long id = Long.valueOf(user.get("id").toString());
+        String oldPassword = user.get("oldPassword").toString();
+        String password = user.get("password").toString();
         boolean isSuccess = sysUserService.updatePassword(id, oldPassword, password);
         return ResultUtil.ok(isSuccess);
     }
 
     /**
      * 绑定角色
-     * @param id
-     * @param roleIds
+     * @param sysUser
      * @return
      */
     @ApiOperation(value = "绑定角色")
     @RequestMapping(value = "/bind_roles", method = RequestMethod.POST)
-    public Result bindRoles(@RequestParam(value = "id") Long id,
-                                 @RequestParam(value = "roleIds") Long[] roleIds){
-        boolean isSuccess = sysUserService.bindRoles(id, roleIds);
+    public Result bindRoles(@RequestBody SysUser sysUser){
+        boolean isSuccess = sysUserService.bindRoles(sysUser);
         return ResultUtil.ok(isSuccess);
     }
 }

+ 0 - 20
digit-print/src/main/java/com/qmth/digit/print/api/TBAttachmentController.java

@@ -1,20 +0,0 @@
-package com.qmth.digit.print.api;
-
-
-import com.qmth.boot.api.constant.ApiConstant;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * <p>
- * 附件表 前端控制器
- * </p>
- *
- * @author wangliang
- * @since 2021-03-19
- */
-@RestController
-@RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + "/${prefix.url.admin}")
-public class TBAttachmentController {
-
-}

+ 1 - 1
digit-print/src/main/java/com/qmth/digit/print/aspect/ApiControllerAspect.java

@@ -66,7 +66,7 @@ public class ApiControllerAspect {
                     }
                 }
                 if (jsonOut) {
-                    log.info("============参数key:{},参数value===========:{}", JacksonUtil.parseJson(paramsName), JacksonUtil.parseJson(args));
+//                    log.info("============参数key:{},参数value===========:{}", JacksonUtil.parseJson(paramsName), JacksonUtil.parseJson(args));
                 } else {
                     for (int i = 0; i < args.length; i++) {
                         log.info("============参数key:{},参数value===========:{}", paramsName[i], args[i]);

+ 19 - 2
digit-print/src/main/resources/application.properties

@@ -42,7 +42,7 @@ aliyun.oss.bucket=teachcloud-test
 aliyun.oss.url=http://${aliyun.oss.bucket}.${aliyun.oss.name}
 
 #是否上传oss
-sys.config.oss=true
+sys.config.oss=false
 sys.config.attachmentType=.xlsx,.xls,.doc,.docx,.pdf,.jpg,.jpeg,.png,.html,.zip,.mp3,.wav,.dll,.exe
 sys.config.serverUpload=upload
 spring.resources.static-locations=file:${sys.config.serverUpload},classpath:/META-INF/resources/,classpath:/resources/
@@ -68,4 +68,21 @@ prefix.url.exam=exam
 
 #日志
 com.qmth.logging.root-level=info
-com.qmth.logging.file-path=/Users/king/Downloads/digit-print.log
+com.qmth.logging.file-path=/Users/king/Downloads/digit-print.log
+
+
+#通用短信验证码
+sms.config.smsNormalCode=qmth
+#手机验证码有效期 单位:分钟
+sms.config.codeExpiredTime=2
+#发送短信的时间间隔 单位:秒
+sms.config.codeSendInterval=60
+##阿里云短信消息配置
+#aliyun SMS key
+sms.config.aliyunSMSKey=LTAI4Fi8jVRYT49QBXU9x5QX
+#aliyun SMS secret
+sms.config.aliyunSMSSecret=97aBLBfkQR5mzCiQa82yWLAH57eUd8
+#aliyun短信签名
+sms.config.aliyunSMSSignName=逸教云
+#aliyun短信模板
+sms.config.aliyunSMSTplCode=SMS_147416565