Bläddra i källkod

Merge remote-tracking branch 'origin/dev_v2.2.1' into dev_v2.2.1

wangliang 3 år sedan
förälder
incheckning
61e33acc38
21 ändrade filer med 288 tillägg och 46 borttagningar
  1. 49 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/result/DictionaryResult.java
  2. 40 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/enums/DictionaryEnum.java
  3. 1 2
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/BasicSemesterMapper.java
  4. 2 2
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicSemesterServiceImpl.java
  5. 2 2
      distributed-print/src/main/java/com/qmth/distributed/print/api/BasicMajorController.java
  6. 1 4
      distributed-print/src/main/java/com/qmth/distributed/print/api/BasicSemesterController.java
  7. 99 4
      distributed-print/src/main/java/com/qmth/distributed/print/api/SysController.java
  8. 1 1
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/params/BasicMajorParams.java
  9. 23 0
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/result/BasicClazzResult.java
  10. 1 1
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/result/BasicMajorResult.java
  11. 6 3
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/result/BasicStudentResult.java
  12. 1 1
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/entity/BasicMajor.java
  13. 1 1
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/entity/BasicSemester.java
  14. 3 3
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/mapper/BasicMajorMapper.java
  15. 5 4
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/BasicMajorService.java
  16. 2 2
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/BasicSemesterService.java
  17. 8 6
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/BasicMajorServiceImpl.java
  18. 33 5
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/BasicStudentServiceImpl.java
  19. 6 1
      teachcloud-common/src/main/resources/mapper/BasicClazzMapper.xml
  20. 3 3
      teachcloud-common/src/main/resources/mapper/BasicMajorMapper.xml
  21. 1 1
      teachcloud-common/src/main/resources/mapper/BasicSemesterMapper.xml

+ 49 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/result/DictionaryResult.java

@@ -0,0 +1,49 @@
+package com.qmth.distributed.print.business.bean.result;
+
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+
+/**
+ * @Description: 字典查询公共返回接口
+ * @Author: CaoZixuan
+ * @Date: 2021-11-02
+ */
+public class DictionaryResult implements Serializable {
+
+    @JsonSerialize(using = ToStringSerializer.class)
+    @ApiModelProperty(value = "主键")
+    private Long id;
+
+    @ApiModelProperty(value = "名称")
+    private String name;
+
+    @ApiModelProperty(value = "编号")
+    private String code;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code;
+    }
+}

+ 40 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/enums/DictionaryEnum.java

@@ -0,0 +1,40 @@
+package com.qmth.distributed.print.business.enums;
+
+import java.util.Objects;
+
+/**
+ * @Description: 字典管理枚举
+ * @Author: CaoZixuan
+ * @Date: 2021-11-02
+ */
+public enum DictionaryEnum {
+    COLLEGE("学院"),
+    MAJOR("专业"),
+    CLAZZ("班级"),
+    STUDENT("学生"),
+    ;
+    private final String desc;
+
+    DictionaryEnum(String desc) {
+        this.desc = desc;
+    }
+
+    public String getDesc() {
+        return desc;
+    }
+
+    /**
+     * 状态转换 toName
+     *
+     * @param title
+     * @return
+     */
+    public static String convertToName(String title) {
+        for (DictionaryEnum e : DictionaryEnum.values()) {
+            if (Objects.equals(title, e.getDesc())) {
+                return e.name();
+            }
+        }
+        return null;
+    }
+}

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

@@ -3,9 +3,8 @@ package com.qmth.distributed.print.business.mapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.qmth.distributed.print.business.entity.BasicSemester;
+import com.qmth.teachcloud.common.entity.BasicSemester;
 import com.qmth.teachcloud.common.bean.result.BasicSemesterResult;
-import com.qmth.teachcloud.common.bean.result.BasicStudentResult;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.Set;

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

@@ -5,10 +5,10 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.qmth.distributed.print.business.entity.BasicSemester;
+import com.qmth.teachcloud.common.entity.BasicSemester;
 import com.qmth.distributed.print.business.entity.ExamPrintPlan;
 import com.qmth.distributed.print.business.mapper.BasicSemesterMapper;
-import com.qmth.distributed.print.business.service.BasicSemesterService;
+import com.qmth.teachcloud.common.service.BasicSemesterService;
 import com.qmth.distributed.print.business.service.ExamPrintPlanService;
 import com.qmth.teachcloud.common.bean.params.BasicSemesterParams;
 import com.qmth.teachcloud.common.bean.result.BasicSemesterResult;

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

@@ -2,9 +2,9 @@ package com.qmth.distributed.print.api;
 
 
 import com.qmth.boot.api.constant.ApiConstant;
-import com.qmth.distributed.print.business.bean.params.BasicMajorParams;
+import com.qmth.teachcloud.common.bean.params.BasicMajorParams;
 import com.qmth.distributed.print.business.bean.result.EditResult;
-import com.qmth.distributed.print.business.service.BasicMajorService;
+import com.qmth.teachcloud.common.service.BasicMajorService;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.util.Result;
 import com.qmth.teachcloud.common.util.ResultUtil;

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

@@ -3,12 +3,9 @@ package com.qmth.distributed.print.api;
 
 import com.qmth.boot.api.constant.ApiConstant;
 import com.qmth.distributed.print.business.bean.result.EditResult;
-import com.qmth.distributed.print.business.entity.BasicSemester;
-import com.qmth.distributed.print.business.service.BasicSemesterService;
-import com.qmth.teachcloud.common.bean.params.BasicCampusParams;
+import com.qmth.teachcloud.common.service.BasicSemesterService;
 import com.qmth.teachcloud.common.bean.params.BasicSemesterParams;
 import com.qmth.teachcloud.common.contant.SystemConstant;
-import com.qmth.teachcloud.common.service.BasicCampusService;
 import com.qmth.teachcloud.common.util.Result;
 import com.qmth.teachcloud.common.util.ResultUtil;
 import com.qmth.teachcloud.common.util.ServletUtil;

+ 99 - 4
distributed-print/src/main/java/com/qmth/distributed/print/api/SysController.java

@@ -7,7 +7,9 @@ import com.qmth.boot.api.annotation.BOOL;
 import com.qmth.boot.api.constant.ApiConstant;
 import com.qmth.boot.api.exception.ApiException;
 import com.qmth.distributed.print.business.bean.params.LoginParam;
+import com.qmth.distributed.print.business.bean.result.DictionaryResult;
 import com.qmth.distributed.print.business.bean.result.EditResult;
+import com.qmth.distributed.print.business.enums.DictionaryEnum;
 import com.qmth.distributed.print.business.enums.SystemCodeEnum;
 import com.qmth.distributed.print.business.service.BasicVerifyCodeService;
 import com.qmth.distributed.print.business.service.PrintCommonService;
@@ -36,11 +38,10 @@ import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
 import javax.validation.Valid;
+import javax.validation.constraints.Max;
+import javax.validation.constraints.Min;
 import java.security.NoSuchAlgorithmException;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -91,6 +92,18 @@ public class SysController {
     @Resource
     BasicCourseService basicCourseService;
 
+    @Resource
+    SysOrgService sysOrgService;
+
+    @Resource
+    BasicMajorService basicMajorService;
+
+    @Resource
+    BasicClazzService basicClazzService;
+
+    @Resource
+    BasicStudentService basicStudentService;
+
     /**
      * 登录
      *
@@ -339,4 +352,86 @@ public class SysController {
         } while (count > 0);
         return ResultUtil.ok((Object) paperNumber);
     }
+
+    @ApiOperation(value = "共用接口-查询字典")
+    @RequestMapping(value = "/get_dictionary", method = RequestMethod.POST)
+    @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = Result.class)})
+    public Result findDictionaryList(@ApiParam(value = "学院id") @RequestParam(required = false) String collegeId,
+                                     @ApiParam(value = "专业id") @RequestParam(required = false) String majorId,
+                                     @ApiParam(value = "班级id") @RequestParam(required = false) String clazzId,
+                                     @ApiParam(value = "学生id") @RequestParam(required = false) String studentId,
+                                     @ApiParam(value = "查询字典对象") @RequestParam(required = true) DictionaryEnum dictionaryEnum) {
+        Long schoolId = SystemConstant.convertIdToLong(ServletUtil.getRequestHeaderSchoolId().toString());
+        List<DictionaryResult> dictionaryResultList = new ArrayList<>();
+        switch (dictionaryEnum) {
+            case COLLEGE:
+                List<SysOrg> sysOrgList = sysOrgService.list(new QueryWrapper<SysOrg>().lambda().eq(SysOrg::getSchoolId, schoolId).eq(SysOrg::getEnable, true));
+                dictionaryResultList = sysOrgList.stream().map(e -> {
+                    DictionaryResult dictionaryResult = new DictionaryResult();
+                    dictionaryResult.setId(e.getId());
+                    dictionaryResult.setCode(e.getCode());
+                    dictionaryResult.setName(e.getName());
+                    return dictionaryResult;
+                }).collect(Collectors.toList());
+                break;
+            case MAJOR:
+                QueryWrapper<BasicMajor> majorQueryWrapper = new QueryWrapper<>();
+                majorQueryWrapper.lambda()
+                        .eq(BasicMajor::getSchoolId, schoolId)
+                        .eq(BasicMajor::getEnable, true);
+
+                if (SystemConstant.longNotNull(SystemConstant.convertIdToLong(collegeId))) {
+                    majorQueryWrapper.lambda().eq(BasicMajor::getBelongOrgId, collegeId);
+                }
+                List<BasicMajor> basicMajorList = basicMajorService.list(majorQueryWrapper);
+                dictionaryResultList = basicMajorList.stream().map(e -> {
+                    DictionaryResult dictionaryResult = new DictionaryResult();
+                    dictionaryResult.setId(e.getId());
+                    dictionaryResult.setCode(e.getCode());
+                    dictionaryResult.setName(e.getName());
+                    return dictionaryResult;
+                }).collect(Collectors.toList());
+                break;
+            case CLAZZ:
+                QueryWrapper<BasicClazz> clazzQueryWrapper = new QueryWrapper<>();
+                clazzQueryWrapper.lambda().eq(BasicClazz::getSchoolId, schoolId).eq(BasicClazz::getEnable, true);
+                if (SystemConstant.longNotNull(SystemConstant.convertIdToLong(majorId))) {
+                    clazzQueryWrapper.lambda().eq(BasicClazz::getMajorId, majorId);
+                }
+                List<BasicClazz> basicClazzList = basicClazzService.list(clazzQueryWrapper);
+                dictionaryResultList = basicClazzList.stream().map(e -> {
+                    DictionaryResult dictionaryResult = new DictionaryResult();
+                    dictionaryResult.setId(e.getId());
+                    dictionaryResult.setCode(e.getClazzCode());
+                    dictionaryResult.setName(e.getClazzName());
+                    return dictionaryResult;
+                }).collect(Collectors.toList());
+                break;
+            case STUDENT:
+                QueryWrapper<BasicStudent> studentQueryWrapper = new QueryWrapper<>();
+                studentQueryWrapper.lambda().eq(BasicStudent::getSchoolId, schoolId).eq(BasicStudent::getEnable, true);
+                if (SystemConstant.longNotNull(SystemConstant.convertIdToLong(collegeId))) {
+                    studentQueryWrapper.lambda().eq(BasicStudent::getBelongOrgId, collegeId);
+                }
+                if (SystemConstant.longNotNull(SystemConstant.convertIdToLong(majorId))) {
+                    studentQueryWrapper.lambda().eq(BasicStudent::getMajorId, majorId);
+                }
+                if (SystemConstant.longNotNull(SystemConstant.convertIdToLong(clazzId))) {
+                    studentQueryWrapper.lambda().eq(BasicStudent::getClazzId, clazzId);
+                }
+                if (SystemConstant.longNotNull(SystemConstant.convertIdToLong(studentId))) {
+                    studentQueryWrapper.lambda().eq(BasicStudent::getId, studentId);
+                }
+                List<BasicStudent> basicStudentList = basicStudentService.list(studentQueryWrapper);
+                dictionaryResultList = basicStudentList.stream().map(e -> {
+                    DictionaryResult dictionaryResult = new DictionaryResult();
+                    dictionaryResult.setId(e.getId());
+                    dictionaryResult.setCode(e.getStudentCode());
+                    dictionaryResult.setName(e.getStudentName());
+                    return dictionaryResult;
+                }).collect(Collectors.toList());
+                break;
+        }
+        return ResultUtil.ok(dictionaryResultList);
+    }
 }

+ 1 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/params/BasicMajorParams.java → teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/params/BasicMajorParams.java

@@ -1,4 +1,4 @@
-package com.qmth.distributed.print.business.bean.params;
+package com.qmth.teachcloud.common.bean.params;
 
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;

+ 23 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/result/BasicClazzResult.java

@@ -35,6 +35,13 @@ public class BasicClazzResult {
     @ApiModelProperty(value = "校区编号")
     private String campusCode;
 
+    @JsonSerialize(using = ToStringSerializer.class)
+    @ApiModelProperty(value = "专业id")
+    private String majorId;
+
+    @ApiModelProperty(value = "专业名称")
+    private String majorName;
+
     @ApiModelProperty(value = "是否被逻辑删除?")
     private Boolean enable;
 
@@ -101,6 +108,22 @@ public class BasicClazzResult {
         this.campusCode = campusCode;
     }
 
+    public String getMajorId() {
+        return majorId;
+    }
+
+    public void setMajorId(String majorId) {
+        this.majorId = majorId;
+    }
+
+    public String getMajorName() {
+        return majorName;
+    }
+
+    public void setMajorName(String majorName) {
+        this.majorName = majorName;
+    }
+
     public Boolean getEnable() {
         return enable;
     }

+ 1 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/result/BasicMajorResult.java → teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/result/BasicMajorResult.java

@@ -1,4 +1,4 @@
-package com.qmth.distributed.print.business.bean.result;
+package com.qmth.teachcloud.common.bean.result;
 
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;

+ 6 - 3
teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/result/BasicStudentResult.java

@@ -31,12 +31,14 @@ public class BasicStudentResult {
     @ApiModelProperty(value = "校区名称")
     private String campusName;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "学院id")
     private Long collegeId;
 
     @ApiModelProperty(value = "学院名称")
     private String collegeName;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "专业id")
     private Long majorId;
 
@@ -46,8 +48,9 @@ public class BasicStudentResult {
     @ApiModelProperty(value = "班级信息")
     private String clazz;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "班级id")
-    private String clazzId;
+    private Long clazzId;
 
     @ApiModelProperty(value = "是否被逻辑删除?")
     private Boolean enable;
@@ -171,11 +174,11 @@ public class BasicStudentResult {
         this.createId = createId;
     }
 
-    public String getClazzId() {
+    public Long getClazzId() {
         return clazzId;
     }
 
-    public void setClazzId(String clazzId) {
+    public void setClazzId(Long clazzId) {
         this.clazzId = clazzId;
     }
 }

+ 1 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/BasicMajor.java → teachcloud-common/src/main/java/com/qmth/teachcloud/common/entity/BasicMajor.java

@@ -1,4 +1,4 @@
-package com.qmth.distributed.print.business.entity;
+package com.qmth.teachcloud.common.entity;
 
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;

+ 1 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/BasicSemester.java → teachcloud-common/src/main/java/com/qmth/teachcloud/common/entity/BasicSemester.java

@@ -1,4 +1,4 @@
-package com.qmth.distributed.print.business.entity;
+package com.qmth.teachcloud.common.entity;
 
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;

+ 3 - 3
distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/BasicMajorMapper.java → teachcloud-common/src/main/java/com/qmth/teachcloud/common/mapper/BasicMajorMapper.java

@@ -1,10 +1,10 @@
-package com.qmth.distributed.print.business.mapper;
+package com.qmth.teachcloud.common.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.qmth.distributed.print.business.bean.result.BasicMajorResult;
-import com.qmth.distributed.print.business.entity.BasicMajor;
+import com.qmth.teachcloud.common.bean.result.BasicMajorResult;
+import com.qmth.teachcloud.common.entity.BasicMajor;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.Set;

+ 5 - 4
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/BasicMajorService.java → teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/BasicMajorService.java

@@ -1,10 +1,11 @@
-package com.qmth.distributed.print.business.service;
+package com.qmth.teachcloud.common.service;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
-import com.qmth.distributed.print.business.bean.params.BasicMajorParams;
-import com.qmth.distributed.print.business.bean.result.BasicMajorResult;
-import com.qmth.distributed.print.business.entity.BasicMajor;
+
+import com.qmth.teachcloud.common.bean.params.BasicMajorParams;
+import com.qmth.teachcloud.common.bean.result.BasicMajorResult;
+import com.qmth.teachcloud.common.entity.BasicMajor;
 
 /**
  * <p>

+ 2 - 2
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/BasicSemesterService.java → teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/BasicSemesterService.java

@@ -1,8 +1,8 @@
-package com.qmth.distributed.print.business.service;
+package com.qmth.teachcloud.common.service;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
-import com.qmth.distributed.print.business.entity.BasicSemester;
+import com.qmth.teachcloud.common.entity.BasicSemester;
 import com.qmth.teachcloud.common.bean.params.BasicSemesterParams;
 import com.qmth.teachcloud.common.bean.result.BasicSemesterResult;
 

+ 8 - 6
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicMajorServiceImpl.java → teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/BasicMajorServiceImpl.java

@@ -1,21 +1,23 @@
-package com.qmth.distributed.print.business.service.impl;
+package com.qmth.teachcloud.common.service.impl;
+
+
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.qmth.distributed.print.business.bean.params.BasicMajorParams;
-import com.qmth.distributed.print.business.bean.result.BasicMajorResult;
-import com.qmth.distributed.print.business.entity.BasicMajor;
-import com.qmth.distributed.print.business.mapper.BasicMajorMapper;
-import com.qmth.distributed.print.business.service.BasicMajorService;
+import com.qmth.teachcloud.common.bean.params.BasicMajorParams;
+import com.qmth.teachcloud.common.bean.result.BasicMajorResult;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.BasicClazz;
+import com.qmth.teachcloud.common.entity.BasicMajor;
 import com.qmth.teachcloud.common.entity.BasicStudent;
 import com.qmth.teachcloud.common.entity.SysUser;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
+import com.qmth.teachcloud.common.mapper.BasicMajorMapper;
 import com.qmth.teachcloud.common.service.BasicClazzService;
+import com.qmth.teachcloud.common.service.BasicMajorService;
 import com.qmth.teachcloud.common.service.BasicStudentService;
 import com.qmth.teachcloud.common.util.ServletUtil;
 import org.springframework.stereotype.Service;

+ 33 - 5
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/BasicStudentServiceImpl.java

@@ -10,16 +10,14 @@ import com.qmth.teachcloud.common.bean.dto.excel.BasicStudentImportDto;
 import com.qmth.teachcloud.common.bean.params.BasicStudentParams;
 import com.qmth.teachcloud.common.bean.result.BasicStudentResult;
 import com.qmth.teachcloud.common.entity.BasicClazz;
+import com.qmth.teachcloud.common.entity.BasicMajor;
 import com.qmth.teachcloud.common.entity.BasicStudent;
 import com.qmth.teachcloud.common.mapper.BasicStudentMapper;
-import com.qmth.teachcloud.common.service.BasicClazzService;
-import com.qmth.teachcloud.common.service.BasicStudentService;
+import com.qmth.teachcloud.common.service.*;
 import com.qmth.teachcloud.common.bean.dto.excel.DescribeImportDto;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.SysUser;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
-import com.qmth.teachcloud.common.service.BasicCampusService;
-import com.qmth.teachcloud.common.service.TeachcloudCommonService;
 import com.qmth.teachcloud.common.util.ServletUtil;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
@@ -44,6 +42,10 @@ public class BasicStudentServiceImpl extends ServiceImpl<BasicStudentMapper, Bas
     private BasicStudentMapper basicStudentMapper;
     @Resource
     private BasicClazzService basicClazzService;
+    @Resource
+    private BasicMajorService basicMajorService;
+    @Resource
+    private SysOrgService sysOrgService;
 
     @Override
     public IPage<BasicStudentResult> basicStudentPage(String queryParams,Long campusId, Set<Long> clazzIdList,int pageNumber, int pageSize) {
@@ -164,12 +166,36 @@ public class BasicStudentServiceImpl extends ServiceImpl<BasicStudentMapper, Bas
             String studentCode = basicStudentParams.getStudentCode();
             String phoneNumber = basicStudentParams.getPhoneNumber();
             Long clazzId = basicStudentParams.getClazzId();
+            Long campusId = basicStudentParams.getCampusId();
+            Long majorId = basicStudentParams.getMajorId();
+            Long collegeId = basicStudentParams.getCollegeId();
+
+            // 班级验证
             BasicClazz basicClazz = basicClazzService.getById(clazzId);
             if (Objects.isNull(basicClazz)) {
                 throw ExceptionResultEnum.ERROR.exception("所选班级不存在");
             }
+            if (SystemConstant.longNotNull(campusId)){
+                if (!campusId.equals(basicClazz.getCampusId())){
+                    throw ExceptionResultEnum.ERROR.exception("学生所属班级信息和学生信息中【校区】不对应");
+                }
+            }
+            if (SystemConstant.longNotNull(majorId)){
+                if (!majorId.equals(basicClazz.getMajorId())){
+                    throw ExceptionResultEnum.ERROR.exception("学生所属班级信息和学生信息中【专业】不对应");
+                }
+            }
+            // 专业验证
+            BasicMajor basicMajor = basicMajorService.getById(majorId);
+            if (Objects.isNull(basicMajor)) {
+                throw ExceptionResultEnum.ERROR.exception("所选专业不存在");
+            }
+            if (SystemConstant.longNotNull(collegeId)){
+                if (!collegeId.equals(basicMajor.getBelongOrgId())){
+                    throw ExceptionResultEnum.ERROR.exception("学生所属专业信息和学生信息中【学院】不对应");
+                }
+            }
 
-            Long campusId = basicClazz.getCampusId();
             Long id = basicStudentParams.getId();
 
             // 检验学号在学校的唯一性
@@ -203,6 +229,8 @@ public class BasicStudentServiceImpl extends ServiceImpl<BasicStudentMapper, Bas
             basicStudent.setStudentName(studentName);
             basicStudent.setPhoneNumber(phoneNumber);
             basicStudent.setCampusId(campusId);
+            basicStudent.setBelongOrgId(collegeId);
+            basicStudent.setMajorId(majorId);
             basicStudent.setClazzId(clazzId);
             basicStudent.setSchoolId(schoolId);
 

+ 6 - 1
teachcloud-common/src/main/resources/mapper/BasicClazzMapper.xml

@@ -14,12 +14,17 @@
             clz.create_id AS createId,
             clz.create_time AS createTime,
             cap.campus_name AS campusName,
-            cap.campus_code AS campusCode
+            cap.campus_code AS campusCode,
+            bm.id AS majorId,
+            bm.name AS majorName
         FROM
             basic_clazz clz
                 LEFT JOIN
             basic_campus cap ON clz.campus_id = cap.id
                 AND cap.enable = TRUE
+                LEFT JOIN
+            basic_major bm ON bm.id = clz.major_id
+                AND bm.enable = TRUE
         <where>
             AND clz.enable = TRUE
             <if test="schoolId != null and schoolId != ''">

+ 3 - 3
distributed-print-business/src/main/resources/mapper/BasicMajorMapper.xml → teachcloud-common/src/main/resources/mapper/BasicMajorMapper.xml

@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.qmth.distributed.print.business.mapper.BasicMajorMapper">
+<mapper namespace="com.qmth.teachcloud.common.mapper.BasicMajorMapper">
 
     <select id="findBasicMajorPage"
-            resultType="com.qmth.distributed.print.business.bean.result.BasicMajorResult">
+            resultType="com.qmth.teachcloud.common.bean.result.BasicMajorResult">
         SELECT
             bm.id,
             bm.name AS majorName,
@@ -31,6 +31,6 @@
                 </foreach>
             </if>
         </where>
-        ORDER BY bm.create_time DESC;
+        ORDER BY bm.create_time DESC
     </select>
 </mapper>

+ 1 - 1
distributed-print-business/src/main/resources/mapper/BasicSemesterMapper.xml → teachcloud-common/src/main/resources/mapper/BasicSemesterMapper.xml

@@ -23,6 +23,6 @@
                 </foreach>
             </if>
         </where>
-        ORDER BY bs.create_time DESC;
+        ORDER BY bs.create_time DESC
     </select>
 </mapper>