Forráskód Böngészése

经营报表导致的排课bug

zouxuan 2 éve
szülő
commit
b4cf98d5fa

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ClassGroupDao.java

@@ -866,4 +866,6 @@ public interface ClassGroupDao extends BaseDAO<Integer, ClassGroup> {
     * @date 2022/9/29 18:14 
     */
     Boolean hasConvertCourse(@Param("classIdList") List<Integer> classIdList);
+
+    void addClassTimes(@Param("classGroupId") Integer classGroupId, @Param("num") Integer num);
 }

+ 2 - 11
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -3765,18 +3765,9 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
     }
 
     @Override
-    @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
+    @Transactional(rollbackFor = Exception.class)
     public boolean updateTotalClassTimes(Integer classGroupId, Integer num) {
-        ClassGroup classGroup = classGroupDao.lockClassGroup(classGroupId);
-        if (Objects.isNull(classGroup)) {
-            throw new BizException("班级不存在");
-        }
-        int totalClassTimes = classGroup.getTotalClassTimes() == null ? 0 : classGroup.getTotalClassTimes();
-        classGroup.setTotalClassTimes(totalClassTimes + num);
-        classGroup.setUpdateTime(new Date());
-
-        classGroupDao.update(classGroup);
-
+        classGroupDao.addClassTimes(classGroupId,num);
         return true;
     }
 

+ 3 - 0
mec-biz/src/main/resources/config/mybatis/ClassGroupMapper.xml

@@ -87,6 +87,9 @@
             <if test="tenantId!=null">#{tenantId},</if>
         </trim>
     </insert>
+    <update id="addClassTimes">
+        UPDATE class_group SET total_class_times_ = total_class_times_ + #{num} where id_ = #{classGroupId}
+    </update>
 
     <delete id="deleteByGroup">
         DELETE FROM class_group WHERE music_group_id_=#{groupId} AND group_type_=#{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}