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-07 17:26:21 +08:00
commit 22da0ae2d5
3 changed files with 3 additions and 23 deletions

View File

@ -1,7 +1,5 @@
package com.czg.controller.user; package com.czg.controller.user;
import com.czg.product.dto.GroupIsSaleTimeDTO;
import com.czg.product.dto.ProdIsSaleTimeDTO;
import com.czg.product.param.ShopProductSkuParam; import com.czg.product.param.ShopProductSkuParam;
import com.czg.product.service.UProductService; import com.czg.product.service.UProductService;
import com.czg.product.vo.ShopGroupProductVo; import com.czg.product.vo.ShopGroupProductVo;
@ -43,8 +41,7 @@ public class UProductController {
Long shopId = StpKit.USER.getShopId(0L); Long shopId = StpKit.USER.getShopId(0L);
List<ShopProductVo> list = uProductService.queryHotsProductList(shopId); List<ShopProductVo> list = uProductService.queryHotsProductList(shopId);
list.forEach(prod -> { list.forEach(prod -> {
ProdIsSaleTimeDTO prodSaleTime = prod.getProdIsSaleTimeDTO() == null ? new ProdIsSaleTimeDTO() : prod.getProdIsSaleTimeDTO(); prod.setIsSaleTime(uProductService.calcIsSaleTime(prod.getDays(), prod.getStartTime(), prod.getEndTime()));
prod.setIsSaleTime(uProductService.calcIsSaleTime(prodSaleTime.getDays(), prodSaleTime.getStartTime(), prodSaleTime.getEndTime()));
}); });
uProductService.refreshProductStock(shopId, list); uProductService.refreshProductStock(shopId, list);
return CzgResult.success(list); return CzgResult.success(list);
@ -61,10 +58,8 @@ public class UProductController {
list.forEach(item -> { list.forEach(item -> {
uProductService.refreshProductStock(productStock, item.getProductList()); uProductService.refreshProductStock(productStock, item.getProductList());
item.getProductList().forEach(prod -> { item.getProductList().forEach(prod -> {
ProdIsSaleTimeDTO prodSaleTime = prod.getProdIsSaleTimeDTO() == null ? new ProdIsSaleTimeDTO() : prod.getProdIsSaleTimeDTO(); prod.setIsSaleTime(uProductService.calcIsSaleTime(prod.getDays(), prod.getStartTime(), prod.getEndTime()));
prod.setIsSaleTime(uProductService.calcIsSaleTime(prodSaleTime.getDays(), prodSaleTime.getStartTime(), prodSaleTime.getEndTime())); prod.setIsSaleTime(uProductService.calcIsSaleTime(item.getUseTime(), item.getSaleStartTime(), item.getSaleEndTime()));
GroupIsSaleTimeDTO groupSaleTime = prod.getGroupIsSaleTimeDTO() == null ? new GroupIsSaleTimeDTO() : prod.getGroupIsSaleTimeDTO();
prod.setIsSaleTime(uProductService.calcIsSaleTime(groupSaleTime.getUseTime(), groupSaleTime.getStartTime(), groupSaleTime.getEndTime()));
}); });
}); });
return CzgResult.success(list); return CzgResult.success(list);

View File

@ -115,10 +115,4 @@ public class ShopProductVo implements Serializable {
* 销量 * 销量
*/ */
private BigDecimal salesVolume; private BigDecimal salesVolume;
@JSONField(serialize = false)
private ProdIsSaleTimeDTO prodIsSaleTimeDTO;
@JSONField(serialize = false)
private GroupIsSaleTimeDTO groupIsSaleTimeDTO;
} }

View File

@ -63,7 +63,6 @@ public class UProductServiceImpl extends ServiceImpl<ProductMapper, Product> imp
public List<ShopProductVo> queryHotsProductList(Long shopId) { public List<ShopProductVo> queryHotsProductList(Long shopId) {
List<ShopProductVo> list = productMapper.selectHotsProductList(shopId); List<ShopProductVo> list = productMapper.selectHotsProductList(shopId);
list.forEach(item -> { list.forEach(item -> {
item.setProdIsSaleTimeDTO(new ProdIsSaleTimeDTO(item.getDays(), item.getStartTime(), item.getEndTime()));
List<ProdSkuDTO> skuList = prodSkuMapper.selectListByQueryAs(query() List<ProdSkuDTO> skuList = prodSkuMapper.selectListByQueryAs(query()
.eq(ProdSku::getProductId, item.getId()) .eq(ProdSku::getProductId, item.getId())
.eq(ProdSku::getIsGrounding, YesNoEnum.YES.value()) .eq(ProdSku::getIsGrounding, YesNoEnum.YES.value())
@ -82,7 +81,6 @@ public class UProductServiceImpl extends ServiceImpl<ProductMapper, Product> imp
.orderBy(ProdGroup::getSort, true), ShopGroupProductVo.class); .orderBy(ProdGroup::getSort, true), ShopGroupProductVo.class);
List<ShopProductVo> productAllList = productMapper.selectGroupProductList(shopId); List<ShopProductVo> productAllList = productMapper.selectGroupProductList(shopId);
productAllList.forEach(item -> { productAllList.forEach(item -> {
item.setProdIsSaleTimeDTO(new ProdIsSaleTimeDTO(item.getDays(), item.getStartTime(), item.getEndTime()));
List<ProdSkuDTO> skuList = prodSkuMapper.selectListByQueryAs(query() List<ProdSkuDTO> skuList = prodSkuMapper.selectListByQueryAs(query()
.eq(ProdSku::getProductId, item.getId()) .eq(ProdSku::getProductId, item.getId())
.eq(ProdSku::getIsGrounding, YesNoEnum.YES.value()) .eq(ProdSku::getIsGrounding, YesNoEnum.YES.value())
@ -109,13 +107,6 @@ public class UProductServiceImpl extends ServiceImpl<ProductMapper, Product> imp
productList.add(product); productList.add(product);
} }
} }
Integer useTime = group.getUseTime();
LocalTime saleStartTime = group.getSaleStartTime();
LocalTime saleEndTime = group.getSaleEndTime();
productList.parallelStream().forEach(product -> {
product.setGroupIsSaleTimeDTO(new GroupIsSaleTimeDTO(useTime, saleStartTime, saleEndTime));
});
// 1-价格从高到低; 2-价格从低到高; 3-销量由高到低4-销量由低到高 // 1-价格从高到低; 2-价格从低到高; 3-销量由高到低4-销量由低到高
if ("1".equals(group.getSortMode())) { if ("1".equals(group.getSortMode())) {
productList = productList.stream().sorted(Comparator.comparing(ShopProductVo::getSalePrice).reversed()).toList(); productList = productList.stream().sorted(Comparator.comparing(ShopProductVo::getSalePrice).reversed()).toList();