| | |
| | | |
| | | import cc.mrbird.febs.common.enumerates.OrderStatusEnum; |
| | | import cc.mrbird.febs.common.exception.FebsException; |
| | | import cc.mrbird.febs.mall.entity.MallGoods; |
| | | import cc.mrbird.febs.mall.entity.MallGoodsSku; |
| | | import cc.mrbird.febs.mall.entity.MallOrderInfo; |
| | | import cc.mrbird.febs.mall.entity.MallOrderItem; |
| | | import cc.mrbird.febs.mall.entity.*; |
| | | import cc.mrbird.febs.mall.mapper.*; |
| | | import cn.hutool.core.collection.CollUtil; |
| | | import cn.hutool.core.date.DateUnit; |
| | | import cn.hutool.core.date.DateUtil; |
| | | import cn.hutool.core.util.ObjectUtil; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; |
| | |
| | | @Autowired |
| | | private MallGoodsSkuMapper mallGoodsSkuMapper; |
| | | |
| | | // @Scheduled(cron = "0 0/5 * * * ? ") |
| | | // public void overtimeJob() { |
| | | // log.info("订单超时任务执行"); |
| | | // List<MallOrderInfo> orderList = orderInfoMapper.selectOrderInfoUpTime(OrderStatusEnum.WAIT_PAY.getValue()); |
| | | // if (CollUtil.isNotEmpty(orderList)) { |
| | | // for (MallOrderInfo orderInfo : orderList) { |
| | | // //更新订单状态 |
| | | // orderInfo.setStatus(OrderStatusEnum.CANCEL.getValue()); |
| | | // orderInfo.setCancelType(MallOrderInfo.CANCEL_OVERTIME_NO_PAY); |
| | | // orderInfoMapper.updateById(orderInfo); |
| | | // |
| | | // List<MallOrderItem> mallOrderItemList = mallOrderItemMapper.selectListByOrderId(orderInfo.getId()); |
| | | // if(CollUtil.isNotEmpty(mallOrderItemList)){ |
| | | // for(MallOrderItem mallOrderItem : mallOrderItemList){ |
| | | // MallGoodsSku sku = mallGoodsSkuMapper.selectSkuInfoById(mallOrderItem.getSkuId()); |
| | | // if (sku == null) { |
| | | // throw new FebsException("购买商品或sku不存在"); |
| | | // } |
| | | // |
| | | //// if (sku.getStock() < mallOrderItem.getCnt()) { |
| | | //// throw new FebsException(sku.getSkuName() + "库存不足"); |
| | | //// } |
| | | // |
| | | // MallGoods mallGoods = mallGoodsMapper.selectById(sku.getGoodsId()); |
| | | // Integer goodsResult = mallGoodsMapper.updateStockAndVolumeByGoodsId(mallGoods.getId(), mallOrderItem.getCnt()); |
| | | // if(1 != goodsResult){ |
| | | // throw new FebsException(mallGoods.getGoodsName() + "库存不足"); |
| | | // } |
| | | // |
| | | // Integer skuResult = mallGoodsSkuMapper.updateStockAndVolumeBySkuId(sku.getId(),mallOrderItem.getCnt()); |
| | | // if(1 != skuResult){ |
| | | @Autowired |
| | | private MallMemberCouponMapper mallMemberCouponMapper; |
| | | |
| | | @Scheduled(cron = "0 0/5 * * * ? ") |
| | | public void overtimeJob() { |
| | | log.info("订单超时任务执行"); |
| | | List<MallOrderInfo> orderList = orderInfoMapper.selectOrderInfoUpTime(OrderStatusEnum.WAIT_PAY.getValue()); |
| | | if (CollUtil.isNotEmpty(orderList)) { |
| | | for (MallOrderInfo orderInfo : orderList) { |
| | | //更新订单状态 |
| | | orderInfo.setStatus(OrderStatusEnum.CANCEL.getValue()); |
| | | orderInfo.setCancelType(MallOrderInfo.CANCEL_OVERTIME_NO_PAY); |
| | | orderInfoMapper.updateById(orderInfo); |
| | | |
| | | List<MallOrderItem> mallOrderItemList = mallOrderItemMapper.selectListByOrderId(orderInfo.getId()); |
| | | if(CollUtil.isNotEmpty(mallOrderItemList)){ |
| | | for(MallOrderItem mallOrderItem : mallOrderItemList){ |
| | | MallGoodsSku sku = mallGoodsSkuMapper.selectSkuInfoById(mallOrderItem.getSkuId()); |
| | | if (sku == null) { |
| | | throw new FebsException("购买商品或sku不存在"); |
| | | } |
| | | |
| | | // if (sku.getStock() < mallOrderItem.getCnt()) { |
| | | // throw new FebsException(sku.getSkuName() + "库存不足"); |
| | | // } |
| | | // } |
| | | // } |
| | | // } |
| | | // } |
| | | // |
| | | // } |
| | | |
| | | MallGoods mallGoods = mallGoodsMapper.selectById(sku.getGoodsId()); |
| | | Integer goodsResult = mallGoodsMapper.updateStockAndVolumeByGoodsId(mallGoods.getId(), mallOrderItem.getCnt()); |
| | | if(1 != goodsResult){ |
| | | throw new FebsException(mallGoods.getGoodsName() + "库存不足"); |
| | | } |
| | | |
| | | Integer skuResult = mallGoodsSkuMapper.updateStockAndVolumeBySkuId(sku.getId(),mallOrderItem.getCnt()); |
| | | if(1 != skuResult){ |
| | | throw new FebsException(sku.getSkuName() + "库存不足"); |
| | | } |
| | | Long memberCouponId = mallOrderItem.getMemberCouponId(); |
| | | MallMemberCoupon mallMemberCoupon = mallMemberCouponMapper.selectById(memberCouponId); |
| | | if(ObjectUtil.isNotEmpty(mallMemberCoupon)){ |
| | | mallMemberCoupon.setState(1); |
| | | mallMemberCouponMapper.updateById(mallMemberCoupon); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | // @Scheduled(cron = "0/5 * * * * ? ") |
| | | // public void wakeup() { |