瀏覽代碼

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

yonge 4 年之前
父節點
當前提交
2ca4c9f41d
共有 17 個文件被更改,包括 286 次插入47 次删除
  1. 0 9
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupPaymentCalenderDetailDao.java
  2. 10 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentCourseFeeDetailDao.java
  3. 2 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentRegistrationDao.java
  4. 7 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MusicGroupPaymentCalenderCourseSettings.java
  5. 104 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/StudentCourseFeeDetail.java
  6. 10 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/StudentRegistration.java
  7. 2 1
      mec-biz/src/main/java/com/ym/mec/biz/service/ClassGroupService.java
  8. 13 1
      mec-biz/src/main/java/com/ym/mec/biz/service/StudentRegistrationService.java
  9. 23 9
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java
  10. 32 9
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRegistrationServiceImpl.java
  11. 3 3
      mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml
  12. 3 2
      mec-biz/src/main/resources/config/mybatis/MusicGroupPaymentCalenderCourseSettingsMapper.xml
  13. 0 11
      mec-biz/src/main/resources/config/mybatis/MusicGroupPaymentCalenderDetailMapper.xml
  14. 3 0
      mec-biz/src/main/resources/config/mybatis/MusicGroupPaymentCalenderMapper.xml
  15. 63 0
      mec-biz/src/main/resources/config/mybatis/StudentCourseFeeDetailMapper.xml
  16. 10 0
      mec-biz/src/main/resources/config/mybatis/StudentRegistrationMapper.xml
  17. 1 1
      mec-web/src/main/java/com/ym/mec/web/controller/ClassGroupController.java

+ 0 - 9
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupPaymentCalenderDetailDao.java

@@ -156,15 +156,6 @@ public interface MusicGroupPaymentCalenderDetailDao extends BaseDAO<Long, MusicG
 	List<MusicGroupPaymentCalenderDetail> getWithCalenderIds(@Param("calenderIds") List<Long> calenderIds);
 
     /**
-     * @describe 获取乐团下未使用的缴费日历记录
-     * @author Joburgess
-     * @date 2020.10.27
-     * @param musicGroupId:
-     * @return java.util.List<com.ym.mec.biz.dal.entity.MusicGroupPaymentCalenderDetail>
-     */
-    List<MusicGroupPaymentCalenderDetail> getUnusedPaymentCalenderWithMusicGroup(@Param("musicGroupId") String musicGroupId);
-
-    /**
      * @describe 获取缴费日历学员列表
      * @apiNote 时光荏苒,认真工作的时间总是过得很快,而我、享受这一刻!
      * @author zouxuan

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

@@ -0,0 +1,10 @@
+package com.ym.mec.biz.dal.dao;
+
+import com.ym.mec.biz.dal.entity.CourseHomework;
+import com.ym.mec.biz.dal.entity.StudentCourseFeeDetail;
+import com.ym.mec.common.dal.BaseDAO;
+
+public interface StudentCourseFeeDetailDao extends BaseDAO<Long, StudentCourseFeeDetail>{
+
+	
+}

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentRegistrationDao.java

@@ -16,6 +16,8 @@ import com.ym.mec.common.dal.BaseDAO;
 
 public interface StudentRegistrationDao extends BaseDAO<Long, StudentRegistration> {
 
+    StudentRegistration lock(@Param("id") Long id);
+
     /**
      * 获取乐团学员报名详情
      *

+ 7 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MusicGroupPaymentCalenderCourseSettings.java

@@ -4,6 +4,8 @@ import org.apache.commons.lang3.builder.ToStringBuilder;
 
 import com.ym.mec.biz.dal.entity.CourseSchedule.CourseScheduleType;
 
+import java.math.BigDecimal;
+
 /**
  * 对应数据库表(music_group_payment_calender_course_settings):
  */
@@ -34,7 +36,7 @@ public class MusicGroupPaymentCalenderCourseSettings {
 	private java.math.BigDecimal courseCurrentPrice;
 	
 	/** 是否学生可选 */
-	private boolean isStudentOptional;
+	private boolean isStudentOptional = false;
 	
 	/**  */
 	private java.util.Date createTime;
@@ -42,6 +44,10 @@ public class MusicGroupPaymentCalenderCourseSettings {
 	/**  */
 	private java.util.Date updateTime;
 
+	public void setStudentOptional(boolean studentOptional) {
+		isStudentOptional = studentOptional;
+	}
+
 	public String getName() {
 		return name;
 	}

+ 104 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/StudentCourseFeeDetail.java

@@ -0,0 +1,104 @@
+package com.ym.mec.biz.dal.entity;
+
+import com.ym.mec.biz.dal.enums.PlatformCashAccountDetailTypeEnum;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+
+/**
+ * 对应数据库表(student_course_fee_detail):
+ */
+public class StudentCourseFeeDetail {
+
+	/**  */
+	private Long studentRegistrationId;
+	
+	/** 交易类型 (RECHARGE 充值,PAY_FEE 缴费) */
+	private PlatformCashAccountDetailTypeEnum type;
+	
+	/** 交易金额 */
+	private java.math.BigDecimal amount;
+	
+	/** 剩余课程金额 */
+	private java.math.BigDecimal surplusCourseFee;
+	
+	/** 备注 */
+	private String memo;
+	
+	/**  */
+	private Integer operator;
+	
+	/**  */
+	private java.util.Date createTime;
+	
+	/**  */
+	private java.util.Date updateTime;
+	
+	public void setStudentRegistrationId(Long studentRegistrationId){
+		this.studentRegistrationId = studentRegistrationId;
+	}
+	
+	public Long getStudentRegistrationId(){
+		return this.studentRegistrationId;
+	}
+
+	public PlatformCashAccountDetailTypeEnum getType() {
+		return type;
+	}
+
+	public void setType(PlatformCashAccountDetailTypeEnum type) {
+		this.type = type;
+	}
+
+	public void setAmount(java.math.BigDecimal amount){
+		this.amount = amount;
+	}
+	
+	public java.math.BigDecimal getAmount(){
+		return this.amount;
+	}
+			
+	public void setSurplusCourseFee(java.math.BigDecimal surplusCourseFee){
+		this.surplusCourseFee = surplusCourseFee;
+	}
+	
+	public java.math.BigDecimal getSurplusCourseFee(){
+		return this.surplusCourseFee;
+	}
+			
+	public void setMemo(String memo){
+		this.memo = memo;
+	}
+	
+	public String getMemo(){
+		return this.memo;
+	}
+			
+	public void setOperator(Integer operator){
+		this.operator = operator;
+	}
+	
+	public Integer getOperator(){
+		return this.operator;
+	}
+			
+	public void setCreateTime(java.util.Date createTime){
+		this.createTime = createTime;
+	}
+	
+	public java.util.Date getCreateTime(){
+		return this.createTime;
+	}
+			
+	public void setUpdateTime(java.util.Date updateTime){
+		this.updateTime = updateTime;
+	}
+	
+	public java.util.Date getUpdateTime(){
+		return this.updateTime;
+	}
+			
+	@Override
+	public String toString() {
+		return ToStringBuilder.reflectionToString(this);
+	}
+
+}

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/StudentRegistration.java

@@ -100,6 +100,8 @@ public class StudentRegistration {
     @ApiModelProperty(value = "是否是插班生0不是,1是", required = true)
     private int transferStudent;
 
+    private BigDecimal surplusCourseFee;
+
     private String organName;
 
     private String schoolName;
@@ -391,4 +393,12 @@ public class StudentRegistration {
 	public void setChargeTypeId(Integer chargeTypeId) {
 		this.chargeTypeId = chargeTypeId;
 	}
+
+    public BigDecimal getSurplusCourseFee() {
+        return surplusCourseFee;
+    }
+
+    public void setSurplusCourseFee(BigDecimal surplusCourseFee) {
+        this.surplusCourseFee = surplusCourseFee;
+    }
 }

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

@@ -2,6 +2,7 @@ package com.ym.mec.biz.service;
 
 import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.entity.ClassGroup;
+import com.ym.mec.biz.dal.entity.MusicGroupOrganizationCourseSettingsDetail;
 import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender;
 import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalenderCourseSettings;
 import com.ym.mec.biz.dal.enums.ClassGroupTypeEnum;
@@ -470,5 +471,5 @@ public interface ClassGroupService extends BaseService<Integer, ClassGroup> {
      * @param classGroupIds
      * @return
      */
-    List<MusicGroupPaymentCalender> getDefaultPaymentCalender(List<Integer> classGroupIds);
+    Map<Integer,Map<String, MusicGroupOrganizationCourseSettingsDetail>> getDefaultPaymentCalender(List<Integer> classGroupIds);
 }

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

@@ -298,4 +298,16 @@ public interface StudentRegistrationService extends BaseService<Long, StudentReg
      * @return
      */
     BigDecimal getClassGroupCourseExpectPrice(List<Integer> classGroupIds);
-}
+
+    /**
+     * @describe 更新学生乐团可用课程余额
+     * @author qnc99
+     * @date 2020/12/2 0002
+     * @param studentRegistrationId:
+     * @param amount:
+     * @param memo:
+     * @param operatorId:
+     * @return boolean
+     */
+    boolean updateUserSurplusCourseFee(Long studentRegistrationId, BigDecimal amount, String memo, Integer operatorId);
+}

+ 23 - 9
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -25,6 +25,7 @@ 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.entity.*;
 import org.apache.commons.lang3.StringUtils;
@@ -3243,30 +3244,43 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
     }
 
     @Override
-    public List<MusicGroupPaymentCalender> getDefaultPaymentCalender(List<Integer> classGroupIds) {
+    public Map<Integer,Map<String,MusicGroupOrganizationCourseSettingsDetail>> getDefaultPaymentCalender(List<Integer> classGroupIds) {
         if(classGroupIds == null || classGroupIds.size() == 0){
             throw new BizException("参数校验失败");
         }
+        Map<Integer,Map<String,MusicGroupOrganizationCourseSettingsDetail>> resultMap = new HashMap<>();
+        //获取默认的排课时长
+        String courseDefaultMinutes = sysConfigDao.findConfigValue("music_course_default_minutes");
+        JSONObject jsonObject = JSON.parseObject(courseDefaultMinutes);
         //获取所选班级最大剩余课时
-        Map<String,Integer> map = MapUtil.convertIntegerMap(courseScheduleDao.findClassMaxCourseNumMap(classGroupIds));
+        Map<String,Long> map = MapUtil.convertIntegerMap(courseScheduleDao.findClassMaxCourseNumMap(classGroupIds));
         //获取每个班级对应课程类型最后一节课
         Set<String> courseTypes = map.keySet();
         for (Integer classGroupId : classGroupIds) {
+            Map<String,MusicGroupOrganizationCourseSettingsDetail> courseMap = new HashMap<>();
             //获取当前班级剩余课次
-            Map<String,Integer> subCourseNumMap = MapUtil.convertIntegerMap(courseScheduleDao.querySubCourseNumMap(classGroupId));
+            Map<String,Long> subCourseNumMap = MapUtil.convertIntegerMap(courseScheduleDao.querySubCourseNumMap(classGroupId));
             for (String courseType : courseTypes) {
-                Integer currentNum = subCourseNumMap.get(courseType);
-                Integer maxNum = map.get(courseType);
+                Long currentNum = subCourseNumMap.get(courseType);
+                if(currentNum == null){
+                    throw new BizException("所选班级课程类型不一致,请重新选择");
+                }
+                Long maxNum = map.get(courseType);
                 //如果当前课程类型不需要新增缴费项目
-                if(currentNum != null && currentNum >= maxNum){
+                if(currentNum >= maxNum){
                     continue;
                 }
+                Long subNum = maxNum - currentNum;
+                //生成缴费项目
                 MusicGroupOrganizationCourseSettingsDetail settingsDetail = musicGroupPaymentCalenderCourseSettingsService.getClassLastSetting(classGroupId,courseType);
                 settingsDetail.setCourseType(CourseScheduleType.valueOf(courseType));
+                settingsDetail.setCourseTotalMinuties(Integer.parseInt(jsonObject.get(courseType).toString()) * subNum.intValue());
+                settingsDetail.setCourseCurrentPrice(settingsDetail.getCourseCurrentPrice().multiply(new BigDecimal(subNum)));
+                settingsDetail.setCourseOriginalPrice(settingsDetail.getCourseOriginalPrice().multiply(new BigDecimal(subNum)));
+                courseMap.put(courseType,settingsDetail);
             }
+            resultMap.put(classGroupId,courseMap);
         }
-        //获取最后一节课现价,原价
-        //生成缴费项目
-        return null;
+        return resultMap;
     }
 }

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

@@ -2,15 +2,7 @@ package com.ym.mec.biz.service.impl;
 
 import java.io.IOException;
 import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
+import java.util.*;
 import java.util.stream.Collectors;
 
 import javax.annotation.Resource;
@@ -118,6 +110,8 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
     private MusicGroupPaymentStudentCourseDetailDao musicGroupPaymentStudentCourseDetailDao;
     @Autowired
     private MusicGroupPaymentCalenderCourseSettingsDao musicGroupPaymentCalenderCourseSettingsDao;
+    @Autowired
+    private StudentCourseFeeDetailDao studentCourseFeeDetailDao;
 
     @Override
     public BaseDAO<Long, StudentRegistration> getDAO() {
@@ -1284,4 +1278,33 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
         List<CourseScheduleStudentPayment> classGroupNoStartCourse = courseScheduleStudentPaymentService.getClassGroupNoStartCourse(classGroupIds);
         return classGroupNoStartCourse.stream().map(CourseScheduleStudentPayment::getExpectPrice).reduce(BigDecimal.ZERO, BigDecimal::add);
     }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class, isolation = Isolation.READ_COMMITTED)
+    public boolean updateUserSurplusCourseFee(Long studentRegistrationId, BigDecimal amount, String memo, Integer operatorId) {
+        StudentRegistration studentRegistration = studentRegistrationDao.lock(studentRegistrationId);
+        if(Objects.isNull(studentRegistration)){
+            throw new BizException("学员注册信息不存在");
+        }
+
+        if(BigDecimal.ZERO.compareTo(amount)==0){
+            return true;
+        }
+
+        if(studentRegistration.getSurplusCourseFee().compareTo(amount)<0){
+            return false;
+        }
+        studentRegistration.setSurplusCourseFee(studentRegistration.getSurplusCourseFee().add(amount));
+
+        StudentCourseFeeDetail studentCourseFeeDetail = new StudentCourseFeeDetail();
+        studentCourseFeeDetail.setStudentRegistrationId(studentRegistrationId);
+        studentCourseFeeDetail.setAmount(amount);
+        studentCourseFeeDetail.setSurplusCourseFee(studentRegistration.getSurplusCourseFee());
+        studentCourseFeeDetail.setMemo(memo);
+        studentCourseFeeDetail.setOperator(operatorId);
+        studentCourseFeeDetailDao.insert(studentCourseFeeDetail);
+
+        studentRegistrationDao.update(studentRegistration);
+        return true;
+    }
 }

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

@@ -3352,12 +3352,12 @@
         SELECT COUNT(id_) FROM course_schedule WHERE new_course_id_=#{courseId}
     </select>
     <select id="querySubCourseNumMap" resultType="java.util.Map">
-        SELECT cs.type_ 'key',COUNT(cs.id_) 'value' FROM course_schedule cs
-        WHERE cs.class_group_id_ = #{classGroupId} AND CONCAT(cs.class_date_," ",cs.start_class_time_) > NOW()
+        SELECT cs.type_ 'key',COUNT(CASE WHEN (CONCAT(cs.class_date_," ",cs.start_class_time_) > NOW()) THEN 1 ELSE NULL END) 'value' FROM course_schedule cs
+        WHERE cs.class_group_id_ = #{classGroupId}
         GROUP BY cs.type_
     </select>
     <select id="findClassMaxCourseNumMap" resultType="java.util.Map">
-        SELECT c.type_ 'key',MAX(c.subCourseNum) 'vslue' FROM (SELECT cs.type_,COUNT(cs.id_) subCourseNum FROM course_schedule cs
+        SELECT c.type_ 'key',MAX(c.subCourseNum) 'value' FROM (SELECT cs.type_,COUNT(cs.id_) subCourseNum FROM course_schedule cs
         WHERE cs.class_group_id_ IN
         <foreach collection="classGroupIds" open="(" close=")" separator="," item="item">
             #{item}

+ 3 - 2
mec-biz/src/main/resources/config/mybatis/MusicGroupPaymentCalenderCourseSettingsMapper.xml

@@ -155,9 +155,10 @@
 		GROUP BY mgpccs.course_type_
 	</select>
     <select id="getClassLastSetting" resultMap="MusicGroupPaymentCalenderCourseSettings">
-		SELECT cssp.original_price_,cssp.expect_price_,0 is_student_optional_ FROM course_schedule cs
+		SELECT cssp.original_price_ course_original_price_,cssp.expect_price_ course_current_price_
+		FROM course_schedule cs
 		LEFT JOIN course_schedule_student_payment cssp ON cssp.course_schedule_id_ = cs.id_
-		WHERE cs.class_group_id_ = #{classGroupId} AND cs.type_ = #{courseType}
+		WHERE cs.class_group_id_ = #{classGroupId} AND cs.type_ = #{courseType} AND cssp.original_price_ IS NOT NULL
 		ORDER BY cs.class_date_,cs.start_class_time_ DESC
 		LIMIT 1
 	</select>

+ 0 - 11
mec-biz/src/main/resources/config/mybatis/MusicGroupPaymentCalenderDetailMapper.xml

@@ -320,17 +320,6 @@
 			mgpcd.music_group_payment_calender_id_ = #{calenderId}
 	</select>
 
-	<select id="getUnusedPaymentCalenderWithMusicGroup" resultMap="MusicGroupPaymentCalenderDetail">
-		SELECT
-			mgpcd.*
-		FROM
-			music_group_payment_calender_detail mgpcd
-			LEFT JOIN music_group_payment_calender mgpc ON mgpcd.music_group_payment_calender_id_ = mgpc.id_
-		WHERE
-			mgpc.music_group_id_ = #{musicGroupId}
-			AND NOT EXISTS ( SELECT id_ FROM course_schedule_student_payment WHERE batch_no_ = mgpcd.music_group_payment_calender_id_ AND music_group_id_ = #{musicGroupId} )
-	</select>
-
     <select id="getWithCalenderIds" resultMap="MusicGroupPaymentCalenderDetail">
 		SELECT
 			mgpcd.*

+ 3 - 0
mec-biz/src/main/resources/config/mybatis/MusicGroupPaymentCalenderMapper.xml

@@ -455,6 +455,9 @@
         SUM(mgpccs.course_total_minuties_) course_total_minuties_,
         SUM(mgpccs.course_original_price_) course_original_price_,SUM(mgpccs.course_current_price_) course_current_price_,
         MAX(mg.name_) music_group_name_,MAX(mg.organ_id_) organ_id_,MAX(mgpc.payment_pattern_)payment_pattern_
+        FROM music_group_payment_calender mgpc
+        LEFT JOIN music_group mg ON mg.id_ = mgpc.music_group_id_
+        LEFT JOIN music_group_payment_calender_course_settings mgpccs ON mgpc.id_ = mgpccs.music_group_payment_calender_id_
         <include refid="MusicGroupPaymentCalenderAuditDtoSql"/>
         GROUP BY mgpc.batch_no_
         ORDER BY create_time_ DESC

+ 63 - 0
mec-biz/src/main/resources/config/mybatis/StudentCourseFeeDetailMapper.xml

@@ -0,0 +1,63 @@
+<?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.StudentCourseFeeDetailDao">
+	
+	<resultMap type="com.ym.mec.biz.dal.entity.StudentCourseFeeDetail" id="StudentCourseFeeDetail">
+		<result column="student_registration_id_" property="studentRegistrationId" />
+		<result column="type_" property="type" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler" />
+		<result column="amount_" property="amount" />
+		<result column="surplus_course_fee_" property="surplusCourseFee" />
+		<result column="memo_" property="memo" />
+		<result column="operator_" property="operator" />
+		<result column="create_time_" property="createTime" />
+		<result column="update_time_" property="updateTime" />
+	</resultMap>
+	
+	<!-- 全查询 -->
+	<select id="findAll" resultMap="StudentCourseFeeDetail">
+		SELECT * FROM student_course_fee_detail
+	</select>
+	
+	<!-- 向数据库增加一条记录 -->
+	<insert id="insert" parameterType="com.ym.mec.biz.dal.entity.StudentCourseFeeDetail" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
+		INSERT INTO student_course_fee_detail (student_registration_id_,type_,amount_,surplus_course_fee_,memo_,operator_,create_time_,update_time_)
+		VALUES(#{studentRegistrationId},#{type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{amount},#{surplusCourseFee},#{memo},#{operator},NOW(),NOW())
+	</insert>
+
+	<update id="update" parameterType="com.ym.mec.biz.dal.entity.StudentCourseFeeDetail">
+		UPDATE student_course_fee_detail
+		<set>
+			<if test="type!=null">
+				type_ = #{type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+			</if>
+			<if test="amount!=null">
+				amount_ = #{amount},
+			</if>
+			<if test="surplusCourseFee!=null">
+				surplus_course_fee_ = #{surplusCourseFee}
+			</if>
+			<if test="memo!=null">
+				memo_ = #{memo}
+			</if>
+			<if test="operator!=null">
+				operator_ = #{operator}
+			</if>
+			update_time_ = NOW()
+		</set>
+		WHERE student_registration_id_ = #{studentRegistrationId}
+	</update>
+	
+	<!-- 分页查询 -->
+	<select id="queryPage" resultMap="StudentCourseFeeDetail" parameterType="map">
+		SELECT * FROM student_course_fee_detail <include refid="global.limit"/>
+	</select>
+	
+	<!-- 查询当前表的总记录数 -->
+	<select id="queryCount" resultType="int">
+		SELECT COUNT(*) FROM student_course_fee_detail
+	</select>
+</mapper>

+ 10 - 0
mec-biz/src/main/resources/config/mybatis/StudentRegistrationMapper.xml

@@ -38,6 +38,7 @@
         <result column="kit_group_purchase_type_" property="kitType" />
         <result column="username_" property="name" />
         <result column="deposit_fee_" property="depositFee" />
+        <result column="surplus_course_fee_" property="surplusCourseFee"/>
     </resultMap>
 
     <resultMap type="com.ym.mec.biz.dal.dto.StudentInfo" id="StudentInfo">
@@ -82,6 +83,10 @@
         SELECT * FROM student_registration WHERE id_ = #{id}
     </select>
 
+    <select id="lock" resultMap="StudentRegistration">
+        SELECT * FROM student_registration WHERE id_ = #{id} FOR UPDATE
+    </select>
+
     <!-- 全查询 -->
     <select id="findAll" resultMap="StudentRegistration">
         SELECT *
@@ -113,6 +118,7 @@
             <if test="classGroupId!=null">class_group_id_,</if>
             <if test="musicGroupStatus!=null">music_group_status_,</if>
             <if test="temporaryCourseFee != null">temporary_course_fee_,</if>
+            <if test="surplusCourseFee != null">surplus_course_fee_,</if>
             <if test="createTime!=null">create_time_,</if>
             <if test="updateTime!=null">update_time_,</if>
         </trim>
@@ -142,6 +148,7 @@
                 #{musicGroupStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
             </if>
             <if test="temporaryCourseFee != null">#{temporaryCourseFee},</if>
+            <if test="surplusCourseFee != null">#{surplus_course_fee_},</if>
             <if test="createTime!=null">#{createTime},</if>
             <if test="updateTime!=null">NOW(),</if>
         </trim>
@@ -205,6 +212,9 @@
             <if test="temporaryCourseFee != null">
                 temporary_course_fee_ =#{temporaryCourseFee},
             </if>
+            <if test="surplusCourseFee != null">
+                surplus_course_fee_ =#{surplusCourseFee},
+            </if>
         </set>
         WHERE id_ = #{id}
     </update>

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

@@ -344,7 +344,7 @@ public class ClassGroupController extends BaseController {
     @ApiOperation(value = "进行中乐团-修改-班级详情-学员班级调整-生成默认缴费信息")
     @GetMapping("/getDefaultPaymentCalender")
     @PreAuthorize("@pcs.hasPermissions('classGroup/getDefaultPaymentCalender')")
-    public HttpResponseResult studentClassAuditDetail(List<Integer> classGroupIds){
+    public HttpResponseResult studentClassAuditDetail(@RequestBody List<Integer> classGroupIds){
         return succeed(classGroupService.getDefaultPaymentCalender(classGroupIds));
     }
 }