| | |
| | | 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; |
| | |
| | | goodsSku.getSkuName())); |
| | | } |
| | | } |
| | | if (goodsGroupPurchase.getListingStatus().equals(ListingStatusEnum.ON_SHELVES)) { |
| | | asyncMethodService.groupPurchaseScheduleTask(Lists.newArrayList(goodsGroupPurchase)); |
| | | } |
| | | asyncMethodService.groupPurchaseScheduleTask(Lists.newArrayList(goodsGroupPurchase)); |
| | | } |
| | | |
| | | /** |
| | |
| | | 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)); |
| | | } |
| | | } |
| | | |
| | | /** |