|
@@ -146,6 +146,9 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
|
|
|
private MusicAlbumService musicAlbumService;
|
|
|
|
|
|
@Autowired
|
|
|
+ private TeacherService teacherService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
private UserOrderService userOrderService;
|
|
|
|
|
|
@Autowired
|
|
@@ -1261,23 +1264,31 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
|
|
|
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) {
|
|
|
- AccountBizTypeEnum 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);
|
|
|
+
|
|
|
+ // 判断是否结算给分享人
|
|
|
+
|
|
|
+ // 判断是否结算给老师,不结算,不写入老师入账记录
|
|
|
+ Teacher teacher = teacherService.getById(orderDetailVo.getRecomUserId());
|
|
|
+ if (teacher != null && teacher.getIsSettlement() != null && teacher.getIsSettlement()) {
|
|
|
+
|
|
|
+ //获取分润收益费率
|
|
|
+ BigDecimal shareFeeRate = getShareFreeByGoodType(orderDetailVo.getGoodType()
|
|
|
+ , orderDetailVo.getBizId());
|
|
|
+ //入老师账户
|
|
|
+ BigDecimal shareFee = platformFee.multiply(shareFeeRate).setScale(2, RoundingMode.HALF_UP);
|
|
|
+ if (shareFee.compareTo(BigDecimal.ZERO) > 0) {
|
|
|
+ AccountBizTypeEnum 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);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|