|
@@ -962,42 +962,40 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
|
|
BigDecimal platformFee = expectPrice.multiply(platformFeeRate).setScale(2, RoundingMode.HALF_UP);
|
|
BigDecimal platformFee = expectPrice.multiply(platformFeeRate).setScale(2, RoundingMode.HALF_UP);
|
|
platformFee = platformFee.subtract(orderDetailVo.getCouponAmount());
|
|
platformFee = platformFee.subtract(orderDetailVo.getCouponAmount());
|
|
|
|
|
|
- if (platformFee.compareTo(BigDecimal.ZERO) > 0) {
|
|
|
|
- // 订单实收
|
|
|
|
- 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 (null != orderDetailVo.getRecomUserId() && orderDetailVo.getRecomUserId() != 0
|
|
|
|
- && !orderDetailVo.getRecomUserId().equals(orderDetailVo.getMerchId())
|
|
|
|
- && !orderDetailVo.getUserId().equals(orderDetailVo.getRecomUserId())) {
|
|
|
|
- //获取分润收益费率
|
|
|
|
- BigDecimal shareFeeRate = getShareFreeByGoodType(orderDetailVo.getGoodType()
|
|
|
|
- , orderDetailVo.getBizId());
|
|
|
|
- //入老师账户
|
|
|
|
- BigDecimal shareFee = platformFee.multiply(shareFeeRate).setScale(2, RoundingMode.HALF_UP);
|
|
|
|
- if (shareFee.compareTo(BigDecimal.ZERO) > 0) {
|
|
|
|
- bizTypeEnum = AccountBizTypeEnum.valueOf(orderDetailVo.getGoodType().getCode() + "_SHARE");
|
|
|
|
- if (null != bizTypeEnum) {
|
|
|
|
- //插入分润老师账户变更记录-分润老师预收
|
|
|
|
- HttpResponseResult<UserAccountRecord> recomRecordRes = userAccountService.accountRecord(
|
|
|
|
- new UserAccountRecordDto(orderDetailVo.getRecomUserId(), PostStatusEnum.WAIT, shareFee, InOrOutEnum.IN,
|
|
|
|
- bizTypeEnum, orderDetailVo.getBizId(), bizTypeEnum.getMsg(), orderDetailVo.getOrderNo(), orderDetailVo.getUserId(), accountPeriodTime));
|
|
|
|
- if (recomRecordRes.getStatus()) {
|
|
|
|
- //插入平台预支
|
|
|
|
- platformCashAccountRecord = new PlatformCashAccountRecord(orderDetailVo.getRecomUserId(), shareFee,
|
|
|
|
- InOrOutEnum.OUT, PostStatusEnum.WAIT, bizTypeEnum, orderDetailVo.getBizId(), orderDetailVo.getOrderNo(), accountPeriodTime);
|
|
|
|
- platformCashAccountRecordService.save(platformCashAccountRecord);
|
|
|
|
- }
|
|
|
|
|
|
+ // 订单实收
|
|
|
|
+ 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 (null != orderDetailVo.getRecomUserId() && orderDetailVo.getRecomUserId() != 0
|
|
|
|
+ && !orderDetailVo.getRecomUserId().equals(orderDetailVo.getMerchId())
|
|
|
|
+ && !orderDetailVo.getUserId().equals(orderDetailVo.getRecomUserId())) {
|
|
|
|
+ //获取分润收益费率
|
|
|
|
+ BigDecimal shareFeeRate = getShareFreeByGoodType(orderDetailVo.getGoodType()
|
|
|
|
+ , orderDetailVo.getBizId());
|
|
|
|
+ //入老师账户
|
|
|
|
+ BigDecimal shareFee = platformFee.multiply(shareFeeRate).setScale(2, RoundingMode.HALF_UP);
|
|
|
|
+ if (shareFee.compareTo(BigDecimal.ZERO) > 0) {
|
|
|
|
+ bizTypeEnum = AccountBizTypeEnum.valueOf(orderDetailVo.getGoodType().getCode() + "_SHARE");
|
|
|
|
+ if (null != bizTypeEnum) {
|
|
|
|
+ //插入分润老师账户变更记录-分润老师预收
|
|
|
|
+ HttpResponseResult<UserAccountRecord> recomRecordRes = userAccountService.accountRecord(
|
|
|
|
+ new UserAccountRecordDto(orderDetailVo.getRecomUserId(), PostStatusEnum.WAIT, shareFee, InOrOutEnum.IN,
|
|
|
|
+ bizTypeEnum, orderDetailVo.getBizId(), bizTypeEnum.getMsg(), orderDetailVo.getOrderNo(), orderDetailVo.getUserId(), accountPeriodTime));
|
|
|
|
+ if (recomRecordRes.getStatus()) {
|
|
|
|
+ //插入平台预支
|
|
|
|
+ platformCashAccountRecord = new PlatformCashAccountRecord(orderDetailVo.getRecomUserId(), shareFee,
|
|
|
|
+ InOrOutEnum.OUT, PostStatusEnum.WAIT, bizTypeEnum, orderDetailVo.getBizId(), orderDetailVo.getOrderNo(), accountPeriodTime);
|
|
|
|
+ platformCashAccountRecordService.save(platformCashAccountRecord);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
-
|
|
|
|
}
|
|
}
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|