Merge remote-tracking branch 'origin/prod'

# Conflicts:
#	cash-api/product-server/src/main/java/com/czg/controller/user/UProductController.java
This commit is contained in:
Tankaikai 2025-04-15 14:55:07 +08:00
commit 7c10b29b2a
1 changed files with 11 additions and 1 deletions

View File

@ -1,6 +1,8 @@
package com.czg.controller.user;
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;
@ -19,6 +21,7 @@ import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
@ -32,6 +35,7 @@ import java.util.Map;
@RequestMapping("/user/product")
public class UProductController {
private final UProductService uProductService;
private final ProdGroupService prodGroupService;
/**
* 小程序点餐-热销商品列表
@ -53,13 +57,19 @@ public class UProductController {
@GetMapping("/miniApp/group/query")
public CzgResult<List<ShopGroupProductVo>> queryGroupProductList() {
Long shopId = StpKit.USER.getShopId(0L);
ProdGroupDTO param = new ProdGroupDTO();
List<ProdGroupDTO> prodGroupList = prodGroupService.getProdGroupList(param);
Map<Long, ProdGroupDTO> groupMap = prodGroupList.stream().collect(Collectors.toMap(ProdGroupDTO::getId, i -> i));
List<ShopGroupProductVo> list = uProductService.queryGroupProductList(shopId);
Map<Long, Integer> 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);