Pārlūkot izejas kodu

3.2.5 修改课程名称时,同步修改命题任务中的课程名称

xiaofei 2 gadi atpakaļ
vecāks
revīzija
99d798fd6a

+ 2 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/mapper/BasicCourseMapper.java

@@ -54,4 +54,6 @@ public interface BasicCourseMapper extends BaseMapper<BasicCourse> {
     Set<Map<String, Object>> findExamTaskByCourseCode(@Param("schoolId") Long schoolId, @Param("courseCodeSet") Set<String> courseCodeSet);
 
     List<BasicCourseExportDto> listExportData(@Param("belongOrgId") Long belongOrgId, @Param("courseName") String courseName, @Param("startCreateTime") Long startCreateTime, @Param("endCreateTime") Long endCreateTime, @Param("schoolId") Long schoolId, @Param("dpr") DataPermissionRule dpr);
+
+    void updateCourseNameFormExamTask(@Param("schoolId") Long schoolId, @Param("courseCode") String courseCode, @Param("courseName") String courseName);
 }

+ 8 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/BasicCourseServiceImpl.java

@@ -176,6 +176,9 @@ public class BasicCourseServiceImpl extends ServiceImpl<BasicCourseMapper, Basic
         BasicCourse editBasicCourse = this.editEntityHelp(basicCourseParamsList, sysUser).get(0);
         try {
             this.saveOrUpdate(editBasicCourse);
+
+            // 同步更新命题任务中的课程名称
+            this.baseMapper.updateCourseNameFormExamTask(sysUser.getSchoolId(), editBasicCourse.getCode(), editBasicCourse.getName());
         } catch (Exception e) {
             if (e instanceof DataIntegrityViolationException) {
                 String error = e.getCause().toString();
@@ -416,6 +419,11 @@ public class BasicCourseServiceImpl extends ServiceImpl<BasicCourseMapper, Basic
             List<BasicCourse> editBasicCourse = this.editEntityHelp(addBasicCourseParamsList, sysUser);
             try {
                 this.saveOrUpdateBatch(editBasicCourse);
+
+                // 同步更新命题任务中的课程名称
+                for (BasicCourse basicCourse : editBasicCourse) {
+                    this.baseMapper.updateCourseNameFormExamTask(sysUser.getSchoolId(), basicCourse.getCode(), basicCourse.getName());
+                }
             } catch (Exception e) {
                 if (e instanceof DataIntegrityViolationException) {
                     String error = e.getCause().toString();

+ 3 - 0
teachcloud-common/src/main/resources/mapper/BasicCourseMapper.xml

@@ -26,6 +26,9 @@
                update_time
         from basic_course
     </sql>
+    <update id="updateCourseNameFormExamTask">
+        update exam_task set course_name = #{courseName} where school_id = #{schoolId} and course_code = #{courseCode} and course_name != #{courseName}
+    </update>
 
     <select id="listCoursesByUserId" resultMap="BaseResultMap">
         SELECT a.id,