|
@@ -2659,7 +2659,7 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
|
}
|
|
|
PracticeGroup userLatestPracticeGroup = practiceGroupDao.findUserPracticeGroup(practiceGroupBuyParams.getStudentId(),practiceGroupBuyParams.getGroupId());
|
|
|
if(Objects.nonNull(userLatestPracticeGroup)){
|
|
|
- if(userLatestPracticeGroup.getGroupStatus().equals(GroupStatusEnum.NORMAL)&&userLatestPracticeGroup.getCoursesExpireDate().before(now)){
|
|
|
+ if(!userLatestPracticeGroup.getGroupStatus().equals(GroupStatusEnum.NORMAL)||userLatestPracticeGroup.getCoursesExpireDate().before(now)){
|
|
|
throw new BizException("当前课程组已经无法续费,请选择购买");
|
|
|
}
|
|
|
LocalDate lastExpiredDay=LocalDateTime.ofInstant(userLatestPracticeGroup.getCoursesExpireDate().toInstant(),DateUtil.zoneId).toLocalDate();
|
|
@@ -3001,20 +3001,8 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
|
Map<DealStatusEnum, Long> statusOrderNumMap = userGroupOrders.stream().collect(Collectors.groupingBy(StudentPaymentOrder::getStatus, Collectors.counting()));
|
|
|
Long successOrderNum=statusOrderNumMap.get(DealStatusEnum.SUCCESS);
|
|
|
if(Objects.nonNull(successOrderNum)&&successOrderNum>0){
|
|
|
- if(order.getStatus().equals(DealStatusEnum.FAILED)&&Objects.nonNull(order.getBalancePaymentAmount())){
|
|
|
- sysUserCashAccountService.updateBalance(order.getUserId(), order.getBalancePaymentAmount(), PlatformCashAccountDetailTypeEnum.REFUNDS, "网管课购买失败");
|
|
|
- SysUserCashAccountDetail sysUserIncomeCashAccountDetail = new SysUserCashAccountDetail();
|
|
|
- sysUserIncomeCashAccountDetail.setUserId(order.getUserId());
|
|
|
- sysUserIncomeCashAccountDetail.setType(PlatformCashAccountDetailTypeEnum.RECHARGE);
|
|
|
- sysUserIncomeCashAccountDetail.setStatus(DealStatusEnum.SUCCESS);
|
|
|
- sysUserIncomeCashAccountDetail.setAmount(order.getBalancePaymentAmount());
|
|
|
- sysUserIncomeCashAccountDetail.setBalance(sysUserCashAccount.getBalance().add(order.getBalancePaymentAmount()));
|
|
|
- sysUserIncomeCashAccountDetail.setAttribute(order.getTransNo());
|
|
|
- sysUserIncomeCashAccountDetail.setChannel(studentPaymentOrder.getPaymentChannel());
|
|
|
- sysUserIncomeCashAccountDetail.setComAmount(studentPaymentOrder.getComAmount());
|
|
|
- sysUserIncomeCashAccountDetail.setPerAmount(studentPaymentOrder.getPerAmount());
|
|
|
- sysUserIncomeCashAccountDetail.setDescription("网管课支付失败,退还余额");
|
|
|
- sysUserCashAccountDetailService.insert(sysUserIncomeCashAccountDetail);
|
|
|
+ if(order.getStatus().equals(DealStatusEnum.FAILED)&&Objects.nonNull(order.getBalancePaymentAmount())&&order.getBalancePaymentAmount().compareTo(BigDecimal.ZERO)>0){
|
|
|
+ sysUserCashAccountService.updateBalance(order.getUserId(), order.getBalancePaymentAmount(), PlatformCashAccountDetailTypeEnum.REFUNDS, "网管课支付失败,退还余额");
|
|
|
}
|
|
|
studentPaymentOrderDao.update(order);
|
|
|
return;
|
|
@@ -3022,20 +3010,8 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
|
|
|
|
Long ingOrderNum=statusOrderNumMap.get(DealStatusEnum.ING);
|
|
|
if(Objects.nonNull(ingOrderNum)&&ingOrderNum>1&&order.getStatus().equals(DealStatusEnum.FAILED)){
|
|
|
- if(Objects.nonNull(order.getBalancePaymentAmount())){
|
|
|
- sysUserCashAccountService.updateBalance(order.getUserId(), order.getBalancePaymentAmount(), PlatformCashAccountDetailTypeEnum.REFUNDS, "网管课购买失败");
|
|
|
- SysUserCashAccountDetail sysUserIncomeCashAccountDetail = new SysUserCashAccountDetail();
|
|
|
- sysUserIncomeCashAccountDetail.setUserId(order.getUserId());
|
|
|
- sysUserIncomeCashAccountDetail.setType(PlatformCashAccountDetailTypeEnum.RECHARGE);
|
|
|
- sysUserIncomeCashAccountDetail.setStatus(DealStatusEnum.SUCCESS);
|
|
|
- sysUserIncomeCashAccountDetail.setAmount(order.getBalancePaymentAmount());
|
|
|
- sysUserIncomeCashAccountDetail.setBalance(sysUserCashAccount.getBalance().add(order.getBalancePaymentAmount()));
|
|
|
- sysUserIncomeCashAccountDetail.setAttribute(order.getTransNo());
|
|
|
- sysUserIncomeCashAccountDetail.setChannel(studentPaymentOrder.getPaymentChannel());
|
|
|
- sysUserIncomeCashAccountDetail.setComAmount(studentPaymentOrder.getComAmount());
|
|
|
- sysUserIncomeCashAccountDetail.setPerAmount(studentPaymentOrder.getPerAmount());
|
|
|
- sysUserIncomeCashAccountDetail.setDescription("网管课支付失败,退还余额");
|
|
|
- sysUserCashAccountDetailService.insert(sysUserIncomeCashAccountDetail);
|
|
|
+ if(Objects.nonNull(order.getBalancePaymentAmount())&&order.getBalancePaymentAmount().compareTo(BigDecimal.ZERO)>0){
|
|
|
+ sysUserCashAccountService.updateBalance(order.getUserId(), order.getBalancePaymentAmount(), PlatformCashAccountDetailTypeEnum.REFUNDS, "网管课支付失败,退还余额");
|
|
|
}
|
|
|
studentPaymentOrderDao.update(order);
|
|
|
return;
|
|
@@ -3044,20 +3020,8 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
|
if(order.getStatus().equals(DealStatusEnum.SUCCESS)){
|
|
|
courseScheduleDao.updateGroupCourseLock(order.getMusicGroupId(),GroupType.PRACTICE,0);
|
|
|
}else{
|
|
|
- if(Objects.nonNull(order.getBalancePaymentAmount())){
|
|
|
- sysUserCashAccountService.updateBalance(order.getUserId(), order.getBalancePaymentAmount(), PlatformCashAccountDetailTypeEnum.REFUNDS, "网管课购买失败");
|
|
|
- SysUserCashAccountDetail sysUserIncomeCashAccountDetail = new SysUserCashAccountDetail();
|
|
|
- sysUserIncomeCashAccountDetail.setUserId(order.getUserId());
|
|
|
- sysUserIncomeCashAccountDetail.setType(PlatformCashAccountDetailTypeEnum.RECHARGE);
|
|
|
- sysUserIncomeCashAccountDetail.setStatus(DealStatusEnum.SUCCESS);
|
|
|
- sysUserIncomeCashAccountDetail.setAmount(order.getBalancePaymentAmount());
|
|
|
- sysUserIncomeCashAccountDetail.setBalance(sysUserCashAccount.getBalance().add(order.getBalancePaymentAmount()));
|
|
|
- sysUserIncomeCashAccountDetail.setAttribute(order.getTransNo());
|
|
|
- sysUserIncomeCashAccountDetail.setChannel(studentPaymentOrder.getPaymentChannel());
|
|
|
- sysUserIncomeCashAccountDetail.setComAmount(studentPaymentOrder.getComAmount());
|
|
|
- sysUserIncomeCashAccountDetail.setPerAmount(studentPaymentOrder.getPerAmount());
|
|
|
- sysUserIncomeCashAccountDetail.setDescription("网管课支付失败,退还余额");
|
|
|
- sysUserCashAccountDetailService.insert(sysUserIncomeCashAccountDetail);
|
|
|
+ if(Objects.nonNull(order.getBalancePaymentAmount())&&order.getBalancePaymentAmount().compareTo(BigDecimal.ZERO)>0){
|
|
|
+ sysUserCashAccountService.updateBalance(order.getUserId(), order.getBalancePaymentAmount(), PlatformCashAccountDetailTypeEnum.REFUNDS, "网管课支付失败,退还余额");
|
|
|
}
|
|
|
studentPaymentOrderDao.update(order);
|
|
|
PracticeGroup practiceGroup = practiceGroupDao.get(Long.valueOf(order.getMusicGroupId()));
|
|
@@ -3102,8 +3066,10 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
|
|
|
|
PracticeGroup practiceGroup = practiceGroupDao.get(Long.valueOf(order.getMusicGroupId()));
|
|
|
if(practiceGroup.getGroupStatus().equals(GroupStatusEnum.CANCEL)){
|
|
|
+ order.setVersion(order.getVersion()+1);
|
|
|
order.setMemo("支付成功,在重新支付时,用户选择取消");
|
|
|
studentPaymentOrderDao.update(order);
|
|
|
+ return;
|
|
|
}
|
|
|
ClassGroup classGroup = classGroupDao.findByMusicGroupAndType(order.getMusicGroupId(), GroupType.PRACTICE.getCode());
|
|
|
|
|
@@ -3406,16 +3372,16 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
|
if(Objects.isNull(userFreePracticeGroup)){
|
|
|
continue;
|
|
|
}
|
|
|
- ClassGroup classGroup = classGroupDao.findByMusicGroupAndType(userFreePracticeGroup.getId().toString(), GroupType.PRACTICE.getCode());
|
|
|
-
|
|
|
- CourseScheduleEvaluate courseScheduleEvaluate = courseScheduleEvaluateDao.findByClassGroupId(classGroup.getId());
|
|
|
- if(Objects.isNull(courseScheduleEvaluate)){
|
|
|
- continue;
|
|
|
- }
|
|
|
+// ClassGroup classGroup = classGroupDao.findByMusicGroupAndType(userFreePracticeGroup.getId().toString(), GroupType.PRACTICE.getCode());
|
|
|
+//
|
|
|
+// CourseScheduleEvaluate courseScheduleEvaluate = courseScheduleEvaluateDao.findByClassGroupId(classGroup.getId());
|
|
|
+// if(Objects.isNull(courseScheduleEvaluate)){
|
|
|
+// continue;
|
|
|
+// }
|
|
|
|
|
|
- String pushUrl = baseApiUrl + "/#/reportDetail?classGroupId=" + classGroup.getId();
|
|
|
+ String pushUrl = baseApiUrl + "/#/reportDetail?classGroupId=" + report.getClassGroupId();
|
|
|
|
|
|
- String smsUrl = baseApiUrl + "/#/transfer?url=" + baseApiUrl + "&hash=reportDetail&classGroupId=" + classGroup.getId();
|
|
|
+ String smsUrl = baseApiUrl + "/#/transfer?url=" + baseApiUrl + "&hash=reportDetail&classGroupId=" + report.getClassGroupId();
|
|
|
|
|
|
// SysUser student = sysUserFeignService.queryUserById(userFreePracticeGroup.getStudentId());
|
|
|
SysUser student = teacherDao.getUser(userFreePracticeGroup.getStudentId());
|