zouxuan 4 年 前
コミット
73949c5867

+ 1 - 1
codegen/src/main/resources/generateConfigration.xml

@@ -8,7 +8,7 @@
 		<catalog>mec_dev</catalog>
 		<schema>mec_dev</schema>
 	</dbConfiguration>
-	<srcBase>d:/javabean</srcBase>
+	<srcBase>/Users/zouxuan/Documents/javabean</srcBase>
 	<pojoPackageName>com.ym.mec.biz.dal.entity</pojoPackageName>
 	<daoPackageName>com.ym.mec.biz.dal.dao</daoPackageName>
 	<servicePackageName>com.ym.mec.biz.service</servicePackageName>

+ 12 - 2
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleDao.java

@@ -1402,13 +1402,13 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
                               @Param("isLock") Integer isLock);
 
     /**
-     * @param classGroupIds:
+     * @param courseId:
      * @param isLock:    冻结状态:1、冻结,0、正常
      * @return int
      * @describe 通过班级编号更改课程的冻结状态
      * @author zouxuan
      */
-    int batchUpdateLockByClassGroupIds(@Param("classGroupIds") List<Integer> classGroupIds,
+    int batchUpdateLockByClassGroupIds(@Param("courseId") List<Long> courseId,
                               @Param("isLock") Integer isLock);
 
 
@@ -1642,4 +1642,14 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
      * @return
      */
     List<Map<String, Integer>> findClassMaxCourseNumMap(@Param("classGroupIds") List<Integer> classGroupIds);
+
+    /**
+     * 根据学员和班级列表获取未开始的课程列表
+     * @author zouxuan
+     * @param classGroupIds
+     * @param studentIds
+     * @return
+     */
+    List<Long> queryStudentNotStartByClassIdsAndStudentIds(@Param("classGroupIds") List<Integer> classGroupIds,
+                                                           @Param("studentIds") List<Integer> studentIds);
 }

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupStudentClassAdjustDao.java

@@ -0,0 +1,10 @@
+package com.ym.mec.biz.dal.dao;
+
+
+import com.ym.mec.biz.dal.entity.MusicGroupStudentClassAdjust;
+import com.ym.mec.common.dal.BaseDAO;
+
+public interface MusicGroupStudentClassAdjustDao extends BaseDAO<Integer, MusicGroupStudentClassAdjust> {
+
+	
+}

+ 162 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MusicGroupStudentClassAdjust.java

@@ -0,0 +1,162 @@
+package com.ym.mec.biz.dal.entity;
+
+import com.ym.mec.biz.dal.dto.ClassGroup4MixDto;
+import io.swagger.annotations.ApiModelProperty;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 乐团学员班级调整表
+ * 对应数据库表(music_group_student_class_adjust):
+ */
+public class MusicGroupStudentClassAdjust {
+
+	private Integer id;
+
+	private String musicGroupId;
+
+	@ApiModelProperty(value = "缴费项目批次号", required = false)
+	private String batchNo;
+
+	@ApiModelProperty(value = "班级明细", required = false)
+	private String newClassGroupJson;
+
+	@ApiModelProperty(value = "所选班级列表", required = false)
+	private String classGroupIds;
+
+	@ApiModelProperty(value = "所选学员列表", required = false)
+	private String studentIds;
+
+	@ApiModelProperty(value = "班级可排课时长", required = false)
+	private String classCourseMinute;
+
+	@ApiModelProperty(value = "所有冻结的课程列表", required = false)
+	private String allLockCourseIds;
+
+	@ApiModelProperty(value = "所选学员冻结的课程列表", required = false)
+	private String subLockCourseIds;
+
+	@ApiModelProperty(value = "是否排课", required = false)
+	private boolean courseFlag;
+
+	@ApiModelProperty(value = "缴费项目审核状态", required = false)
+	private MusicGroupPaymentCalender.PaymentCalenderStatusEnum calenderStatus;
+
+	private Integer operatorId;
+
+	private Date createTime;
+
+	private Date updateTime;
+
+	public Integer getId() {
+		return id;
+	}
+
+	public void setId(Integer id) {
+		this.id = id;
+	}
+
+	public String getMusicGroupId() {
+		return musicGroupId;
+	}
+
+	public void setMusicGroupId(String musicGroupId) {
+		this.musicGroupId = musicGroupId;
+	}
+
+	public String getBatchNo() {
+		return batchNo;
+	}
+
+	public void setBatchNo(String batchNo) {
+		this.batchNo = batchNo;
+	}
+
+	public String getClassGroupIds() {
+		return classGroupIds;
+	}
+
+	public void setClassGroupIds(String classGroupIds) {
+		this.classGroupIds = classGroupIds;
+	}
+
+	public String getStudentIds() {
+		return studentIds;
+	}
+
+	public void setStudentIds(String studentIds) {
+		this.studentIds = studentIds;
+	}
+
+	public String getClassCourseMinute() {
+		return classCourseMinute;
+	}
+
+	public void setClassCourseMinute(String classCourseMinute) {
+		this.classCourseMinute = classCourseMinute;
+	}
+
+	public String getAllLockCourseIds() {
+		return allLockCourseIds;
+	}
+
+	public void setAllLockCourseIds(String allLockCourseIds) {
+		this.allLockCourseIds = allLockCourseIds;
+	}
+
+	public String getSubLockCourseIds() {
+		return subLockCourseIds;
+	}
+
+	public void setSubLockCourseIds(String subLockCourseIds) {
+		this.subLockCourseIds = subLockCourseIds;
+	}
+
+	public boolean isCourseFlag() {
+		return courseFlag;
+	}
+
+	public void setCourseFlag(boolean courseFlag) {
+		this.courseFlag = courseFlag;
+	}
+
+	public String getNewClassGroupJson() {
+		return newClassGroupJson;
+	}
+
+	public void setNewClassGroupJson(String newClassGroupJson) {
+		this.newClassGroupJson = newClassGroupJson;
+	}
+
+	public MusicGroupPaymentCalender.PaymentCalenderStatusEnum getCalenderStatus() {
+		return calenderStatus;
+	}
+
+	public void setCalenderStatus(MusicGroupPaymentCalender.PaymentCalenderStatusEnum calenderStatus) {
+		this.calenderStatus = calenderStatus;
+	}
+
+	public Integer getOperatorId() {
+		return operatorId;
+	}
+
+	public void setOperatorId(Integer operatorId) {
+		this.operatorId = operatorId;
+	}
+
+	public Date getCreateTime() {
+		return createTime;
+	}
+
+	public void setCreateTime(Date createTime) {
+		this.createTime = createTime;
+	}
+
+	public Date getUpdateTime() {
+		return updateTime;
+	}
+
+	public void setUpdateTime(Date updateTime) {
+		this.updateTime = updateTime;
+	}
+}

+ 0 - 38
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MusicGroupStudentClassAudit.java

@@ -1,38 +0,0 @@
-package com.ym.mec.biz.dal.entity;
-
-import com.ym.mec.biz.dal.dto.ClassGroup4MixDto;
-import com.ym.mec.biz.dal.dto.MusicGroupPaymentCalenderDto;
-import com.ym.mec.common.enums.BaseEnum;
-import io.swagger.annotations.ApiModelProperty;
-import org.apache.commons.lang3.builder.ToStringBuilder;
-
-import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-
-/**
- * 对应数据库表(music_group_student_audit):
- */
-public class MusicGroupStudentClassAudit {
-
-	private Integer id;
-
-	@ApiModelProperty(value = "缴费项目批次号", required = false)
-	private String batchNo;
-
-	@ApiModelProperty(value = "班级明细", required = false)
-	private List<ClassGroup4MixDto> classGroup4MixDtos;
-
-	@ApiModelProperty(value = "所选班级列表", required = false)
-	private List<Integer> classGroupIds;
-
-	@ApiModelProperty(value = "所选学员列表", required = false)
-	private List<Integer> studentIds;
-
-	@ApiModelProperty(value = "冻结的课程列表", required = false)
-	private List<Long> courseIds;
-
-
-
-}

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

@@ -475,9 +475,18 @@ public interface ClassGroupService extends BaseService<Integer, ClassGroup> {
 
     /**
      * 进行中乐团-修改-班级详情-学员班级调整-合并结果确认
+     * 保存新增班级的基本信息,冻结所选班级的课程,生成同一批次的缴费项目,保存调整详情
      * @author zouxuan
      * @param mergeClassSplitClassAffirmDto
      * @return
      */
-    Object mergeClassSplitClassAffirm(MergeClassSplitClassAffirmDto mergeClassSplitClassAffirmDto);
+    void mergeClassSplitClassAffirm(MergeClassSplitClassAffirmDto mergeClassSplitClassAffirmDto);
+
+    /**
+     * 进行中乐团-修改-班级详情-学员班级调整-合并结果确认-获取新班级的可排课时长
+     * @author zouxuan
+     * @param classGroupIds
+     * @return
+     */
+    Map<String,Long> findClassCourseMinuteMap(List<Integer> classGroupIds);
 }

+ 9 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/MusicGroupStudentClassAdjustService.java

@@ -0,0 +1,9 @@
+package com.ym.mec.biz.service;
+
+
+import com.ym.mec.biz.dal.entity.MusicGroupStudentClassAdjust;
+import com.ym.mec.common.service.BaseService;
+
+public interface MusicGroupStudentClassAdjustService extends BaseService<Integer, MusicGroupStudentClassAdjust> {
+
+}

+ 52 - 15
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -26,7 +26,6 @@ import java.util.Objects;
 import java.util.Set;
 import java.util.stream.Collectors;
 
-import com.alibaba.fastjson.JSONArray;
 import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.entity.*;
@@ -165,6 +164,8 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
     private MusicGroupPaymentCalenderService musicGroupPaymentCalenderService;
     @Autowired
     private IdGeneratorService idGeneratorService;
+    @Autowired
+    private MusicGroupStudentClassAdjustDao musicGroupStudentClassAdjustDao;
 
     @Override
     public BaseDAO<Integer, ClassGroup> getDAO() {
@@ -3281,19 +3282,29 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public Object mergeClassSplitClassAffirm(MergeClassSplitClassAffirmDto mergeClassSplitClassAffirmDto) {
+    public void mergeClassSplitClassAffirm(MergeClassSplitClassAffirmDto mergeClassSplitClassAffirmDto) {
         List<Integer> classGroupIds = mergeClassSplitClassAffirmDto.getClassGroupIds();
         if(classGroupIds == null || classGroupIds.size() == 0){
             throw new BizException("参数校验失败");
         }
+        //班级信息
+        List<ClassGroup4MixDto> classGroup4MixDtos = mergeClassSplitClassAffirmDto.getClassGroup4MixDtos();
+        if(CollectionUtils.isEmpty(classGroup4MixDtos)){
+            throw new BizException("请填写班级信息");
+        }
+        List<Integer> studentIds = mergeClassSplitClassAffirmDto.getStudentIds();
+        if(CollectionUtils.isEmpty(studentIds)){
+            throw new BizException("学员列表不可为空");
+        }
         SysUser sysUser = sysUserFeignService.queryUserInfo();
-        MusicGroup musicGroup = musicGroupDao.findByClassGroupId(classGroupIds.get(0));
 
+        MusicGroup musicGroup = musicGroupDao.findByClassGroupId(classGroupIds.get(0));
         //生成缴费记录,同一个批次
         MusicGroupPaymentCalender.PaymentCalenderStatusEnum status = null;
-        List<MusicGroupPaymentCalenderDto> paymentCalenderDtos = mergeClassSplitClassAffirmDto.getMusicGroupPaymentCalenderDtos();
+        String batchNo = null;
+                List<MusicGroupPaymentCalenderDto> paymentCalenderDtos = mergeClassSplitClassAffirmDto.getMusicGroupPaymentCalenderDtos();
         if(paymentCalenderDtos != null && paymentCalenderDtos.size() > 0){
-            String batchNo = idGeneratorService.generatorId() + "";
+            batchNo = idGeneratorService.generatorId() + "";
             for (MusicGroupPaymentCalenderDto calenderDto : paymentCalenderDtos) {
                 if(status != null && status != AUDITING){
                     List<MusicGroupPaymentCalenderCourseSettings> musicGroupPaymentCalenderCourseSettingsList = calenderDto.getMusicGroupPaymentCalenderCourseSettingsList();
@@ -3312,6 +3323,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                     }
                 }
             }
+            //创建缴费项目
             for (MusicGroupPaymentCalenderDto calenderDto : paymentCalenderDtos) {
                 if(status != null && status == AUDITING){
                     calenderDto.setStatus(AUDITING);
@@ -3321,17 +3333,42 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                 musicGroupPaymentCalenderService.create(calenderDto);
             }
         }
-        //新增班级
-        List<ClassGroup4MixDto> classGroup4MixDtos = mergeClassSplitClassAffirmDto.getClassGroup4MixDtos();
-        if(CollectionUtils.isEmpty(classGroup4MixDtos)){
-            throw new BizException("请填写班级信息");
-        }
-        classGroupService.classGroupAdjust(classGroup4MixDtos);
         //冻结所选班级的课程
-        courseScheduleDao.batchUpdateLockByClassGroupIds(classGroupIds,1);
-        //保存学员应该增加的课程时长
+        List<Long> allLockCourseIds = courseScheduleDao.queryStudentNotStartByClassIdsAndStudentIds(classGroupIds,null);
+        courseScheduleDao.batchUpdateLockByClassGroupIds(allLockCourseIds,1);
+
         //记录申请信息
-        
-        return null;
+        MusicGroupStudentClassAdjust musicGroupStudentClassAdjust = new MusicGroupStudentClassAdjust();
+        musicGroupStudentClassAdjust.setBatchNo(batchNo);
+        musicGroupStudentClassAdjust.setBatchNo(batchNo);
+        musicGroupStudentClassAdjust.setCalenderStatus(status);
+        musicGroupStudentClassAdjust.setCourseFlag(false);
+        musicGroupStudentClassAdjust.setMusicGroupId(musicGroup.getId());
+        musicGroupStudentClassAdjust.setOperatorId(sysUser.getId());
+        musicGroupStudentClassAdjust.setNewClassGroupJson(JSON.toJSONString(classGroup4MixDtos));
+        musicGroupStudentClassAdjust.setClassGroupIds(JSON.toJSONString(classGroupIds));
+        musicGroupStudentClassAdjust.setStudentIds(JSON.toJSONString(studentIds));
+        musicGroupStudentClassAdjust.setAllLockCourseIds(JSON.toJSONString(allLockCourseIds));
+        List<Long> courseIds = courseScheduleDao.queryStudentNotStartByClassIdsAndStudentIds(classGroupIds,studentIds);
+        musicGroupStudentClassAdjust.setSubLockCourseIds(JSON.toJSONString(courseIds));
+        //计算新增班级的可排课时长,总课次*默认时长  (用学员剩余的课程时长加上购买的时长,可能导致同一班级学员时长不一致)
+        musicGroupStudentClassAdjust.setClassCourseMinute(JSON.toJSONString(findClassCourseMinuteMap(classGroupIds)));
+        musicGroupStudentClassAdjustDao.insert(musicGroupStudentClassAdjust);
+    }
+
+    @Override
+    public Map<String,Long> findClassCourseMinuteMap(List<Integer> classGroupIds){
+        Map<String,Long> resultMap = new HashMap<>();
+        //获取默认的排课时长
+        String courseDefaultMinutes = sysConfigDao.findConfigValue("music_course_default_minutes");
+        JSONObject jsonObject = JSON.parseObject(courseDefaultMinutes);
+        //获取所选班级最大剩余课时
+        Map<String,Long> map = MapUtil.convertIntegerMap(courseScheduleDao.findClassMaxCourseNumMap(classGroupIds));
+        Set<String> courseTypes = map.keySet();
+        for (String courseType : courseTypes) {
+            //剩余时长*默认排课时长
+            resultMap.put(courseType,Integer.parseInt(jsonObject.get(courseType).toString()) * map.get(courseType));
+        }
+        return resultMap;
     }
 }

+ 23 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupStudentClassAdjustServiceImpl.java

@@ -0,0 +1,23 @@
+package com.ym.mec.biz.service.impl;
+
+
+import com.ym.mec.biz.dal.dao.MusicGroupStudentClassAdjustDao;
+import com.ym.mec.biz.dal.entity.MusicGroupStudentClassAdjust;
+import com.ym.mec.biz.service.MusicGroupStudentClassAdjustService;
+import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.common.service.impl.BaseServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class MusicGroupStudentClassAdjustServiceImpl extends BaseServiceImpl<Integer, MusicGroupStudentClassAdjust> implements MusicGroupStudentClassAdjustService {
+	
+	@Autowired
+	private MusicGroupStudentClassAdjustDao musicGroupStudentClassAdjustDao;
+
+	@Override
+	public BaseDAO<Integer, MusicGroupStudentClassAdjust> getDAO() {
+		return musicGroupStudentClassAdjustDao;
+	}
+	
+}

+ 17 - 3
mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -1313,11 +1313,10 @@
     <update id="batchUpdateLockByClassGroupIds">
         UPDATE course_schedule
         SET is_lock_ = #{isLock}, update_time_ = NOW()
-        WHERE class_group_id_ IN
-        <foreach collection="classGroupIds" open="(" close=")" item="item" separator=",">
+        WHERE id_ IN
+        <foreach collection="courseId" open="(" close=")" item="item" separator=",">
             #{item}
         </foreach>
-        AND NOW() &lt; CONCAT(class_date_, " ", start_class_time_)
     </update>
 
     <select id="queryNoSignInListByBeforeMinutes" resultMap="CourseSchedule">
@@ -3376,6 +3375,21 @@
         GROUP BY cs.class_group_id_,cs.type_)c
         GROUP BY c.type_
     </select>
+    <select id="queryStudentNotStartByClassIdsAndStudentIds" resultType="Long">
+        SELECT course_schedule_id_ FROM course_schedule_student_payment cssp
+        WHERE cssp.class_group_id_ IN
+        <foreach collection="classGroupIds" open="(" close=")" separator="," item="item">
+            #{item}
+        </foreach>
+        <if test="studentIds != null">
+            AND cssp.user_id_ IN
+            <foreach collection="studentIds" open="(" close=")" separator="," item="item">
+                #{item}
+            </foreach>
+        </if>
+        AND CONCAT(cs.class_date_," ",cs.start_class_time_) > NOW()
+        GROUP BY cssp.course_schedule_id_
+    </select>
     <select id="getLock" resultMap="CourseSchedule">
         SELECT * FROM course_schedule WHERE id_ = #{courseId} FOR UPDATE
     </select>

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

@@ -37,7 +37,8 @@
             AS ID FROM DUAL </selectKey> -->
         INSERT INTO music_group_quit
         (id_,user_id_,music_group_id_,join_date_,quit_date_,create_time_,reason_,status_)
-        VALUES(#{id},#{userId},#{musicGroupId},#{joinDate},#{quitDate},#{createTime},#{reason},#{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler})
+        VALUES(#{id},#{userId},#{musicGroupId},#{joinDate},#{quitDate},#{createTime},#{reason},
+        #{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler})
     </insert>
 
     <!-- 根据主键查询一条记录 -->

+ 97 - 0
mec-biz/src/main/resources/config/mybatis/MusicGroupStudentClassAdjustMapper.xml

@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<!--
+这个文件是自动生成的。
+不要修改此文件。所有改动将在下次重新自动生成时丢失。
+-->
+<mapper namespace="com.ym.mec.biz.dal.dao.MusicGroupStudentClassAdjustDao">
+	
+	<resultMap type="com.ym.mec.biz.dal.entity.MusicGroupStudentClassAdjust" id="MusicGroupStudentClassAdjust">
+		<result column="id_" property="id" />
+		<result column="music_group_id_" property="musicGroupId" />
+		<result column="batch_no_" property="batchNo" />
+		<result column="new_class_group_json_" property="newClassGroupJson" />
+		<result column="class_group_ids_" property="classGroupIds" />
+		<result column="student_ids_" property="studentIds" />
+		<result column="class_course_minute_" property="classCourseMinute" />
+		<result column="all_lock_course_ids_" property="allLockCourseIds" />
+		<result column="sub_lock_course_ids_" property="subLockCourseIds" />
+		<result column="course_flag_" property="courseFlag" />
+		<result column="calender_status_" property="calenderStatus" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
+		<result column="operator_id_" property="operatorId" />
+		<result column="create_time_" property="createTime" />
+		<result column="update_time_" property="updateTime" />
+	</resultMap>
+	
+	<!-- 根据主键查询一条记录 -->
+	<select id="get" resultMap="MusicGroupStudentClassAdjust" >
+		SELECT * FROM music_group_student_class_adjust WHERE id_ = #{id} 
+	</select>
+	
+	<!-- 全查询 -->
+	<select id="findAll" resultMap="MusicGroupStudentClassAdjust">
+		SELECT * FROM music_group_student_class_adjust ORDER BY id_
+	</select>
+	
+	<!-- 向数据库增加一条记录 -->
+	<insert id="insert" parameterType="com.ym.mec.biz.dal.entity.MusicGroupStudentClassAdjust" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
+		INSERT INTO music_group_student_class_adjust (id_,music_group_id_,batch_no_,new_class_group_json_,
+		class_group_ids_,student_ids_,class_course_minute_,all_lock_course_ids_,sub_lock_course_ids_,
+		course_flag_,calender_status_,operator_id_,create_time_,update_time_)
+		VALUES(#{id},#{musicGroupId},#{batchNo},#{newClassGroupJson},#{classGroupIds},#{studentIds},
+		#{classCourseMinute},#{allLockCourseIds},#{subLockCourseIds},#{courseFlag},
+		#{calenderStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{operatorId},#{createTime},#{updateTime})
+	</insert>
+	
+	<!-- 根据主键查询一条记录 -->
+	<update id="update" parameterType="com.ym.mec.biz.dal.entity.MusicGroupStudentClassAdjust">
+		UPDATE music_group_student_class_adjust <set>
+		<if test="courseFlag != null">
+		course_flag_ = #{courseFlag},
+		</if>
+		<if test="calenderStatus != null">
+		calender_status_ = #{calenderStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+		</if>
+		<if test="allLockCourseIds != null">
+		all_lock_course_ids_ = #{allLockCourseIds},
+		</if>
+		<if test="subLockCourseIds != null">
+		sub_lock_course_ids_ = #{subLockCourseIds},
+		</if>
+		<if test="classCourseMinute != null">
+		class_course_minute_ = #{classCourseMinute},
+		</if>
+		<if test="newClassGroupJson != null">
+		new_class_group_json_ = #{newClassGroupJson},
+		</if>
+		<if test="batchNo != null">
+		batch_no_ = #{batchNo},
+		</if>
+		<if test="studentIds != null">
+		student_ids_ = #{studentIds},
+		</if>
+		<if test="classGroupIds != null">
+		class_group_ids_ = #{classGroupIds},
+		</if>
+		<if test="musicGroupId != null">
+		music_group_id_ = #{musicGroupId},
+		</if>
+		update_time_ = NOW()
+		</set> WHERE id_ = #{id}
+	</update>
+	
+	<!-- 根据主键删除一条记录 -->
+	<delete id="delete" >
+		DELETE FROM music_group_student_class_adjust WHERE id_ = #{id} 
+	</delete>
+	
+	<!-- 分页查询 -->
+	<select id="queryPage" resultMap="MusicGroupStudentClassAdjust" parameterType="map">
+		SELECT * FROM music_group_student_class_adjust ORDER BY id_ <include refid="global.limit"/>
+	</select>
+	
+	<!-- 查询当前表的总记录数 -->
+	<select id="queryCount" resultType="int">
+		SELECT COUNT(*) FROM music_group_student_class_adjust
+	</select>
+</mapper>

+ 9 - 1
mec-web/src/main/java/com/ym/mec/web/controller/ClassGroupController.java

@@ -353,6 +353,14 @@ public class ClassGroupController extends BaseController {
     @PostMapping("/mergeClassSplitClassAffirm")
     @PreAuthorize("@pcs.hasPermissions('classGroup/mergeClassSplitClassAffirm')")
     public HttpResponseResult mergeClassSplitClassAffirm(@RequestBody MergeClassSplitClassAffirmDto mergeClassSplitClassAffirmDto){
-        return succeed(classGroupService.mergeClassSplitClassAffirm(mergeClassSplitClassAffirmDto));
+        classGroupService.mergeClassSplitClassAffirm(mergeClassSplitClassAffirmDto);
+        return succeed();
+    }
+
+    @ApiOperation(value = "进行中乐团-修改-班级详情-学员班级调整-合并结果确认-获取新班级可排课时长")
+    @PostMapping("/findClassCourseMinute")
+    @PreAuthorize("@pcs.hasPermissions('classGroup/findClassCourseMinute')")
+    public HttpResponseResult findClassCourseMinuteMap(@RequestBody List<Integer> classGroupIds){
+        return succeed(classGroupService.findClassCourseMinuteMap(classGroupIds));
     }
 }