浏览代码

Merge branch 'master' of http://git.dayaedu.com/yonge/mec into origin_master

zouxuan 4 年之前
父节点
当前提交
9a3d23fb4f

+ 1 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleStudentPaymentDao.java

@@ -401,6 +401,7 @@ public interface CourseScheduleStudentPaymentDao extends BaseDAO<Long, CourseSch
      * @return java.util.List<com.ym.mec.biz.dal.entity.CourseScheduleStudentPaymentDto>
      */
     List<CourseScheduleStudentPaymentDto> findNeedUpdateActualPriceStudentCourses(@Param("groupIds") List<String> groupIds,
+                                                                                  @Param("userIds") List<Integer> userIds,
                                                                                   @Param("groupType") GroupType groupType);
 
     /**

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/event/listener/CourseEventListener.java

@@ -56,7 +56,7 @@ public class CourseEventListener {
         logger.info("课程状态变更(执行开始):{}", courseStatusChangeEvent.getCourseIds());
 
         try{
-            courseScheduleStudentPaymentService.updateCourseActualPrice(null, null);
+            courseScheduleStudentPaymentService.updateCourseActualPrice(null, null, null);
         } finally {
             redisCache.delete(KEY);
         }

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/CourseScheduleStudentPaymentService.java

@@ -125,6 +125,6 @@ public interface CourseScheduleStudentPaymentService extends BaseService<Long, C
 	 * @date 2020/12/2 0002
 	 * @return void
 	 */
-	void updateCourseActualPrice(List<String> groupIds, GroupType groupType);
+	void updateCourseActualPrice(List<String> groupIds, List<Integer> userIds, GroupType groupType);
 
 }

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

@@ -691,9 +691,9 @@ public class CourseScheduleStudentPaymentServiceImpl extends BaseServiceImpl<Lon
 
 	@Override
 	@Transactional(rollbackFor = Exception.class)
-	public void updateCourseActualPrice(List<String> groupIds, GroupType groupType) {
+	public void updateCourseActualPrice(List<String> groupIds, List<Integer> userIds, GroupType groupType) {
 		studentDao.lockUser(1);
-		List<CourseScheduleStudentPaymentDto> courseScheduleStudentPayments = courseScheduleStudentPaymentDao.findNeedUpdateActualPriceStudentCourses(groupIds, groupType);
+		List<CourseScheduleStudentPaymentDto> courseScheduleStudentPayments = courseScheduleStudentPaymentDao.findNeedUpdateActualPriceStudentCourses(groupIds, userIds, groupType);
 		if(CollectionUtils.isEmpty(courseScheduleStudentPayments)){
 			return;
 		}

+ 6 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -1659,7 +1659,6 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         if (musicGroup == null) {
             throw new BizException("乐团不存在");
         }
-        courseScheduleStudentPaymentService.updateCourseActualPrice(Arrays.asList(musicGroupId), GroupType.MUSIC);
 
         if (musicGroup.getStatus() == MusicGroupStatusEnum.CANCELED || musicGroup.getStatus() == MusicGroupStatusEnum.PAUSE) {
             throw new BizException("申请失败,乐团状态[已取消]或[已暂停]");
@@ -1677,6 +1676,8 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         musicGroupQuit.setQuitDate(date);
         musicGroupQuitDao.update(musicGroupQuit);
 
+        courseScheduleStudentPaymentService.updateCourseActualPrice(Arrays.asList(musicGroupId), Arrays.asList(userId), GroupType.MUSIC);
+
         if (status == ApprovalStatus.APPROVED) {
 
             StudentRegistration studentRegistration = studentRegistrationDao.queryByUserIdAndMusicGroupId(userId, musicGroupId);
@@ -1818,7 +1819,6 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         if (musicGroup == null) {
             throw new BizException("乐团不存在");
         }
-        courseScheduleStudentPaymentService.updateCourseActualPrice(Arrays.asList(musicGroupId), GroupType.MUSIC);
         if (musicGroup.getStatus() == MusicGroupStatusEnum.CANCELED || musicGroup.getStatus() == MusicGroupStatusEnum.PAUSE) {
             throw new BizException("退团失败,乐团状态[已取消]或[已暂停]");
         }
@@ -1836,6 +1836,8 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 			throw new BizException("退团失败,存在[进行中]的课程");
 		}
 
+        courseScheduleStudentPaymentService.updateCourseActualPrice(Arrays.asList(musicGroupId), Arrays.asList(userId), GroupType.MUSIC);
+
         Date date = new Date();
 
         MusicGroupQuit musicGroupQuit = new MusicGroupQuit();
@@ -2756,8 +2758,6 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             throw new BizException("乐团当前状态是{},不能关闭", musicGroup.getStatus().getMsg());
         }
 
-        courseScheduleStudentPaymentService.updateCourseActualPrice(Arrays.asList(musicGroup.getId()), GroupType.MUSIC);
-
         //有进行中的课不能关闭乐团
         Integer underwayCourseNum = courseScheduleDao.getUnderwayCourseNum(musicGroup.getId(), GroupType.MUSIC, CourseStatusEnum.UNDERWAY);
         if(underwayCourseNum >0){
@@ -2767,6 +2767,8 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         musicGroup.setUpdateTime(new Date());
         musicGroupDao.update(musicGroup);
 
+        courseScheduleStudentPaymentService.updateCourseActualPrice(Arrays.asList(musicGroup.getId()), null, GroupType.MUSIC);
+
         musicGroupBuildLogDao.insert(new MusicGroupBuildLog(closeMusicGroupDto.getMusicGroupId(), "关闭乐团", sysUser.getId(), ""));
 
         List<StudentRegistration> musicGroupRegs = studentRegistrationDao.findMusicGroupStudent(closeMusicGroupDto.getMusicGroupId(), null);

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

@@ -785,7 +785,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
         List<StudentCourseFeeDetail> studentCourseFeeDetails = new ArrayList<>();
         BigDecimal amount = BigDecimal.ZERO;
         for (StudentRegistration studentRegistration : studentRegistrations) {
-            BigDecimal masterTotalPrice = collect.get(studentRegistration.getUserId()).stream().map(e->e.getCourseCurrentPrice()).reduce(BigDecimal.ZERO, BigDecimal::add);
+            BigDecimal masterTotalPrice = collect.get(studentRegistration.getUserId()).stream().map(e->e.getCutAmount()).reduce(BigDecimal.ZERO, BigDecimal::add);
             if(masterTotalPrice.doubleValue() > studentRegistration.getSurplusCourseFee().doubleValue()){
                 throw new BizException("用户信息发生变动,请重新提交");
             }

+ 6 - 0
mec-biz/src/main/resources/config/mybatis/CourseScheduleStudentPaymentMapper.xml

@@ -641,6 +641,12 @@
 					#{groupId}
 				</foreach>
 			</if>
+			<if test="userIds!=null AND userIds.size()>0">
+				AND cssp.user_id_ IN
+				<foreach collection="userIds" item="userId" open="(" close=")" separator=",">
+					#{userId}
+				</foreach>
+			</if>
 	</select>
 	<select id="queryCourseByIdsAndStudentId" resultMap="CourseScheduleStudentPayment">
 		SELECT cssp.* FROM course_schedule_student_payment cssp