|
@@ -1954,6 +1954,32 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
groupEventSource.musicGroupStudentChangeEvent(musicGroupId, StudentMusicGroupStatusEnum.QUIT, new ArrayList<>(Arrays.asList(userId)));
|
|
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) {
|
|
if (currentStudentMusicGroupStatus != StudentMusicGroupStatusEnum.NORMAL) {
|
|
return true;
|
|
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) {
|
|
if (amount.doubleValue() > 0) {
|
|
// 增加交易流水
|
|
// 增加交易流水
|
|
sysUserCashAccountDetailService.addCashAccountDetail(userId, amount, SysUserCashAccountDetailService.MUSIC_GROUP + musicGroupId, "",
|
|
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)));
|
|
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) {
|
|
if (currentStudentMusicGroupStatus != StudentMusicGroupStatusEnum.NORMAL) {
|
|
return true;
|
|
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) {
|
|
if (amount.doubleValue() > 0) {
|
|
// 增加交易流水
|
|
// 增加交易流水
|
|
sysUserCashAccountDetailService.addCashAccountDetail(userId, amount, SysUserCashAccountDetailService.MUSIC_GROUP + musicGroupId, "",
|
|
sysUserCashAccountDetailService.addCashAccountDetail(userId, amount, SysUserCashAccountDetailService.MUSIC_GROUP + musicGroupId, "",
|