zouxuan před 2 roky
rodič
revize
98c5a9a1dd

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

@@ -1961,5 +1961,4 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
      */
     List<String> queryStartedCourseMusicGroupIdList(String groupType);
 
-    void delByCourseIds(String oldCourseIds);
 }

+ 18 - 9
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/ClassGroupDto.java

@@ -62,7 +62,12 @@ public class ClassGroupDto extends BaseEntity {
 	/** 班级类型(普通班级、合奏班级) */
 	@ApiModelProperty(value = "课程类型", required = true)
 	@NotNull(message = "课程类型不能为空")
-	private CourseSchedule.CourseScheduleType type;
+	private CourseSchedule.CourseScheduleType courseScheduleType = CourseSchedule.CourseScheduleType.HIGH_ONLINE;
+
+	/** 班级类型(普通班级、合奏班级) */
+	@ApiModelProperty(value = "课程类型", required = true)
+	@NotNull(message = "课程类型不能为空")
+	private ClassGroupTypeEnum type;
 
 	@ApiModelProperty(value = "班级老师设置", required = true)
 	private List<ClassGroupTeacherMapper> classGroupTeacherMapperList;
@@ -79,6 +84,18 @@ public class ClassGroupDto extends BaseEntity {
 	@ApiModelProperty(value = "学员课程关联", required = true)
 	List<CourseScheduleStudentPayment> courseScheduleStudentPayments = new ArrayList<>();
 
+	public CourseSchedule.CourseScheduleType getCourseScheduleType() {
+		return courseScheduleType;
+	}
+
+	public void setCourseScheduleType(CourseSchedule.CourseScheduleType courseScheduleType) {
+		this.courseScheduleType = courseScheduleType;
+	}
+
+	public void setType(ClassGroupTypeEnum type) {
+		this.type = type;
+	}
+
 	public Boolean getConfirmGenerate() {
 		return confirmGenerate;
 	}
@@ -215,14 +232,6 @@ public class ClassGroupDto extends BaseEntity {
 		this.expectStudentNum = expectStudentNum;
 	}
 
-	public CourseSchedule.CourseScheduleType getType() {
-		return type;
-	}
-
-	public void setType(CourseSchedule.CourseScheduleType type) {
-		this.type = type;
-	}
-
 	public List<CourseTimeDto> getCourseTimeDtoList() {
 		return courseTimeDtoList;
 	}

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

@@ -70,7 +70,7 @@ public class CourseConvertLogServiceImpl extends BaseServiceImpl<Integer, Course
 		courseConvertLog.setOldClassIds(courseSchedules.stream().map(e->e.getClassGroupId().toString()).distinct().collect(Collectors.joining(",")));
 		courseConvertLog.setOldCourseJson(JSONObject.toJSONString(courseSchedules));
 		//删除课程
-		courseScheduleDao.delByCourseIds(oldCourseIds);
+		courseScheduleDao.batchDeleteCourseSchedulesWithoutCheck(oldCourseIdList);
 
 		//记录老师考勤
 		List<TeacherAttendance> teacherAttendances = teacherAttendanceDao.findByCourseSchedules(oldCourseIdList);

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

@@ -18,6 +18,7 @@ import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.jdbc.support.lob.LobCreator;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.TransactionStatus;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.interceptor.TransactionAspectSupport;
 import org.springframework.util.CollectionUtils;
@@ -113,6 +114,9 @@ public class CourseScheduleConvertServiceImpl implements CourseScheduleConvertSe
             if(result.getCode() != 200){
                 StringBuffer sb = new StringBuffer("班级");
                 result.setMsg(sb.append(classGroup.getName()).append(":").append(result.getMsg()).toString());
+                if(groupDto.getConfirmGenerate()){
+                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                }
                 return result;
             }else {
                 if(groupDto.getConfirmGenerate()){
@@ -136,10 +140,10 @@ public class CourseScheduleConvertServiceImpl implements CourseScheduleConvertSe
         //保存学员课程关联
         courseScheduleStudentPaymentService.splitStudentPayment(courseScheduleStudentPayments,studentPayments);
         List<Integer> newClassGroupIds = classGroups.stream().map(e -> e.getClassGroupId()).collect(Collectors.toList());
-        //记录课程转换相关信息
-        courseConvertLogService.save(courseIds,newClassGroupIds,courseIdList,teacherSalaries,studentPayments);
         //记录云教练课程
         cloudTeacherFreeCourseService.courseConvert(oldCourseIdList,courseIdList);
+        //记录课程转换相关信息
+        courseConvertLogService.save(courseIds,newClassGroupIds,courseIdList,teacherSalaries,studentPayments);
         // 刷新群组
         imUserFriendService.refreshGroupImUserFriend(groupDto.getMusicGroupId(), MUSIC);
         return BaseController.succeed();

+ 3 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -39,6 +39,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.http.HttpStatus;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.TransactionStatus;
 import org.springframework.transaction.annotation.Propagation;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.interceptor.TransactionAspectSupport;
@@ -5844,7 +5845,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		Date date = new Date();
 		Integer classGroupId = groupDto.getClassGroupId();
 		String musicGroupId = groupDto.getMusicGroupId();
-		CourseScheduleType type = groupDto.getType();
+		CourseScheduleType type = groupDto.getCourseScheduleType();
 		List<CourseTimeDto> courseTimeDtoList = groupDto.getCourseTimeDtoList();
 		MusicGroup musicGroup = musicGroupDao.get(musicGroupId);
 
@@ -5974,7 +5975,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 				courseSchedule.setUpdateTime(date);
 				courseSchedule.setTeachMode(teachMode);
 				courseSchedule.setMusicGroupId(musicGroupId);
-				courseSchedule.setType(groupDto.getType());
+				courseSchedule.setType(groupDto.getCourseScheduleType());
 				courseSchedule.setName(subjectNames + "-" + courseConvertSumDto.getCourseType().getMsg());
 				courseSchedule.setGroupType(groupDto.getGroupType());
 				courseSchedule.setTeacherId(teacherId);
@@ -5997,7 +5998,6 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 
 		//老师结算表
 		if (!groupDto.getAllowZeroSalary() && courseScheduleTeacherSalaryList.stream().anyMatch(e->e.getExpectSalary().compareTo(BigDecimal.ZERO) == 0)) {
-			TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
 			return BaseController.failed(HttpStatus.MULTI_STATUS, "当前课程课酬预计为0,是否继续");
 		}
 		groupDto.getCourseScheduleTeacherSalaryList().addAll(courseScheduleTeacherSalaryList);

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

@@ -738,9 +738,8 @@ public class CourseScheduleStudentPaymentServiceImpl extends BaseServiceImpl<Lon
 		Map<Integer, BigDecimal> studentExpectPrice = oldStudentPayments.stream().collect(Collectors.groupingBy(e -> e.getUserId(), Collectors.collectingAndThen(Collectors.toList(), v -> v.stream().map(e -> e.getExpectPrice()).reduce(BigDecimal.ZERO, BigDecimal::add))));
 		Map<Integer, BigDecimal> studentOriginalPrice = oldStudentPayments.stream().collect(Collectors.groupingBy(e -> e.getUserId(), Collectors.collectingAndThen(Collectors.toList(), v -> v.stream().map(e -> e.getOriginalPrice()).reduce(BigDecimal.ZERO, BigDecimal::add))));
 		Map<Integer, List<CourseScheduleStudentPayment>> paymentMap = courseScheduleStudentPayments.stream().collect(Collectors.groupingBy(CourseScheduleStudentPayment::getUserId));
-		for (int i = 0; i < paymentMap.keySet().size(); i++) {
-			List<CourseScheduleStudentPayment> studentPayments = paymentMap.get(i);
-			Integer userId = studentPayments.get(0).getUserId();
+		for (Integer userId : paymentMap.keySet()) {
+			List<CourseScheduleStudentPayment> studentPayments = paymentMap.get(userId);
 			BigDecimal totalOriginalPrice = studentOriginalPrice.get(userId);
 			BigDecimal totalExpectPrice = studentExpectPrice.get(userId);
 			Integer salarySize = studentPayments.size();

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

@@ -2419,8 +2419,8 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
                         Collectors.collectingAndThen(Collectors.toList(), v -> v.stream().map(e -> e.getExpectSalary()).
                                 reduce(BigDecimal.ZERO, BigDecimal::add))));
         Map<TeachTypeEnum, List<CourseScheduleTeacherSalary>> salaryMap = courseScheduleTeacherSalaryList.stream().collect(Collectors.groupingBy(CourseScheduleTeacherSalary::getTeacherRole));
-        for (int i = 0; i < salaryMap.keySet().size(); i++) {
-            List<CourseScheduleTeacherSalary> teacherSalaries = salaryMap.get(i);
+        for (TeachTypeEnum teachTypeEnum : salaryMap.keySet()) {
+            List<CourseScheduleTeacherSalary> teacherSalaries = salaryMap.get(teachTypeEnum);
             TeachTypeEnum teacherRole = teacherSalaries.get(0).getTeacherRole();
             BigDecimal totalSalary = salaryPriceMap.get(teacherRole);
             Integer salarySize = teacherSalaries.size();