yonge 5 years ago
parent
commit
97da9cb361

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/BatchInsertCoursesDto.java

@@ -25,6 +25,8 @@ public class BatchInsertCoursesDto {
 	private Integer schoolId;
 
 	private boolean isJumpHoliday;
+	
+    private List<Long> courseScheduleIdList;
 
 	public String getMusicGroupId() {
 		return musicGroupId;
@@ -97,4 +99,12 @@ public class BatchInsertCoursesDto {
 	public void setIsJumpHoliday(boolean isJumpHoliday) {
 		this.isJumpHoliday = isJumpHoliday;
 	}
+
+	public List<Long> getCourseScheduleIdList() {
+		return courseScheduleIdList;
+	}
+
+	public void setCourseScheduleIdList(List<Long> courseScheduleIdList) {
+		this.courseScheduleIdList = courseScheduleIdList;
+	}
 }

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

@@ -36,7 +36,7 @@ public interface CourseScheduleService extends BaseService<Long, CourseSchedule>
 	 * @param courseScheduleIds: 课程计划编号列表
 	 * @return int
 	 */
-	void deleteCourseSchedules(List<Long> courseScheduleIds);
+	void batchDeleteCourseSchedules(List<Long> courseScheduleIds);
 
 	/**
 	 * @describe 删除乐团下所有未上的课时
@@ -85,6 +85,13 @@ public interface CourseScheduleService extends BaseService<Long, CourseSchedule>
 	 */
 	boolean batchAddCourseSchedule(Integer classGroupId, int coursesTimes, Date startDate, List<CourseTimeDto> teachingArrangementList,
 			TeachModeEnum teachMode, CourseScheduleType type, Integer schoolId, boolean isJumpHoliday);
+	
+	/**
+	 * 批量调整
+	 * @param batchInsertCoursesDto
+	 * @return
+	 */
+	boolean batchUpdateCourseSchedule(BatchInsertCoursesDto batchInsertCoursesDto);
 
 	/**
 	 * @Author: Joburgess

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

@@ -168,7 +168,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-	public void deleteCourseSchedules(List<Long> courseScheduleIds) {
+	public void batchDeleteCourseSchedules(List<Long> courseScheduleIds) {
 
 		List<CourseSchedule> courseScheduleList = courseScheduleDao.findByCourseScheduleIds(courseScheduleIds);
 
@@ -211,7 +211,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
         List<Long> courseScheduleIds = musicGroupCourseSchedules.stream()
                 .map(CourseSchedule::getId)
                 .collect(Collectors.toList());
-        deleteCourseSchedules(courseScheduleIds);
+        batchDeleteCourseSchedules(courseScheduleIds);
     }
 
     @Override
@@ -565,6 +565,29 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 
     @Override
     @Transactional(rollbackFor = Exception.class)
+	public boolean batchUpdateCourseSchedule(BatchInsertCoursesDto batchInsertCoursesDto) {
+
+		List<CourseSchedule> courseScheduleList = courseScheduleDao.findByCourseScheduleIds(batchInsertCoursesDto.getCourseScheduleIdList());
+		List<Integer> classGroupList = courseScheduleList.stream().distinct().map(CourseSchedule::getClassGroupId).collect(Collectors.toList());
+
+		if (classGroupList == null || classGroupList.size() != 1) {
+			throw new BizException("修改失败,只支持同一个班级的课程批量调整");
+		}
+
+		Integer classGroupId = classGroupList.get(0);
+
+		// 批量上课
+		batchDeleteCourseSchedules(batchInsertCoursesDto.getCourseScheduleIdList());
+
+		// 批量加课
+		batchAddCourseSchedule(classGroupId, batchInsertCoursesDto.getCourseScheduleIdList().size(), batchInsertCoursesDto.getStartDate(),
+				batchInsertCoursesDto.getTeachingArrangementList(), batchInsertCoursesDto.getTeachMode(), batchInsertCoursesDto.getType(),
+				batchInsertCoursesDto.getSchoolId(), batchInsertCoursesDto.getIsJumpHoliday());
+		return true;
+	}
+
+	@Override
+    @Transactional(rollbackFor = Exception.class)
     public void batchAddCourseSchedule(List<CourseSchedule> courseSchedules) {
         if (Objects.isNull(courseSchedules) && courseSchedules.size() <= 0) {
             throw new BizException("参数错误!");

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

@@ -470,7 +470,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 					.map(CourseSchedule::getId)
 					.collect(Collectors.toList());
 			//删除对应的课程及相关信息
-			courseScheduleService.deleteCourseSchedules(deleteCourseScheduleIds);
+			courseScheduleService.batchDeleteCourseSchedules(deleteCourseScheduleIds);
 
 		}
 

+ 3 - 3
mec-web/src/main/java/com/ym/mec/web/controller/CourseScheduleController.java

@@ -137,7 +137,7 @@ public class CourseScheduleController extends BaseController {
         }
         long[] ints = Arrays.asList(courseScheduleIds.split(",")).stream().mapToLong(Long::parseLong).toArray();
         Long[] longs = ArrayUtils.toObject(ints);
-        scheduleService.deleteCourseSchedules(Arrays.asList(longs));
+        scheduleService.batchDeleteCourseSchedules(Arrays.asList(longs));
         return succeed();
     }
 
@@ -277,8 +277,8 @@ public class CourseScheduleController extends BaseController {
     @ApiOperation(value = "vip课批量调整(网管课)")
     @PostMapping("/vipCourseAdjust")
     @PreAuthorize("@pcs.hasPermissions('courseSchedule/vipCourseAdjust')")
-    public Object vipCourseAdjust(@RequestBody VipGroupCourseAdjustInfoDto vipGroupCourseAdjustInfo){
-        scheduleService.vipCourseAdjust(vipGroupCourseAdjustInfo);
+    public Object vipCourseAdjust(@RequestBody BatchInsertCoursesDto batchInsertCoursesDto){
+        scheduleService.batchUpdateCourseSchedule(batchInsertCoursesDto);
         return succeed();
     }