package cc.mrbird.febs.mall.quartz; import cc.mrbird.febs.common.enumerates.AgentLevelEnum; import cc.mrbird.febs.common.enumerates.FlowTypeEnum; import cc.mrbird.febs.common.enumerates.MoneyFlowTypeEnum; import cc.mrbird.febs.mall.entity.MallGoodsSku; import cc.mrbird.febs.mall.entity.MallMember; import cc.mrbird.febs.mall.entity.MallOrderInfo; import cc.mrbird.febs.mall.entity.MallOrderItem; import cc.mrbird.febs.mall.mapper.MallGoodsSkuMapper; import cc.mrbird.febs.mall.mapper.MallMemberMapper; import cc.mrbird.febs.mall.mapper.MallOrderInfoMapper; import cc.mrbird.febs.mall.mapper.MallOrderItemMapper; import cc.mrbird.febs.mall.service.IApiMallMemberWalletService; import cc.mrbird.febs.mall.service.IMallAchieveService; import cc.mrbird.febs.mall.service.IMallMoneyFlowService; import cc.mrbird.febs.mall.service.IMemberProfitService; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; import java.util.Date; import java.util.List; /** * @author wzy * @date 2022-06-15 **/ @Slf4j @Component public class OrderSettlementJob { @Autowired private MallOrderInfoMapper mallOrderInfoMapper; @Autowired private IApiMallMemberWalletService memberWalletService; @Autowired private IMallMoneyFlowService mallMoneyFlowService; @Autowired private MallMemberMapper mallMemberMapper; @Autowired private MallGoodsSkuMapper mallGoodsSkuMapper; @Autowired private IMemberProfitService memberProfitService; @Autowired private IMallAchieveService mallAchieveService; /** * 普通商品结算 -- 10天结算一次 */ // @Scheduled(cron = "0 0 0 * * ?") // @Transactional(rollbackFor = Exception.class) // public void normalGoodsSettlementJob() { // log.info("普通商品结算"); // List orderInfos = mallOrderInfoMapper.selectOrderInfoWithNormalGoods(DateUtil.offsetDay(new Date(), -10)); // if (CollUtil.isEmpty(orderInfos)) { // return; // } // // for (MallOrderInfo orderInfo : orderInfos) { // MallMember member = mallMemberMapper.selectById(orderInfo.getMemberId()); // if (AgentLevelEnum.ZERO_LEVEL.name().equals(member.getLevel())) { // continue; // } // // for (MallOrderItem item : orderInfo.getItems()) { // MallGoodsSku sku = mallGoodsSkuMapper.selectById(item.getSkuId()); // BigDecimal score = sku.getPresentPrice(); // // memberWalletService.add(score, member.getId(), "score"); // mallMoneyFlowService.addMoneyFlow(member.getId(), score, MoneyFlowTypeEnum.STATIC_BONUS.getValue(), orderInfo.getOrderNo(), FlowTypeEnum.SCORE.getValue()); // // mallAchieveService.add(item.getId()); // } // // // 普通商品动态分红结算 // memberProfitService.dynamicProfit(orderInfo.getId(), 1); // } // } /** * 自动确认收货 */ // @Scheduled(cron = "0 0 0 * * ?") // public void orderAutoConfirmJob() { // log.info("自动确认收货"); // mallOrderInfoMapper.updateOrderConfirmStatus(DateUtil.offsetDay(new Date(), -7)); // } }