浏览代码

Merge branch 'musicGroup_reg_feature_5_8'

周箭河 4 年之前
父节点
当前提交
24a99a9800

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

@@ -167,10 +167,11 @@ public interface MusicGroupService extends BaseService<String, MusicGroup> {
 	 * @param isRefundInstrumentFee 是否退还乐器费用
 	 * @param isRefundTeachingAssistantsFee 是否退还教辅费用
 	 * @param maintenanceFee
+	 * @param cloudTeacherAmount
 	 * @return
 	 */
 	boolean approveQuitMusicGroup(Long id, ApprovalStatus status, String reason, boolean isRefundCourseFee, boolean isRefundInstrumentFee,
-								  boolean isRefundTeachingAssistantsFee, BigDecimal maintenanceFee);
+								  boolean isRefundTeachingAssistantsFee, BigDecimal maintenanceFee, BigDecimal cloudTeacherAmount);
 
 	/**
 	 * 一键退团

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

@@ -89,7 +89,7 @@ public class CloudTeacherOrderServiceImpl extends BaseServiceImpl<Long, CloudTea
                 endTime = DateUtil.addYears(startTime, cloudTeacherOrder.getTime());
             }
             cloudTeacher.setStudentId(cloudTeacherOrder.getStudentId());
-            cloudTeacher.setLevel(cloudTeacher.getLevel());
+            cloudTeacher.setLevel(cloudTeacherOrder.getLevel());
             cloudTeacher.setStartTime(startTime);
             cloudTeacher.setEndTime(endTime);
             cloudTeacherDao.insert(cloudTeacher);

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

@@ -1662,7 +1662,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
     @Override
     @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
     public boolean approveQuitMusicGroup(Long id, ApprovalStatus status, String reason, boolean isRefundCourseFee, boolean isRefundInstrumentFee,
-                                         boolean isRefundTeachingAssistantsFee, BigDecimal maintenanceFee) {
+                                         boolean isRefundTeachingAssistantsFee, BigDecimal maintenanceFee, BigDecimal cloudTeacherAmount) {
 
         MusicGroupQuit musicGroupQuit = musicGroupQuitDao.get(id);
         if (musicGroupQuit == null) {
@@ -1845,6 +1845,24 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
                 }
             }
 
+            //退云教练费用
+            if (cloudTeacherAmount != null) {
+                Date nowDate = new Date();
+                CloudTeacherOrder studentCloudTeacherOrder = cloudTeacherOrderService.getStudentCloudTeacherOrder(userId, musicGroupId);
+                if (cloudTeacherAmount.compareTo(BigDecimal.ZERO) > 0) {
+                    if (studentCloudTeacherOrder == null || (studentCloudTeacherOrder.getEndTime() != null && studentCloudTeacherOrder.getEndTime().compareTo(nowDate) <= 0)) {
+                        throw new BizException("学生云教练已过有效期,不能退费");
+                    }
+                    if (cloudTeacherAmount.compareTo(studentCloudTeacherOrder.getAmount()) > 0) {
+                        throw new BizException("云教练退费金额不能大于原始订单金额");
+                    }
+                }
+                amount = amount.add(cloudTeacherAmount);
+                if (studentCloudTeacherOrder != null) {
+                    cloudTeacherOrderService.quitCloudTeacherOrder(studentCloudTeacherOrder, cloudTeacherAmount);
+                }
+            }
+
             if (amount.doubleValue() > 0) {
                 // 增加交易流水
                 sysUserCashAccountDetailService.addCashAccountDetail(userId, amount, SysUserCashAccountDetailService.MUSIC_GROUP + musicGroupId, "",

+ 4 - 5
mec-biz/src/main/resources/config/mybatis/CloudTeacherMapper.xml

@@ -29,8 +29,7 @@
         <!--@mbg.generated-->
         insert into cloud_teacher (student_id_, level_, start_time_, end_time_, version_, create_time_,
         update_time_)
-        values (#{studentId}, #{level}, #{startTime}, #{endTime}, #{version}, #{createTime},
-        #{updateTime})
+        values (#{studentId}, #{level}, #{startTime}, #{endTime}, #{version}, NOW(),NOW())
     </insert>
     <update id="update" parameterType="com.ym.mec.biz.dal.entity.CloudTeacher">
         <!--@mbg.generated-->
@@ -60,19 +59,19 @@
     <!-- 全查询 -->
     <select id="findAll" resultMap="CloudTeacher">
         SELECT *
-        FROM cloud_teacher_order
+        FROM cloud_teacher
     </select>
 
     <!-- 分页查询 -->
     <select id="queryPage" resultMap="CloudTeacher" parameterType="map">
-        SELECT * FROM cloud_teacher_order
+        SELECT * FROM cloud_teacher
         <include refid="global.limit"/>
     </select>
 
     <!-- 查询当前表的总记录数 -->
     <select id="queryCount" resultType="int">
         SELECT COUNT(*)
-        FROM cloud_teacher_order
+        FROM cloud_teacher
     </select>
 
     <select id="getByStudentId" resultMap="CloudTeacher">

+ 2 - 2
mec-web/src/main/java/com/ym/mec/web/controller/MusicGroupQuitController.java

@@ -128,8 +128,8 @@ public class MusicGroupQuitController extends BaseController {
             @ApiImplicitParam(name = "maintenanceFee", value = "退乐保费用", required = true, dataType = "num")
     })
     public HttpResponseResult quitMusicGroup(Long id, ApprovalStatus status, String reason, boolean isRefundCourseFee, boolean isRefundInstrumentFee,
-                                             boolean isRefundTeachingAssistantsFee, BigDecimal maintenanceFee) throws Exception {
-        return succeed(musicGroupService.approveQuitMusicGroup(id, status, reason, isRefundCourseFee, isRefundInstrumentFee, isRefundTeachingAssistantsFee, maintenanceFee));
+                                             boolean isRefundTeachingAssistantsFee, BigDecimal maintenanceFee,BigDecimal cloudTeacherAmount) throws Exception {
+        return succeed(musicGroupService.approveQuitMusicGroup(id, status, reason, isRefundCourseFee, isRefundInstrumentFee, isRefundTeachingAssistantsFee, maintenanceFee, cloudTeacherAmount));
     }
 
     @ApiOperation(value = "一键退团")