소스 검색

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

zouxuan 4 년 전
부모
커밋
6efb743e2f

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

@@ -168,7 +168,7 @@ public interface MusicGroupService extends BaseService<String, MusicGroup> {
 	 * @return
 	 */
 	boolean approveQuitMusicGroup(Long id, ApprovalStatus status, String reason, boolean isRefundCourseFee, boolean isRefundInstrumentFee,
-								  boolean isRefundTeachingAssistantsFee, BigDecimal maintenanceFee, BigDecimal cloudTeacherAmount);
+								  boolean isRefundTeachingAssistantsFee,boolean isRefundMemberFee, BigDecimal maintenanceFee, BigDecimal cloudTeacherAmount);
 
 	/**
 	 * 一键退团
@@ -183,7 +183,7 @@ public interface MusicGroupService extends BaseService<String, MusicGroup> {
 	 * @return
 	 */
 	boolean directQuitMusicGroup(String musicGroupId, Integer userId, String reason, boolean isRefundCourseFee, boolean isRefundInstrumentFee,
-								 boolean isRefundTeachingAssistantsFee, BigDecimal maintenanceFee, BigDecimal cloudTeacherAmount);
+								 boolean isRefundTeachingAssistantsFee,boolean isRefundMemberFee, BigDecimal maintenanceFee, BigDecimal cloudTeacherAmount);
 
 	/**
 	 *  续费

+ 42 - 38
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -1822,7 +1822,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, BigDecimal cloudTeacherAmount) {
+                                         boolean isRefundTeachingAssistantsFee,boolean isRefundMemberFee, BigDecimal maintenanceFee, BigDecimal cloudTeacherAmount) {
 
         MusicGroupQuit musicGroupQuit = musicGroupQuitDao.get(id);
         if (musicGroupQuit == null) {
@@ -2015,27 +2015,29 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
                 }
             }
 
-            //退云教练费用
-            if (cloudTeacherAmount != null) {
-                Date nowDate = new Date();
-                List<CloudTeacherOrder> cloudTeacherOrders = cloudTeacherOrderService.getStudentCloudTeacherOrder(userId, musicGroupId);
-                BigDecimal orderAmount = BigDecimal.ZERO;
-                if(cloudTeacherOrders.size() > 0){
-                    List<CloudTeacherOrder> quitCloudTeacherOrders = new ArrayList<>();
-                    for (CloudTeacherOrder cloudTeacherOrder : cloudTeacherOrders) {
-                        if (cloudTeacherOrder.getEndTime() == null || cloudTeacherOrder.getEndTime().compareTo(nowDate) > 0) {
-                            quitCloudTeacherOrders.add(cloudTeacherOrder);
-                            orderAmount = orderAmount.add(cloudTeacherOrder.getAmount());
+            if(isRefundMemberFee){
+                //退云教练费用
+                if (cloudTeacherAmount != null) {
+                    Date nowDate = new Date();
+                    List<CloudTeacherOrder> cloudTeacherOrders = cloudTeacherOrderService.getStudentCloudTeacherOrder(userId, musicGroupId);
+                    BigDecimal orderAmount = BigDecimal.ZERO;
+                    if(cloudTeacherOrders.size() > 0){
+                        List<CloudTeacherOrder> quitCloudTeacherOrders = new ArrayList<>();
+                        for (CloudTeacherOrder cloudTeacherOrder : cloudTeacherOrders) {
+                            if (cloudTeacherOrder.getEndTime() == null || cloudTeacherOrder.getEndTime().compareTo(nowDate) > 0) {
+                                quitCloudTeacherOrders.add(cloudTeacherOrder);
+                                orderAmount = orderAmount.add(cloudTeacherOrder.getAmount());
+                            }
                         }
+                        cloudTeacherOrderService.quitCloudTeacherOrders(quitCloudTeacherOrders, cloudTeacherAmount);
                     }
-                    cloudTeacherOrderService.quitCloudTeacherOrders(quitCloudTeacherOrders, cloudTeacherAmount);
-                }
-                if (cloudTeacherAmount.compareTo(orderAmount) > 0) {
-                    throw new BizException("云教练退费金额不能大于原始订单金额");
+                    if (cloudTeacherAmount.compareTo(orderAmount) > 0) {
+                        throw new BizException("云教练退费金额不能大于原始订单金额");
+                    }
+                    amount = amount.add(cloudTeacherAmount);
+                    //清除学员云教练
+                    studentService.cleanMember(userId);
                 }
-                amount = amount.add(cloudTeacherAmount);
-                //清除学员云教练
-                studentService.cleanMember(userId);
             }
 
             if (amount.doubleValue() > 0) {
@@ -2050,7 +2052,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
     @Override
     @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
     public boolean directQuitMusicGroup(String musicGroupId, Integer userId, String reason, boolean isRefundCourseFee, boolean isRefundInstrumentFee,
-                                        boolean isRefundTeachingAssistantsFee, BigDecimal maintenanceFee, BigDecimal cloudTeacherAmount) {
+                                        boolean isRefundTeachingAssistantsFee,boolean isRefundMemberFee, BigDecimal maintenanceFee, BigDecimal cloudTeacherAmount) {
 
         SysUser sysUser = sysUserFeignService.queryUserById(userId);
         if (sysUser == null) {
@@ -2265,27 +2267,29 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             }
         }
 
-        //退云教练费用
-        if (cloudTeacherAmount != null) {
-            Date nowDate = new Date();
-            List<CloudTeacherOrder> cloudTeacherOrders = cloudTeacherOrderService.getStudentCloudTeacherOrder(userId, musicGroupId);
-            BigDecimal orderAmount = BigDecimal.ZERO;
-            if(cloudTeacherOrders.size() > 0){
-                List<CloudTeacherOrder> quitCloudTeacherOrders = new ArrayList<>();
-                for (CloudTeacherOrder cloudTeacherOrder : cloudTeacherOrders) {
-                    if (cloudTeacherOrder.getEndTime() == null || cloudTeacherOrder.getEndTime().compareTo(nowDate) > 0) {
-                        quitCloudTeacherOrders.add(cloudTeacherOrder);
-                        orderAmount = orderAmount.add(cloudTeacherOrder.getAmount());
+        if (isRefundMemberFee){
+            //退云教练费用
+            if (cloudTeacherAmount != null) {
+                Date nowDate = new Date();
+                List<CloudTeacherOrder> cloudTeacherOrders = cloudTeacherOrderService.getStudentCloudTeacherOrder(userId, musicGroupId);
+                BigDecimal orderAmount = BigDecimal.ZERO;
+                if(cloudTeacherOrders.size() > 0){
+                    List<CloudTeacherOrder> quitCloudTeacherOrders = new ArrayList<>();
+                    for (CloudTeacherOrder cloudTeacherOrder : cloudTeacherOrders) {
+                        if (cloudTeacherOrder.getEndTime() == null || cloudTeacherOrder.getEndTime().compareTo(nowDate) > 0) {
+                            quitCloudTeacherOrders.add(cloudTeacherOrder);
+                            orderAmount = orderAmount.add(cloudTeacherOrder.getAmount());
+                        }
                     }
+                    cloudTeacherOrderService.quitCloudTeacherOrders(quitCloudTeacherOrders, cloudTeacherAmount);
                 }
-                cloudTeacherOrderService.quitCloudTeacherOrders(quitCloudTeacherOrders, cloudTeacherAmount);
-            }
-            if (cloudTeacherAmount.compareTo(orderAmount) > 0) {
-                throw new BizException("云教练退费金额不能大于原始订单金额");
+                if (cloudTeacherAmount.compareTo(orderAmount) > 0) {
+                    throw new BizException("云教练退费金额不能大于原始订单金额");
+                }
+                amount = amount.add(cloudTeacherAmount);
+                //清除学员云教练
+                studentService.cleanMember(userId);
             }
-            amount = amount.add(cloudTeacherAmount);
-            //清除学员云教练
-            studentService.cleanMember(userId);
         }
 
         if (amount.doubleValue() > 0) {

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

@@ -129,14 +129,16 @@ public class MusicGroupQuitController extends BaseController {
     @ApiImplicitParams({@ApiImplicitParam(name = "id", value = "退团申请id", required = true, dataType = "Long"),
             @ApiImplicitParam(name = "status", value = "审批状态(APPROVED, DENIED, PROCESSING)", required = true, dataType = "String"),
             @ApiImplicitParam(name = "reason", value = "原因", required = true, dataType = "String"),
+            @ApiImplicitParam(name = "isRefundMemberFee", value = "是否退还云教练费用", required = true, dataType = "Boolean"),
             @ApiImplicitParam(name = "isRefundCourseFee", value = "是否退还课程费用", required = true, dataType = "Boolean"),
             @ApiImplicitParam(name = "isRefundInstrumentFee", value = "是否退还乐器费用(租金)", required = true, dataType = "Boolean"),
             @ApiImplicitParam(name = "isRefundTeachingAssistantsFee", value = "是否退还教辅费用", required = true, dataType = "Boolean"),
             @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,BigDecimal cloudTeacherAmount) throws Exception {
-        return succeed(musicGroupService.approveQuitMusicGroup(id, status, reason, isRefundCourseFee, isRefundInstrumentFee, isRefundTeachingAssistantsFee, maintenanceFee, cloudTeacherAmount));
+                                             boolean isRefundTeachingAssistantsFee,boolean isRefundMemberFee, BigDecimal maintenanceFee,BigDecimal cloudTeacherAmount) throws Exception {
+        return succeed(musicGroupService.approveQuitMusicGroup(id, status, reason, isRefundCourseFee, isRefundInstrumentFee, isRefundTeachingAssistantsFee
+                ,isRefundMemberFee, maintenanceFee, cloudTeacherAmount));
     }
 
     @ApiOperation(value = "一键退团")
@@ -145,15 +147,16 @@ public class MusicGroupQuitController extends BaseController {
     @ApiImplicitParams({@ApiImplicitParam(name = "musicGroupId", value = "乐团编号", required = true, dataType = "String"),
             @ApiImplicitParam(name = "userId", value = "用户编号", required = true, dataType = "Integer"),
             @ApiImplicitParam(name = "reason", value = "原因", required = true, dataType = "String"),
+            @ApiImplicitParam(name = "isRefundMemberFee", value = "是否退还云教练费用", required = true, dataType = "Boolean"),
             @ApiImplicitParam(name = "isRefundCourseFee", value = "是否退还课程费用", required = true, dataType = "Boolean"),
             @ApiImplicitParam(name = "isRefundInstrumentFee", value = "是否退还乐器费用(租金)", required = true, dataType = "Boolean"),
             @ApiImplicitParam(name = "isRefundTeachingAssistantsFee", value = "是否退还教辅费用", required = true, dataType = "Boolean"),
-            @ApiImplicitParam(name = "maintenanceFee", value = "退乐保费用", required = true, dataType = "num")
+            @ApiImplicitParam(name = "maintenanceFee", value = "退乐保费用", required = true, dataType = "num"),
     })
     public HttpResponseResult directQuitMusicGroup(String musicGroupId, Integer userId, String reason, boolean isRefundCourseFee,
-                                                   boolean isRefundInstrumentFee, boolean isRefundTeachingAssistantsFee,
+                                                   boolean isRefundInstrumentFee, boolean isRefundTeachingAssistantsFee,boolean isRefundMemberFee,
                                                    BigDecimal maintenanceFee, BigDecimal cloudTeacherAmount) throws Exception {
         return succeed(musicGroupService.directQuitMusicGroup(musicGroupId, userId, reason, isRefundCourseFee, isRefundInstrumentFee,
-                isRefundTeachingAssistantsFee, maintenanceFee, cloudTeacherAmount));
+                isRefundTeachingAssistantsFee,isRefundMemberFee, maintenanceFee, cloudTeacherAmount));
     }
 }