Explorar o código

Merge branch 'dev_v3.0.0' of http://git.qmth.com.cn/wangliang/distributed-print-service into dev_v3.0.0

xiaof %!s(int64=3) %!d(string=hai) anos
pai
achega
bda625f91b

+ 0 - 33
distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/TeachClazz.java

@@ -32,19 +32,10 @@ public class TeachClazz extends BaseEntity implements Serializable {
     @JsonSerialize(using = ToStringSerializer.class)
     private Long userId;
 
-    @ApiModelProperty(value = "用户姓名(冗余)")
-    private String userName;
-
     @ApiModelProperty(value = "教学课程主键")
     @JsonSerialize(using = ToStringSerializer.class)
     private Long teachCourseId;
 
-    @ApiModelProperty(value = "教学课程编号(冗余)")
-    private String teachCourseCode;
-
-    @ApiModelProperty(value = "教学课程名称(冗余)")
-    private String teachCourseName;
-
     public Long getSchoolId() {
         return schoolId;
     }
@@ -77,14 +68,6 @@ public class TeachClazz extends BaseEntity implements Serializable {
         this.userId = userId;
     }
 
-    public String getUserName() {
-        return userName;
-    }
-
-    public void setUserName(String userName) {
-        this.userName = userName;
-    }
-
     public Long getTeachCourseId() {
         return teachCourseId;
     }
@@ -92,20 +75,4 @@ public class TeachClazz extends BaseEntity implements Serializable {
     public void setTeachCourseId(Long teachCourseId) {
         this.teachCourseId = teachCourseId;
     }
-
-    public String getTeachCourseCode() {
-        return teachCourseCode;
-    }
-
-    public void setTeachCourseCode(String teachCourseCode) {
-        this.teachCourseCode = teachCourseCode;
-    }
-
-    public String getTeachCourseName() {
-        return teachCourseName;
-    }
-
-    public void setTeachCourseName(String teachCourseName) {
-        this.teachCourseName = teachCourseName;
-    }
 }

+ 0 - 33
distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/TeachCourse.java

@@ -26,19 +26,10 @@ public class TeachCourse extends BaseEntity implements Serializable {
     @JsonSerialize(using = ToStringSerializer.class)
     private Long basicCourseId;
 
-    @ApiModelProperty(value = "基础课程编号")
-    private String basicCourseCode;
-
-    @ApiModelProperty(value = "基础课程名称")
-    private String basicCourseName;
-
     @ApiModelProperty(value = "创建此教学课程的用户id")
     @JsonSerialize(using = ToStringSerializer.class)
     private Long userId;
 
-    @ApiModelProperty(value = "创建此教学课程的用户姓名")
-    private String userName;
-
     @ApiModelProperty(value = "是否删除")
     private Boolean enable;
 
@@ -58,22 +49,6 @@ public class TeachCourse extends BaseEntity implements Serializable {
         this.basicCourseId = basicCourseId;
     }
 
-    public String getBasicCourseCode() {
-        return basicCourseCode;
-    }
-
-    public void setBasicCourseCode(String basicCourseCode) {
-        this.basicCourseCode = basicCourseCode;
-    }
-
-    public String getBasicCourseName() {
-        return basicCourseName;
-    }
-
-    public void setBasicCourseName(String basicCourseName) {
-        this.basicCourseName = basicCourseName;
-    }
-
     public Long getUserId() {
         return userId;
     }
@@ -82,14 +57,6 @@ public class TeachCourse extends BaseEntity implements Serializable {
         this.userId = userId;
     }
 
-    public String getUserName() {
-        return userName;
-    }
-
-    public void setUserName(String userName) {
-        this.userName = userName;
-    }
-
     public Boolean getEnable() {
         return enable;
     }

+ 0 - 34
distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/TeachStudent.java

@@ -26,12 +26,6 @@ public class TeachStudent extends BaseEntity implements Serializable {
     @JsonSerialize(using = ToStringSerializer.class)
     private Long studentId;
 
-    @ApiModelProperty(value = "学号(冗余)")
-    private String studentCode;
-
-    @ApiModelProperty(value = "学生姓名(冗余)")
-    private String studentName;
-
     @ApiModelProperty(value = "教学班级id")
     @JsonSerialize(using = ToStringSerializer.class)
     private Long teachClazzId;
@@ -44,10 +38,6 @@ public class TeachStudent extends BaseEntity implements Serializable {
     @JsonSerialize(using = ToStringSerializer.class)
     private Long userId;
 
-    @ApiModelProperty(value = "学生所在校区(冗余)")
-    @JsonSerialize(using = ToStringSerializer.class)
-    private Long campusId;
-
     public Long getSchoolId() {
         return schoolId;
     }
@@ -64,22 +54,6 @@ public class TeachStudent extends BaseEntity implements Serializable {
         this.studentId = studentId;
     }
 
-    public String getStudentCode() {
-        return studentCode;
-    }
-
-    public void setStudentCode(String studentCode) {
-        this.studentCode = studentCode;
-    }
-
-    public String getStudentName() {
-        return studentName;
-    }
-
-    public void setStudentName(String studentName) {
-        this.studentName = studentName;
-    }
-
     public Long getTeachClazzId() {
         return teachClazzId;
     }
@@ -103,12 +77,4 @@ public class TeachStudent extends BaseEntity implements Serializable {
     public void setUserId(Long userId) {
         this.userId = userId;
     }
-
-    public Long getCampusId() {
-        return campusId;
-    }
-
-    public void setCampusId(Long campusId) {
-        this.campusId = campusId;
-    }
 }

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

@@ -387,7 +387,7 @@ public class ExamTaskPrintServiceImpl extends ServiceImpl<ExamTaskPrintMapper, E
                 .eq(TeachCourse::getUserId, requestUser.getId()));
         if (teachCourseDatasource != null && teachCourseDatasource.size() > 0) {
             // 如果该用户创建了任意教学课程,则走教学课程查询逻辑
-            List<TeachCourse> teachCourseList = teachCourseDatasource.stream().filter(e -> e.getBasicCourseCode().equals(courseCode)).collect(Collectors.toList());
+            List<TeachCourse> teachCourseList = teachCourseDatasource.stream().filter(e -> basicCourseService.getById(e.getBasicCourseId()).getCode().equals(courseCode)).collect(Collectors.toList());
             if (teachCourseList.size() > 1) {
                 throw ExceptionResultEnum.ERROR.exception("基础信息管理中【" + basicCourse.getName() + "】教学课程信息存在多条数据异常");
             }

+ 9 - 6
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/TeachClazzServiceImpl.java

@@ -17,8 +17,10 @@ import com.qmth.distributed.print.business.service.TeachCourseService;
 import com.qmth.distributed.print.business.service.TeachStudentService;
 import com.qmth.teachcloud.common.base.BaseEntity;
 import com.qmth.teachcloud.common.contant.SystemConstant;
+import com.qmth.teachcloud.common.entity.BasicCourse;
 import com.qmth.teachcloud.common.entity.SysUser;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
+import com.qmth.teachcloud.common.service.BasicCourseService;
 import com.qmth.teachcloud.common.util.ServletUtil;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -40,6 +42,8 @@ public class TeachClazzServiceImpl extends ServiceImpl<TeachClazzMapper,TeachCla
     private TeachStudentService teachStudentService;
     @Resource
     private TeachCourseService teachCourseService;
+    @Resource
+    private BasicCourseService basicCourseService;
 
     @Override
     public IPage<TeachClazzResult> teachClazzPage(Long teachCourseId, String teachClazzName, int pageNumber, int pageSize) {
@@ -87,17 +91,15 @@ public class TeachClazzServiceImpl extends ServiceImpl<TeachClazzMapper,TeachCla
                     .eq(TeachClazz::getTeachCourseId, teachCourseId));
 
             if (Objects.nonNull(check)) {
-                throw ExceptionResultEnum.ERROR.exception("教学课程【" + check.getTeachCourseName() + "】中已存在班级名称为【" + check.getTeachClazzName() + "】的班级");
+                throw ExceptionResultEnum.ERROR.exception("教学课程【" + basicCourseService.getById(teachCourseService.getById(check.getTeachCourseId()).getBasicCourseId()).getName()
+                        + "】中已存在班级名称为【" + check.getTeachClazzName() + "】的班级");
             }
 
             TeachClazz teachClazz = new TeachClazz();
             teachClazz.setSchoolId(schoolId);
             teachClazz.setTeachClazzName(teachClazzName);
             teachClazz.setUserId(teachCourse.getUserId());
-            teachClazz.setUserName(teachCourse.getUserName());
             teachClazz.setTeachCourseId(teachCourseId);
-            teachClazz.setTeachCourseCode(teachCourse.getBasicCourseCode());
-            teachClazz.setTeachCourseName(teachCourse.getBasicCourseName());
             teachClazz.insertInfo(requestUser.getId());
             result = this.save(teachClazz);
         }
@@ -122,10 +124,11 @@ public class TeachClazzServiceImpl extends ServiceImpl<TeachClazzMapper,TeachCla
                 .eq(TeachCourse::getSchoolId, schoolId)
                 .orderByDesc(TeachCourse::getCreateTime));
         return teachCourseList.stream().flatMap(e -> {
+            BasicCourse basicCourse = basicCourseService.getById(e.getBasicCourseId());
             DictionaryResult dictionaryResult = new DictionaryResult();
             dictionaryResult.setId(e.getId());
-            dictionaryResult.setCode(e.getBasicCourseCode());
-            dictionaryResult.setName(e.getBasicCourseName());
+            dictionaryResult.setCode(basicCourse.getCode());
+            dictionaryResult.setName(basicCourse.getName());
             return Stream.of(dictionaryResult);
         }).collect(Collectors.toList());
     }

+ 5 - 8
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/TeachCourseServiceImpl.java

@@ -77,14 +77,9 @@ public class TeachCourseServiceImpl extends ServiceImpl<TeachCourseMapper, Teach
         TeachCourse teachCourse = new TeachCourse();
         teachCourse.setSchoolId(schoolId);
         teachCourse.setBasicCourseId(basicCourseId);
-        teachCourse.setBasicCourseCode(basicCourse.getCode());
-        teachCourse.setBasicCourseName(basicCourse.getName());
         teachCourse.setUserId(userId);
-        teachCourse.setUserName(requestUser.getRealName());
         teachCourse.setEnable(true);
         teachCourse.insertInfo(userId);
-
-
         return this.save(teachCourse);
     }
 
@@ -93,7 +88,10 @@ public class TeachCourseServiceImpl extends ServiceImpl<TeachCourseMapper, Teach
         Long userId = requestUser.getId();
         Set<Long> orgIdSet = sysOrgService.findDeepOrgIdListByUserId(userId);
         List<BasicCourse> basicCourseList = basicCourseService.list(new QueryWrapper<BasicCourse>()
-                .lambda().in(BasicCourse::getTeachingRoomId, orgIdSet));
+                .lambda()
+                .in(BasicCourse::getTeachingRoomId, orgIdSet)
+                .eq(BasicCourse::getEnable, true));
+
         List<DictionaryResult> resultList = new ArrayList<>();
         for (BasicCourse basicCourse : basicCourseList) {
             DictionaryResult dictionaryResult = new DictionaryResult();
@@ -106,7 +104,6 @@ public class TeachCourseServiceImpl extends ServiceImpl<TeachCourseMapper, Teach
     @Transactional(rollbackFor = Exception.class)
     @Override
     public Boolean deleteTeachCourseBatch(List<Long> idList) {
-
         List<TeachClazz> teachClazzList = teachClazzService.list(new QueryWrapper<TeachClazz>().lambda().in(TeachClazz::getTeachCourseId, idList));
         StringBuilder exception = new StringBuilder();
         Set<Long> teachCourseIdSet = teachClazzList.stream().map(TeachClazz::getTeachCourseId).collect(Collectors.toSet());
@@ -115,7 +112,7 @@ public class TeachCourseServiceImpl extends ServiceImpl<TeachCourseMapper, Teach
             List<TeachClazz> cellList = teachClazzList.stream().filter(cell -> teachCourseId.equals(cell.getTeachCourseId())).collect(Collectors.toList());
             if (cellList.size() > 0) {
                 String clazzNameStr = cellList.stream().map(TeachClazz::getTeachClazzName).collect(Collectors.joining(","));
-                String courseName = cellList.get(0).getTeachCourseName();
+                String courseName = basicCourseService.getById(this.getById(teachCourseId).getBasicCourseId()).getName();
                 e = e + "【" + courseName + "】" + "已绑定教学班级【" + clazzNameStr + "】不能删除,请先删除被绑定的教学班级\n";
             }
             exception.append(e);

+ 0 - 4
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/TeachStudentServiceImpl.java

@@ -1,6 +1,5 @@
 package com.qmth.distributed.print.business.service.impl;
 
-import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -162,12 +161,9 @@ public class TeachStudentServiceImpl extends ServiceImpl<TeachStudentMapper, Tea
                 TeachStudent teachStudent = new TeachStudent();
                 teachStudent.setSchoolId(basicStudent.getSchoolId());
                 teachStudent.setStudentId(basicStudent.getId());
-                teachStudent.setStudentCode(basicStudent.getStudentCode());
-                teachStudent.setStudentName(basicStudent.getStudentName());
                 teachStudent.setTeachClazzId(teachClazzId);
                 teachStudent.setTeachCourseId(teachClazz.getTeachCourseId());
                 teachStudent.setUserId(teachClazz.getUserId());
-                teachStudent.setCampusId(basicStudent.getCampusId());
                 teachStudent.insertInfo(requestUser.getId());
                 teachStudentList.add(teachStudent);
             }

+ 15 - 11
distributed-print-business/src/main/resources/mapper/TeachCourseMapper.xml

@@ -5,24 +5,28 @@
     <select id="findTeachCoursePage"
             resultType="com.qmth.distributed.print.business.bean.result.TeachCourseResult">
         SELECT
-            id,
-            basic_course_code as courseCode,
-            basic_course_name as courseName,
-            create_time as createTime
+            tc.id,
+            bc.code AS courseCode,
+            bc.name AS courseName,
+            tc.create_time AS createTime
         FROM
-            teach_course
+            teach_course tc
+                INNER JOIN
+            basic_course bc ON tc.basic_course_id = bc.id AND bc.enable = TRUE
         <where>
             <if test="schoolId != null and schoolId != ''">
-                AND school_id = #{schoolId}
+                AND tc.school_id = #{schoolId}
             </if>
             <if test="courseName != null and courseName != ''">
-                AND basic_course_name LIKE CONCAT('%',#{courseName},'%')
+                AND bc.name LIKE CONCAT('%',#{courseName},'%')
             </if>
             <if test="userId != null and userId != ''">
-                AND user_id = #{userId}
+                AND tc.user_id = #{userId}
             </if>
-        AND enable = true
+            AND tc.enable = true
         </where>
-        ORDER BY create_time DESC
+        ORDER BY tc.create_time DESC
     </select>
-</mapper>
+</mapper>
+
+

+ 7 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/mapper/BasicStudentMapper.java

@@ -32,4 +32,11 @@ public interface BasicStudentMapper extends BaseMapper<BasicStudent> {
                                                    @Param("majorId") Long majorId,
                                                    @Param("clazzIdList") Set<Long> clazzIdList,
                                                    @Param("orgIds") Set<Long> orgIds);
+
+    /**
+     * 根据基础学生主键同步删除教学学生信息
+     * @param idSet 基础学生id集合
+     * @return 删除的行数
+     */
+    int deleteTeachStudentByBasicStudentIdSet(@Param("idSet") Set<Long> idSet);
 }

+ 19 - 2
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/BasicStudentServiceImpl.java

@@ -5,6 +5,7 @@ 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.teachcloud.common.base.BaseEntity;
 import com.qmth.teachcloud.common.bean.dto.TaskPrintClassDto;
 import com.qmth.teachcloud.common.bean.dto.excel.BasicStudentImportDto;
 import com.qmth.teachcloud.common.bean.dto.excel.DescribeImportDto;
@@ -97,7 +98,11 @@ public class BasicStudentServiceImpl extends ServiceImpl<BasicStudentMapper, Bas
         if (idList.size() == 0) {
             throw ExceptionResultEnum.ERROR.exception("请选择要删除的目标");
         }
-        return this.remove(new QueryWrapper<BasicStudent>().lambda().in(BasicStudent::getId, idList));
+        // 删除基础学生
+        this.remove(new QueryWrapper<BasicStudent>().lambda().in(BasicStudent::getId, idList));
+        // 同步删除教学学生
+        this.baseMapper.deleteTeachStudentByBasicStudentIdSet(new HashSet<>(idList));
+        return true;
     }
 
     @Transactional(rollbackFor = Exception.class)
@@ -119,7 +124,19 @@ public class BasicStudentServiceImpl extends ServiceImpl<BasicStudentMapper, Bas
         if (clazzIdList != null && clazzIdList.size() > 0){
             basicStudentQueryWrapper.in(BasicStudent::getClazzId,clazzIdList);
         }
-        return this.remove(basicStudentQueryWrapper);
+        List<BasicStudent> willDeleteStudent = this.list(basicStudentQueryWrapper);
+
+        // 删除基础学生
+        if (willDeleteStudent.size() > 0){
+            this.removeByIds(willDeleteStudent);
+            // 同步删除教学学生
+            Set<Long> idSet = willDeleteStudent.stream().map(BaseEntity::getId).collect(Collectors.toSet());
+            if (idSet.size() > 0){
+                this.baseMapper.deleteTeachStudentByBasicStudentIdSet(idSet);
+            }
+        }
+
+        return true;
     }
 
     @Transactional(rollbackFor = Exception.class)

+ 9 - 0
teachcloud-common/src/main/resources/mapper/BasicStudentMapper.xml

@@ -1,6 +1,15 @@
 <?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.teachcloud.common.mapper.BasicStudentMapper">
+    <delete id="deleteTeachStudentByBasicStudentIdSet">
+        DELETE FROM teach_student WHERE
+            <if test="idSet != null">
+                student_id IN
+                <foreach collection="idSet" item="item" index="index" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+    </delete>
 
     <select id="listByClass" resultType="com.qmth.teachcloud.common.bean.dto.TaskPrintClassDto">
         SELECT