|
@@ -228,12 +228,8 @@ public class MemberRankSettingServiceImpl extends BaseServiceImpl<Integer, Membe
|
|
|
studentPaymentOrderService.update(studentPaymentOrder);
|
|
|
|
|
|
if (studentPaymentOrder.getStatus() == DealStatusEnum.CLOSE || studentPaymentOrder.getStatus() == DealStatusEnum.FAILED) {
|
|
|
-
|
|
|
- if (studentPaymentOrder.getBalancePaymentAmount() != null && studentPaymentOrder.getBalancePaymentAmount().compareTo(BigDecimal.ZERO) > 0) {
|
|
|
- sysUserCashAccountService.updateBalance(studentPaymentOrder.getUserId(), studentPaymentOrder.getBalancePaymentAmount(),
|
|
|
- PlatformCashAccountDetailTypeEnum.REFUNDS, "购买会员支付失败");
|
|
|
- }
|
|
|
- sysCouponCodeService.quit(studentPaymentOrder.getCouponCodeId());
|
|
|
+ //退还优惠券和余额
|
|
|
+ studentPaymentOrderService.returnBalanceAndCoupon(studentPaymentOrder,"购买会员支付失败");
|
|
|
return true;
|
|
|
}
|
|
|
|
|
@@ -261,40 +257,8 @@ public class MemberRankSettingServiceImpl extends BaseServiceImpl<Integer, Membe
|
|
|
cloudCoachPaymentProgram.setPaymentUserNum(cloudCoachPaymentProgram.getPaymentUserNum() + 1);
|
|
|
cloudCoachPaymentProgramService.update(cloudCoachPaymentProgram);
|
|
|
// 插入交易明细
|
|
|
- BigDecimal amount = studentPaymentOrder.getActualAmount();
|
|
|
- if (amount.compareTo(BigDecimal.ZERO) > 0) {
|
|
|
- SysUserCashAccount cashAccount = sysUserCashAccountService.get(userId);
|
|
|
- // 充值
|
|
|
- SysUserCashAccountDetail rechargeDetail = new SysUserCashAccountDetail();
|
|
|
- rechargeDetail.setAmount(amount);
|
|
|
- rechargeDetail.setBalance(cashAccount.getBalance().add(amount));
|
|
|
- rechargeDetail.setComment("缴费前充值");
|
|
|
- rechargeDetail.setCreateTime(nowDate);
|
|
|
- rechargeDetail.setStatus(DealStatusEnum.SUCCESS);
|
|
|
- rechargeDetail.setTransNo(studentPaymentOrder.getTransNo());
|
|
|
- rechargeDetail.setType(PlatformCashAccountDetailTypeEnum.RECHARGE);
|
|
|
- rechargeDetail.setUpdateTime(nowDate);
|
|
|
- rechargeDetail.setUserId(userId);
|
|
|
- rechargeDetail.setChannel(studentPaymentOrder.getPaymentChannel());
|
|
|
- rechargeDetail.setComAmount(studentPaymentOrder.getComAmount());
|
|
|
- rechargeDetail.setPerAmount(studentPaymentOrder.getPerAmount());
|
|
|
- sysUserCashAccountDetailService.insert(rechargeDetail);
|
|
|
+ sysUserCashAccountDetailService.saveSysUserCashAccountDetail(studentPaymentOrder,"购买会员");
|
|
|
|
|
|
- // 缴费
|
|
|
- SysUserCashAccountDetail paymentDetail = new SysUserCashAccountDetail();
|
|
|
- paymentDetail.setAmount(amount.negate());
|
|
|
- paymentDetail.setBalance(cashAccount.getBalance());
|
|
|
- paymentDetail.setComment("购买会员");
|
|
|
- paymentDetail.setCreateTime(nowDate);
|
|
|
- paymentDetail.setStatus(DealStatusEnum.SUCCESS);
|
|
|
- paymentDetail.setTransNo(studentPaymentOrder.getTransNo());
|
|
|
- paymentDetail.setType(PlatformCashAccountDetailTypeEnum.PAY_FEE);
|
|
|
- paymentDetail.setUpdateTime(nowDate);
|
|
|
- paymentDetail.setUserId(userId);
|
|
|
- rechargeDetail.setChannel(studentPaymentOrder.getPaymentChannel());
|
|
|
- sysUserCashAccountDetailService.insert(paymentDetail);
|
|
|
- }
|
|
|
-//
|
|
|
try {
|
|
|
contractService.transferProduceContract(userId, null, CourseViewTypeEnum.MEMBER_FEE);
|
|
|
} catch (Exception e) {
|
|
@@ -304,6 +268,7 @@ public class MemberRankSettingServiceImpl extends BaseServiceImpl<Integer, Membe
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
@Override
|
|
|
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class,isolation = Isolation.READ_COMMITTED)
|
|
|
public HttpResponseResult ActiveBuy(Integer userId, Integer memberRankId, PeriodEnum month, BigDecimal amount, boolean isUseBalance, Integer buyNum, int giveNum, int activeRemark, String remark,boolean repay) throws Exception {
|