运营余额扣除修改

This commit is contained in:
张松 2025-10-30 15:10:15 +08:00
parent df7251553c
commit 320e2871fd
2 changed files with 9 additions and 3 deletions

View File

@ -18,6 +18,7 @@ import com.czg.order.entity.OrderInfo;
import com.czg.order.service.OrderInfoService;
import com.czg.service.market.enums.OrderStatusEnums;
import com.czg.utils.FunUtils;
import com.itextpdf.styledxmlparser.jsoup.helper.DataUtil;
import com.mybatisflex.core.query.QueryWrapper;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
@ -25,6 +26,7 @@ import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.stereotype.Component;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* 分销定时任务
@ -55,8 +57,12 @@ public class DistributionTask {
*/
// @Scheduled(cron = "0 0 0 * * ?")
public void deliver() {
distributionFlowService.list(new QueryWrapper().ge(MkDistributionFlow::getDeliverTime, DateUtil.date())
LocalDateTime localDateTime = DateUtil.date().toLocalDateTime();
distributionFlowService.list(new QueryWrapper()
.eq(MkDistributionFlow::getStatus, TableValueConstant.DistributionFlow.Status.PENDING.getCode())).forEach(item -> {
if (item.getDeliverTime() != null && item.getDeliverTime().isAfter(localDateTime)) {
return;
}
FunUtils.safeRunVoid(() -> {
log.info("开始处理延时分账, id: {}, orderNo: {}, 类型: {}", item.getId(), item.getOrderNo(), item.getType());
@ -68,7 +74,7 @@ public class DistributionTask {
if (CollUtil.newArrayList(OrderStatusEnums.REFUND.getCode(), OrderStatusEnums.REFUNDING.getCode(), OrderStatusEnums.PART_REFUND.getCode()).contains(orderInfo.getStatus())) {
log.warn("订单已退款, 订单号: {}", item.getOrderNo());
item.setStatus(TableValueConstant.DistributionFlow.Status.REFUND.getCode());
}else {
} else {
item.setStatus(TableValueConstant.DistributionFlow.Status.SUCCESS.getCode());
ShopUser shopUser = shopUserService.getById(item.getDistributionUserId());
distributionUserService.updateIncome(item.getRewardAmount().negate(), item.getRewardAmount(), BigDecimal.ZERO,

View File

@ -622,7 +622,7 @@ public class MkDistributionUserServiceImpl extends ServiceImpl<MkDistributionUse
@Override
public BigDecimal updateShopInfoAmount(Long shopId, BigDecimal changeAmount, Long sourceId, TableValueConstant.DistributionAmountFlow.Type type, String remark) {
BigDecimal finalAmount = shopInfoService.updateAmount(shopId, changeAmount.negate());
BigDecimal finalAmount = shopInfoService.updateAmount(shopId, changeAmount);
distributionAmountFlowService.save(new MkDistributionAmountFlow()
.setType(type.getCode())
.setShopId(shopId).setAmount(finalAmount).setChangeAmount(changeAmount).setSourceId(sourceId)