|
@@ -959,21 +959,24 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
|
|
|
platformFeeRate = BigDecimal.ONE;
|
|
|
}
|
|
|
BigDecimal platformFee = expectPrice.multiply(platformFeeRate).setScale(2, RoundingMode.HALF_UP);
|
|
|
+ BigDecimal teacherFee = expectPrice.subtract(platformFee);
|
|
|
platformFee = platformFee.subtract(orderDetailVo.getCouponAmount());
|
|
|
|
|
|
if (platformFee.compareTo(BigDecimal.ZERO) > 0) {
|
|
|
- PlatformCashAccountRecord platformCashAccountRecord;
|
|
|
- if (GoodTypeEnum.PINAO_ROOM.equals(orderDetailVo.getGoodType())) {
|
|
|
- platformCashAccountRecord = new PlatformCashAccountRecord(orderDetailVo.getUserId(), platformFee,
|
|
|
- InOrOutEnum.IN, PostStatusEnum.RECORDED, AccountBizTypeEnum.PIAON_ROOM, orderDetailVo.getBizId(),
|
|
|
- orderDetailVo.getOrderNo(), new Date());
|
|
|
- } else {
|
|
|
- AccountBizTypeEnum bizTypeEnum = AccountBizTypeEnum.valueOf(orderDetailVo.getGoodType().getCode());
|
|
|
- platformCashAccountRecord = new PlatformCashAccountRecord(orderDetailVo.getUserId(), platformFee,
|
|
|
+ // 订单实收
|
|
|
+ AccountBizTypeEnum bizTypeEnum = AccountBizTypeEnum.valueOf(orderDetailVo.getGoodType().getCode());
|
|
|
+ PlatformCashAccountRecord platformCashAccountRecord = new PlatformCashAccountRecord(orderDetailVo.getUserId(), orderDetailVo.getActualPrice(),
|
|
|
InOrOutEnum.IN, PostStatusEnum.RECORDED, bizTypeEnum, orderDetailVo.getBizId(),
|
|
|
orderDetailVo.getOrderNo(), new Date());
|
|
|
- }
|
|
|
platformCashAccountRecordService.save(platformCashAccountRecord);
|
|
|
+ // 支出给老师金额
|
|
|
+ if (teacherFee.compareTo(BigDecimal.ZERO) >0) {
|
|
|
+ platformCashAccountRecord = new PlatformCashAccountRecord(orderDetailVo.getUserId(), teacherFee,
|
|
|
+ InOrOutEnum.OUT, PostStatusEnum.WAIT, bizTypeEnum, orderDetailVo.getBizId(),
|
|
|
+ orderDetailVo.getOrderNo(), accountPeriodTime);
|
|
|
+ platformCashAccountRecordService.save(platformCashAccountRecord);
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
//卖家不能分润自己 买家和分润人相同,不分润
|
|
|
if (null != orderDetailVo.getRecomUserId() && orderDetailVo.getRecomUserId() != 0
|
|
@@ -985,7 +988,7 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
|
|
|
//入老师账户
|
|
|
BigDecimal shareFee = platformFee.multiply(shareFeeRate).setScale(2, RoundingMode.HALF_UP);
|
|
|
if (shareFee.compareTo(BigDecimal.ZERO) > 0) {
|
|
|
- AccountBizTypeEnum bizTypeEnum = AccountBizTypeEnum.valueOf(orderDetailVo.getGoodType().getCode() + "_SHARE");
|
|
|
+ bizTypeEnum = AccountBizTypeEnum.valueOf(orderDetailVo.getGoodType().getCode() + "_SHARE");
|
|
|
if (null != bizTypeEnum) {
|
|
|
//插入分润老师账户变更记录-分润老师预收
|
|
|
HttpResponseResult<UserAccountRecord> recomRecordRes = userAccountService.accountRecord(
|