Преглед на файлове

系统收费报名学员退团退云教练

zouxuan преди 4 години
родител
ревизия
319d8319cb
променени са 1 файла, в които са добавени 51 реда и са изтрити 52 реда
  1. 51 52
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

+ 51 - 52
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -1954,6 +1954,32 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
                 groupEventSource.musicGroupStudentChangeEvent(musicGroupId, StudentMusicGroupStatusEnum.QUIT, new ArrayList<>(Arrays.asList(userId)));
 
             }
+
+            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 || DateUtil.stringToDate(DateUtil.format(cloudTeacherOrder.getEndTime(),DateUtil.ISO_EXPANDED_DATE_FORMAT),DateUtil.ISO_EXPANDED_DATE_FORMAT).compareTo(
+                                    DateUtil.stringToDate(DateUtil.format(nowDate,DateUtil.ISO_EXPANDED_DATE_FORMAT),DateUtil.ISO_EXPANDED_DATE_FORMAT)) >= 0) {
+                                quitCloudTeacherOrders.add(cloudTeacherOrder);
+                                orderAmount = orderAmount.add(cloudTeacherOrder.getAmount());
+                            }
+                        }
+                        cloudTeacherOrderService.quitCloudTeacherOrders(quitCloudTeacherOrders, cloudTeacherAmount);
+                    }
+                    if (cloudTeacherAmount.compareTo(orderAmount) > 0) {
+                        throw new BizException("云教练退费金额不能大于原始订单金额");
+                    }
+                    amount = amount.add(cloudTeacherAmount);
+                    //清除学员云教练
+                    studentService.cleanMember(userId);
+                }
+            }
             if (currentStudentMusicGroupStatus != StudentMusicGroupStatusEnum.NORMAL) {
                 return true;
             }
@@ -2015,32 +2041,6 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
                 }
             }
 
-            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 || DateUtil.stringToDate(DateUtil.format(cloudTeacherOrder.getEndTime(),DateUtil.ISO_EXPANDED_DATE_FORMAT),DateUtil.ISO_EXPANDED_DATE_FORMAT).compareTo(
-                                    DateUtil.stringToDate(DateUtil.format(nowDate,DateUtil.ISO_EXPANDED_DATE_FORMAT),DateUtil.ISO_EXPANDED_DATE_FORMAT)) >= 0) {
-                                quitCloudTeacherOrders.add(cloudTeacherOrder);
-                                orderAmount = orderAmount.add(cloudTeacherOrder.getAmount());
-                            }
-                        }
-                        cloudTeacherOrderService.quitCloudTeacherOrders(quitCloudTeacherOrders, cloudTeacherAmount);
-                    }
-                    if (cloudTeacherAmount.compareTo(orderAmount) > 0) {
-                        throw new BizException("云教练退费金额不能大于原始订单金额");
-                    }
-                    amount = amount.add(cloudTeacherAmount);
-                    //清除学员云教练
-                    studentService.cleanMember(userId);
-                }
-            }
-
             if (amount.doubleValue() > 0) {
                 // 增加交易流水
                 sysUserCashAccountDetailService.addCashAccountDetail(userId, amount, SysUserCashAccountDetailService.MUSIC_GROUP + musicGroupId, "",
@@ -2206,6 +2206,31 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             //统计变更学员数
             groupEventSource.musicGroupStudentChangeEvent(musicGroupId, StudentMusicGroupStatusEnum.QUIT, new ArrayList<>(Arrays.asList(userId)));
         }
+        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 || DateUtil.stringToDate(DateUtil.format(cloudTeacherOrder.getEndTime(),DateUtil.ISO_EXPANDED_DATE_FORMAT),DateUtil.ISO_EXPANDED_DATE_FORMAT).compareTo(
+                                DateUtil.stringToDate(DateUtil.format(nowDate,DateUtil.ISO_EXPANDED_DATE_FORMAT),DateUtil.ISO_EXPANDED_DATE_FORMAT)) >= 0) {
+                            quitCloudTeacherOrders.add(cloudTeacherOrder);
+                            orderAmount = orderAmount.add(cloudTeacherOrder.getAmount());
+                        }
+                    }
+                    cloudTeacherOrderService.quitCloudTeacherOrders(quitCloudTeacherOrders, cloudTeacherAmount);
+                }
+                if (cloudTeacherAmount.compareTo(orderAmount) > 0) {
+                    throw new BizException("云教练退费金额不能大于原始订单金额");
+                }
+                amount = amount.add(cloudTeacherAmount);
+                //清除学员云教练
+                studentService.cleanMember(userId);
+            }
+        }
 
         if (currentStudentMusicGroupStatus != StudentMusicGroupStatusEnum.NORMAL) {
             return true;
@@ -2268,32 +2293,6 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             }
         }
 
-        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 || DateUtil.stringToDate(DateUtil.format(cloudTeacherOrder.getEndTime(),DateUtil.ISO_EXPANDED_DATE_FORMAT),DateUtil.ISO_EXPANDED_DATE_FORMAT).compareTo(
-                                DateUtil.stringToDate(DateUtil.format(nowDate,DateUtil.ISO_EXPANDED_DATE_FORMAT),DateUtil.ISO_EXPANDED_DATE_FORMAT)) >= 0) {
-                            quitCloudTeacherOrders.add(cloudTeacherOrder);
-                            orderAmount = orderAmount.add(cloudTeacherOrder.getAmount());
-                        }
-                    }
-                    cloudTeacherOrderService.quitCloudTeacherOrders(quitCloudTeacherOrders, cloudTeacherAmount);
-                }
-                if (cloudTeacherAmount.compareTo(orderAmount) > 0) {
-                    throw new BizException("云教练退费金额不能大于原始订单金额");
-                }
-                amount = amount.add(cloudTeacherAmount);
-                //清除学员云教练
-                studentService.cleanMember(userId);
-            }
-        }
-
         if (amount.doubleValue() > 0) {
             // 增加交易流水
             sysUserCashAccountDetailService.addCashAccountDetail(userId, amount, SysUserCashAccountDetailService.MUSIC_GROUP + musicGroupId, "",