mitao
2024-07-29 fc8b51f40e71aa09bb49f407c1e9f68ac94ceb58
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsGroupPurchaseServiceImpl.java
@@ -31,14 +31,12 @@
import com.ruoyi.goods.service.IGoodsSkuService;
import com.ruoyi.goods.service.IMemberGoodsCollectionService;
import com.ruoyi.goods.service.async.AsyncMethodService;
import com.ruoyi.system.api.constants.DelayTaskEnum;
import com.ruoyi.system.api.constants.NotificationTypeConstant;
import com.ruoyi.system.api.domain.GoodsGroupPurchase;
import com.ruoyi.system.api.domain.GoodsGroupPurchaseInfo;
import com.ruoyi.system.api.domain.GoodsSku;
import com.ruoyi.system.api.domain.Order;
import com.ruoyi.system.api.domain.WebsocketMessageDTO;
import com.ruoyi.system.api.domain.dto.GoodsStockUpdDTO;
import com.ruoyi.system.api.domain.dto.HomeGoodsSkuDTO;
import com.ruoyi.system.api.domain.dto.ListStatusDTO;
import com.ruoyi.system.api.domain.dto.OrderDTO;
@@ -149,9 +147,7 @@
                        goodsSku.getSkuName()));
            }
        }
        if (goodsGroupPurchase.getListingStatus().equals(ListingStatusEnum.ON_SHELVES)) {
            asyncMethodService.groupPurchaseScheduleTask(Lists.newArrayList(goodsGroupPurchase));
        }
        asyncMethodService.groupPurchaseScheduleTask(Lists.newArrayList(goodsGroupPurchase));
    }
    /**
@@ -197,28 +193,19 @@
            if (groupPurchase.getStartStatus().equals(StartStatusEnum.STARTED)) {
                throw new ServiceException("该商品已开始团购,不能下架");
            }
            //移除该团购商品延时任务
            redisService.deleteObject(DelayTaskEnum.GROUP_PURCHASES_START_TASK.getCode() + "-"
                    + groupPurchase.getId());
            redisService.deleteObject(
                    DelayTaskEnum.GROUP_PURCHASES_END_TASK.getCode() + "-" + groupPurchase.getId());
            // 退回剩余库存
            GoodsStockUpdDTO goodsStockUpdDTO = new GoodsStockUpdDTO();
            goodsStockUpdDTO.setAuctionStock(
                    groupPurchase.getLimitNumber() * groupPurchase.getGroupSize());
            goodsStockUpdDTO.setGoodsSkuId(groupPurchase.getGoodsSkuId());
            goodsSkuService.updGoodsStock(Lists.newArrayList(goodsStockUpdDTO));
        }
        //修改状态
        groupPurchase.setListingStatus(dto.getListingStatus());
        groupPurchase.setStartStatus(StartStatusEnum.ENDED);
        if (!groupPurchase.getGroupStatus().equals(GroupStatusEnum.FORMED_INTO_A_GROUP)) {
        List<GoodsGroupPurchaseInfo> groupPurchaseInfoList = goodsGroupPurchaseInfoService.lambdaQuery()
                .eq(GoodsGroupPurchaseInfo::getGroupPurchaseId, dto.getId()).list();
        long count = groupPurchaseInfoList.stream().filter(info -> info.getGroupStatus() == 1)
                .count();
        if (count > 0) {
            groupPurchase.setGroupStatus(GroupStatusEnum.FORMED_INTO_A_GROUP);
        } else {
            groupPurchase.setGroupStatus(GroupStatusEnum.GROUP_FAILURE);
        }
        this.updateById(groupPurchase);
        if (dto.getListingStatus().equals(ListingStatusEnum.ON_SHELVES)) {
            asyncMethodService.groupPurchaseScheduleTask(Lists.newArrayList(groupPurchase));
        }
    }
    /**