分销退款修改
This commit is contained in:
@@ -49,7 +49,6 @@ public class DistributionTask {
|
|||||||
// @Scheduled(cron = "0 0 0 * * ?")
|
// @Scheduled(cron = "0 0 0 * * ?")
|
||||||
// @Scheduled(fixedRate = 30000)
|
// @Scheduled(fixedRate = 30000)
|
||||||
public void deliver() {
|
public void deliver() {
|
||||||
// TODO 逻辑修改
|
|
||||||
// 1. 订单完成支付时(判断是否分销)产生流水记录。
|
// 1. 订单完成支付时(判断是否分销)产生流水记录。
|
||||||
// 2. 判断入账时间。
|
// 2. 判断入账时间。
|
||||||
// 3. 如果是 0 天,再去判断商户余额是否足够。够则入账,不足则不管。
|
// 3. 如果是 0 天,再去判断商户余额是否足够。够则入账,不足则不管。
|
||||||
@@ -58,10 +57,7 @@ public class DistributionTask {
|
|||||||
// 6. 订单产生退款时,去流水表查询该订单的流水记录,如果未入账改为已入账,并插入一条退款扣钱的流水。
|
// 6. 订单产生退款时,去流水表查询该订单的流水记录,如果未入账改为已入账,并插入一条退款扣钱的流水。
|
||||||
LocalDateTime localDateTime = DateUtil.date().toLocalDateTime();
|
LocalDateTime localDateTime = DateUtil.date().toLocalDateTime();
|
||||||
distributionFlowService.list(new QueryWrapper()
|
distributionFlowService.list(new QueryWrapper()
|
||||||
.eq(MkDistributionFlow::getStatus, TableValueConstant.DistributionFlow.Status.PENDING.getCode())).forEach(item -> {
|
.eq(MkDistributionFlow::getStatus, TableValueConstant.DistributionFlow.Status.PENDING.getCode()).le(MkDistributionFlow::getDeliverTime, localDateTime)).forEach(item -> {
|
||||||
if (item.getDeliverTime() != null && item.getDeliverTime().isAfter(localDateTime)) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
FunUtils.safeRunVoid(() -> {
|
FunUtils.safeRunVoid(() -> {
|
||||||
log.info("开始处理延时分账, id: {}, orderNo: {}, 类型: {}", item.getId(), item.getOrderNo(), item.getType());
|
log.info("开始处理延时分账, id: {}, orderNo: {}, 类型: {}", item.getId(), item.getOrderNo(), item.getType());
|
||||||
|
|
||||||
@@ -72,15 +68,15 @@ public class DistributionTask {
|
|||||||
}
|
}
|
||||||
if (CollUtil.newArrayList(OrderStatusEnums.REFUND.getCode(), OrderStatusEnums.REFUNDING.getCode(), OrderStatusEnums.PART_REFUND.getCode()).contains(orderInfo.getStatus())) {
|
if (CollUtil.newArrayList(OrderStatusEnums.REFUND.getCode(), OrderStatusEnums.REFUNDING.getCode(), OrderStatusEnums.PART_REFUND.getCode()).contains(orderInfo.getStatus())) {
|
||||||
log.warn("订单已退款, 订单号: {}", item.getOrderNo());
|
log.warn("订单已退款, 订单号: {}", item.getOrderNo());
|
||||||
item.setStatus(TableValueConstant.DistributionFlow.Status.REFUND.getCode());
|
distributionUserService.refund(orderInfo.getId(), orderInfo.getOrderNo());
|
||||||
} else {
|
} else {
|
||||||
item.setStatus(TableValueConstant.DistributionFlow.Status.SUCCESS.getCode());
|
item.setStatus(TableValueConstant.DistributionFlow.Status.SUCCESS.getCode());
|
||||||
ShopUser shopUser = shopUserService.getById(item.getDistributionUserId());
|
ShopUser shopUser = shopUserService.getById(item.getDistributionUserId());
|
||||||
distributionUserService.updateShopInfoAmount(orderInfo.getShopId(), item.getRewardAmount().negate(), orderInfo.getId(), TableValueConstant.DistributionAmountFlow.Type.SUB, "分销扣减");
|
distributionUserService.updateShopInfoAmount(orderInfo.getShopId(), item.getRewardAmount().negate(), orderInfo.getId(), TableValueConstant.DistributionAmountFlow.Type.SUB, "分销扣减");
|
||||||
distributionUserService.updateIncome(item.getRewardAmount().negate(), item.getRewardAmount(), BigDecimal.ZERO,
|
distributionUserService.updateIncome(item.getRewardAmount().negate(), item.getRewardAmount(), BigDecimal.ZERO,
|
||||||
item.getDistributionUserId(), shopUser.getUserId(), item.getShopUserId(), item.getShopId(), item.getLevel());
|
item.getDistributionUserId(), shopUser.getUserId(), item.getShopUserId(), item.getShopId(), item.getLevel());
|
||||||
|
distributionFlowService.updateById(item);
|
||||||
}
|
}
|
||||||
distributionFlowService.updateById(item);
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user