diff --git a/cash-api/product-server/src/main/java/com/czg/controller/user/UProductController.java b/cash-api/product-server/src/main/java/com/czg/controller/user/UProductController.java index 83e8dce4..d799f0b3 100644 --- a/cash-api/product-server/src/main/java/com/czg/controller/user/UProductController.java +++ b/cash-api/product-server/src/main/java/com/czg/controller/user/UProductController.java @@ -1,6 +1,9 @@ package com.czg.controller.user; +import com.czg.account.entity.ShopExtend; +import com.czg.product.dto.ProdGroupDTO; import com.czg.product.param.ShopProductSkuParam; +import com.czg.product.service.ProdGroupService; import com.czg.product.service.UProductService; import com.czg.product.vo.ShopGroupProductVo; import com.czg.product.vo.ShopProductInfoVo; @@ -17,8 +20,10 @@ import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; /** @@ -32,6 +37,7 @@ import java.util.Map; @RequestMapping("/user/product") public class UProductController { private final UProductService uProductService; + private final ProdGroupService prodGroupService; /** * 小程序点餐-热销商品列表 @@ -53,13 +59,19 @@ public class UProductController { @GetMapping("/miniApp/group/query") public CzgResult> queryGroupProductList() { Long shopId = StpKit.USER.getShopId(0L); + ProdGroupDTO param = new ProdGroupDTO(); + List prodGroupList = prodGroupService.getProdGroupList(param); + Map groupMap = prodGroupList.stream().collect(Collectors.toMap(ProdGroupDTO::getId, i -> i)); List list = uProductService.queryGroupProductList(shopId); Map productStock = uProductService.findShopProductStock(shopId); list.forEach(item -> { uProductService.refreshProductStock(productStock, item.getProductList()); + ProdGroupDTO config = groupMap.get(item.getId()); item.getProductList().forEach(prod -> { prod.setIsSaleTime(uProductService.calcIsSaleTime(prod.getDays(), prod.getStartTime(), prod.getEndTime())); - prod.setIsSaleTime(uProductService.calcIsSaleTime(item.getUseTime(), item.getSaleStartTime(), item.getSaleEndTime())); + if (config != null) { + prod.setIsSaleTime(uProductService.calcIsSaleTime(config.getUseTime(), config.getSaleStartTime(), config.getSaleEndTime())); + } }); }); return CzgResult.success(list);