Преглед изворни кода

Merge remote-tracking branch 'origin/master'

Joburgess пре 5 година
родитељ
комит
f06cd4086c

+ 12 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/ClassGroup4MixDto.java

@@ -39,12 +39,15 @@ public class ClassGroup4MixDto {
     @ApiModelProperty(value = "课程类型", required = true)
     private CourseSchedule.CourseScheduleType courseType;
 
-    @ApiModelProperty(value = "排课方式", required = true)
+    @ApiModelProperty(value = "排课循环方式", required = true)
     private List<CourseTimeDto> courseTimeDtoList;
 
     @ApiModelProperty(value = "班级类型", required = true)
     private ClassGroupTypeEnum type;
 
+    @ApiModelProperty(value = "排课方式(new -新增 renew-重排)", required = true)
+    private String courseAddType;
+
     public String getMusicGroupId() {
         return musicGroupId;
     }
@@ -140,4 +143,12 @@ public class ClassGroup4MixDto {
     public void setType(ClassGroupTypeEnum type) {
         this.type = type;
     }
+
+    public String getCourseAddType() {
+        return courseAddType;
+    }
+
+    public void setCourseAddType(String courseAddType) {
+        this.courseAddType = courseAddType;
+    }
 }

+ 4 - 12
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -1135,7 +1135,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                 times++;
 
                 for (ClassGroupTeacherMapper classGroupTeacherMapper : classGroupTeacherMapperList) {
-                    List<TeacherDefaultMusicGroupSalary> teacherSalaryList = teacherDefaultMusicGroupSalaryService.getTeacherSalaryByUserIdAndType(classGroupTeacherMapper.getUserId(), "SINGLE", musicGroup.getSettlementType());
+                    List<TeacherDefaultMusicGroupSalary> teacherSalaryList = teacherDefaultMusicGroupSalaryService.getTeacherSalaryByUserIdAndType(classGroupTeacherMapper.getUserId(), null, null);
                     BigDecimal salary = new BigDecimal("0");
 
                     Map<CourseSchedule.CourseScheduleType, TeacherDefaultMusicGroupSalary> collect = teacherSalaryList.stream().collect(Collectors.toMap(TeacherDefaultMusicGroupSalary::getCourseScheduleType, teacherDefaultMusicGroupSalary -> teacherDefaultMusicGroupSalary));
@@ -1231,16 +1231,8 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 
         String subjectNames = subjectList.stream().map(subject -> subject.getName()).collect(Collectors.joining("/"));
 
-        //1、新班级关联老师信息
+        //1、新班级关联老师信息
         List<ClassGroupTeacherMapper> classGroupTeacherMapperList = classGroup4MixDto.getClassGroupTeacherMapperList();
-        if (classGroupTeacherMapperList != null && classGroupTeacherMapperList.size() > 0) {
-            classGroupTeacherMapperList.forEach(classGroupTeacherMapper -> {
-                classGroupTeacherMapper.setGroupType(classGroup.getGroupType());
-                classGroupTeacherMapper.setClassGroupId(classGroup.getId());
-                classGroupTeacherMapper.setMusicGroupId(classGroup.getMusicGroupId());
-            });
-            classGroupTeacherMapperDao.classGroupTeachersInsert(classGroupTeacherMapperList);
-        }
 
         //5、插入班级排课信息
         LocalDateTime now = LocalDate.parse(classGroup4MixDto.getStartDate(), DateTimeFormatter.ofPattern("yyyy-MM-dd")).atStartOfDay();
@@ -1489,7 +1481,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                 courseSchedule.setType(classGroup4MixDto.getCourseType());
                 courseSchedule.setGroupType(GroupType.MUSIC);
                 courseSchedule.setMusicGroupId(classGroup.getMusicGroupId());
-                courseSchedule.setName(subjectNames + "-" + CourseSchedule.CourseScheduleType.SINGLE.getMsg());
+                courseSchedule.setName(subjectNames + "-" + classGroup4MixDto.getCourseType().getMsg());
                 courseSchedule.setTeacherId(teacherId);
                 courseSchedule.setActualTeacherId(teacherId);
 
@@ -1498,7 +1490,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                 times++;
 
                 for (ClassGroupTeacherMapper classGroupTeacherMapper : classGroupTeacherMapperList) {
-                    List<TeacherDefaultMusicGroupSalary> teacherSalaryList = teacherDefaultMusicGroupSalaryService.getTeacherSalaryByUserIdAndType(classGroupTeacherMapper.getUserId(), "SINGLE", musicGroup.getSettlementType());
+                    List<TeacherDefaultMusicGroupSalary> teacherSalaryList = teacherDefaultMusicGroupSalaryService.getTeacherSalaryByUserIdAndType(classGroupTeacherMapper.getUserId(), null, null);
                     BigDecimal salary = new BigDecimal("0");
 
                     Map<CourseSchedule.CourseScheduleType, TeacherDefaultMusicGroupSalary> collect = teacherSalaryList.stream().collect(Collectors.toMap(TeacherDefaultMusicGroupSalary::getCourseScheduleType, teacherDefaultMusicGroupSalary -> teacherDefaultMusicGroupSalary));

+ 29 - 21
mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java

@@ -1418,8 +1418,11 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
     	if(vipGroup.getStatus()==VipGroupStatusEnum.NOT_START){
 			vipGroup.setStatus(VipGroupStatusEnum.CANCEL);
     		vipGroupDao.update(vipGroup);
-			courseScheduleDao.batchDeleteCourseSchedules(courseScheduleIds);
-			courseScheduleTeacherSalaryDao.batchDeleteByCourseScheduleIds(courseScheduleIds);
+    		if(courseScheduleIds != null && courseScheduleIds.size() > 0){
+				courseScheduleDao.batchDeleteCourseSchedules(courseScheduleIds);
+				courseScheduleTeacherSalaryDao.batchDeleteByCourseScheduleIds(courseScheduleIds);
+			}
+			stopVipPush(vipGroup.getId(),vipGroup.getName());
     		return;
 		}
 		List<Map<Integer, BigDecimal>> maps = vipGroupDao.countSurplusCourseFee(vipGroupId);
@@ -1430,6 +1433,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 				courseScheduleDao.batchDeleteCourseSchedules(courseScheduleIds);
 				courseScheduleTeacherSalaryDao.batchDeleteByCourseScheduleIds(courseScheduleIds);
 			}
+			stopVipPush(vipGroup.getId(),vipGroup.getName());
 			return;
 		}
 		Map<Integer, BigDecimal> studentSurplusClassFees = MapUtil.convertIntegerMap(maps);
@@ -1459,11 +1463,27 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 		courseScheduleStudentPaymentDao.deleteByCourseSchedule(courseScheduleIds);
 		teacherAttendanceDao.batchDeleteByCourseSchedules(courseScheduleIds);
 		//vip课停止通知
-		Teacher teacher = teacherDao.get(vipGroup.getUserId());
-		Map<Integer,String> map = new HashMap<>(1);
-		map.put(vipGroup.getUserId(),vipGroup.getUserId().toString());
-		sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG,MessageTypeEnum.TEACHER_PUSH_VIP_COURSE_STOP,
-				map,null,0,"1",vipGroup.getName());
+//		Teacher teacher = teacherDao.get(vipGroup.getUserId());
+//		Map<Integer,String> map = new HashMap<>(1);
+//		map.put(vipGroup.getUserId(),vipGroup.getUserId().toString());
+//		sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG,MessageTypeEnum.TEACHER_PUSH_VIP_COURSE_STOP,
+//				map,null,0,"1",vipGroup.getName());
+		stopVipPush(vipGroup.getId(),vipGroup.getName());
+	}
+
+	private void stopVipPush(Long vipGroupId,String vipGroupName){
+		String refundPeriod = sysConfigDao.findConfigValue(SysConfigService.REFUND_PERIOD);
+		Map<Integer,String> map = MapUtil.convertMybatisMap(classGroupStudentMapperDao.queryStudentIdMap(vipGroupId));
+		if(map != null && map.size() > 0){
+			sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG,MessageTypeEnum.PUSH_STUDENT_VIP_STOP,
+					map,null,0,null,vipGroupName,refundPeriod);
+		}
+//		老师推送消息
+		map = MapUtil.convertMybatisMap(classGroupStudentMapperDao.queryTeacherIdMap(vipGroupId));
+		if(map != null && map.size() > 0){
+			sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG,MessageTypeEnum.PUSH_TEACHER_VIP_STOP,
+					map,null,0,null,vipGroupName);
+		}
 	}
 
 	@Override
@@ -1676,26 +1696,14 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 		if(CollectionUtils.isEmpty(noCreateSuccessVipGroups)){
 			return;
 		}
-		String refundPeriod = sysConfigDao.findConfigValue(SysConfigService.REFUND_PERIOD);
 		//用户账户资金变动信息列表
 		List<SysUserCashAccountDetail> userCashAccountDetails = new ArrayList<>();
 		for (VipGroup noCreateSuccessVipGroup : noCreateSuccessVipGroups) {
 			noCreateSuccessVipGroup.setStatus(VipGroupStatusEnum.CANCEL);
 			List<StudentPaymentOrder> studentPaymentOrders = studentPaymentOrderDao.queryByDealStatus(noCreateSuccessVipGroup.getId().toString(),
 					OrderTypeEnum.SMALL_CLASS_TO_BUY, DealStatusEnum.SUCCESS);
-
-			//学生推送消息
-			Map<Integer,String> maps = MapUtil.convertMybatisMap(classGroupStudentMapperDao.queryStudentIdMap(noCreateSuccessVipGroup.getId()));
-			if(maps != null && maps.size() > 0){
-				sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG,MessageTypeEnum.PUSH_STUDENT_VIP_STOP,
-						maps,null,0,null,noCreateSuccessVipGroup.getName(),refundPeriod);
-			}
-			//老师推送消息
-			maps = MapUtil.convertMybatisMap(classGroupStudentMapperDao.queryTeacherIdMap(noCreateSuccessVipGroup.getId()));
-			if(maps != null && maps.size() > 0){
-				sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG,MessageTypeEnum.PUSH_TEACHER_VIP_STOP,
-						maps,null,0,null,noCreateSuccessVipGroup.getName());
-			}
+			//推送消息
+			stopVipPush(noCreateSuccessVipGroup.getId(),noCreateSuccessVipGroup.getName());
 
 			for (StudentPaymentOrder studentPaymentOrder:studentPaymentOrders){
 				//生成账户资金明细

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

@@ -110,7 +110,10 @@
 	<!-- 根据user_id 获取老师的默认薪酬 -->
 	<select id="getTeacherSalaryByUserIdAndType" resultMap="TeacherDefaultMusicGroupSalary">
 		SELECT * FROM teacher_default_music_group_salary
-		WHERE user_id_=#{userId} AND course_schedule_type_ = #{classGroupType}
+		WHERE user_id_=#{userId}
+		<if test="classGroupType != null">
+			AND course_schedule_type_ = #{classGroupType}
+		</if>
 	</select>
 
 	<select id="findByTeacher" resultMap="TeacherDefaultMusicGroupSalary">