zouxuan 5 年之前
父節點
當前提交
f3140a1346

+ 12 - 10
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRegistrationServiceImpl.java

@@ -118,18 +118,20 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
         if (studentRegistration == null) {
             throw new Exception("学员信息不存在");
         }
-        //当前专业报名人数减一
-        musicGroupSubjectPlanService.addApplyStudentNum(musicGroupId, studentRegistration.getActualSubjectId(), -1);
         //批量调剂(未缴费学员)
         int i = studentRegistrationDao.batchUpdateSubject(userId, subId, musicGroupId);
-        //修改专业已报名人数
-        musicGroupSubjectPlanService.addApplyStudentNum(musicGroupId, subId, 1);
-        MusicGroup musicGroup = musicGroupDao.get(musicGroupId);
-        Set<Integer> roleIds = new HashSet<>(2);
-        roleIds.add(SysUserRole.SECTION_MANAGER);
-        roleIds.add(SysUserRole.OPERATION_EXECUTIVE);
-        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds), MessageTypeEnum.BACKSTAGE_STUDENT_SUBJECT_CHANGE, "", musicGroup.getName());
-        return studentRegistrationDao.batchUpdateSubject(userId, subId, musicGroupId);
+        if(i > 0){
+            //当前专业报名人数减一
+            musicGroupSubjectPlanService.addApplyStudentNum(musicGroupId, studentRegistration.getActualSubjectId(), -1);
+            //修改专业已报名人数
+            musicGroupSubjectPlanService.addApplyStudentNum(musicGroupId, subId, 1);
+            MusicGroup musicGroup = musicGroupDao.get(musicGroupId);
+            Set<Integer> roleIds = new HashSet<>(2);
+            roleIds.add(SysUserRole.SECTION_MANAGER);
+            roleIds.add(SysUserRole.OPERATION_EXECUTIVE);
+            sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds), MessageTypeEnum.BACKSTAGE_STUDENT_SUBJECT_CHANGE, "", musicGroup.getName());
+        }
+        return i;
     }
 
     @Override

+ 1 - 1
mec-biz/src/main/resources/config/mybatis/StudentRegistrationMapper.xml

@@ -331,7 +331,7 @@
 
     <update id="batchUpdateSubject">
         UPDATE student_registration SET actual_subject_id_ = #{subId},update_time_ = now()
-        WHERE user_id_ = #{userId} AND payment_status_ = 0 AND music_group_id_ = #{musicGroupId}
+        WHERE user_id_ = #{userId} AND payment_status_ != 2 AND music_group_id_ = #{musicGroupId}
     </update>
 
     <select id="queryStudentInfo" resultMap="StudentInfo">