分销延时发放
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
package com.czg.task;
|
||||
|
||||
import com.czg.account.entity.ShopUser;
|
||||
import com.czg.account.service.ShopUserService;
|
||||
import com.czg.market.entity.MkDistributionDeliver;
|
||||
import com.czg.market.service.MkBirthdayGiftService;
|
||||
import com.czg.market.service.MkDistributionDeliverService;
|
||||
import com.czg.market.service.MkDistributionUserService;
|
||||
import com.czg.order.entity.OrderInfo;
|
||||
import com.czg.order.service.OrderInfoService;
|
||||
import com.czg.utils.FunUtils;
|
||||
import com.mybatisflex.core.query.QueryWrapper;
|
||||
import jakarta.annotation.Resource;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.dubbo.config.annotation.DubboReference;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* 分销定时任务
|
||||
*
|
||||
* @author ww
|
||||
* @description
|
||||
*/
|
||||
@Slf4j
|
||||
@Component
|
||||
public class DistributionTask {
|
||||
@Resource
|
||||
private MkDistributionDeliverService distributionDeliverService;
|
||||
@Resource
|
||||
private MkDistributionUserService distributionUserService;
|
||||
|
||||
@DubboReference
|
||||
private OrderInfoService orderInfoService;
|
||||
|
||||
/**
|
||||
* 生日有礼奖励发放
|
||||
* AAMarketTasks 统一调用位置
|
||||
*/
|
||||
// @Scheduled(cron = "0 0 0 * * ?")
|
||||
public void deliver() {
|
||||
distributionDeliverService.list(new QueryWrapper().eq(MkDistributionDeliver::getStatus, "pending")).forEach(item -> {
|
||||
FunUtils.safeRunVoid(() -> {
|
||||
log.info("开始处理延时分账, orderNo: {}, 类型: {}", item.getOrderNo(), item.getType());
|
||||
OrderInfo orderInfo = orderInfoService.getOne(new QueryWrapper().eq(OrderInfo::getOrderNo, item.getOrderNo()));
|
||||
if (orderInfo == null) {
|
||||
log.warn("订单不存在, 订单号: {}", item.getOrderNo());
|
||||
return;
|
||||
}
|
||||
|
||||
distributionUserService.distribute(orderInfo.getId(), orderInfo.getOrderNo(), orderInfo.getPayAmount(), orderInfo.getUserId(), orderInfo.getShopId(), "order", true);
|
||||
item.setStatus("success");
|
||||
distributionDeliverService.updateById(item);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user