Merge remote-tracking branch 'origin/prod'

This commit is contained in:
Tankaikai
2025-04-07 16:19:14 +08:00
7 changed files with 112 additions and 10 deletions

View File

@@ -72,6 +72,7 @@ public class ProductServiceImpl extends ServiceImpl<ProductMapper, Product> impl
private final ProductStockFlowService productStockFlowService;
private final ConsStockFlowService consStockFlowService;
private final SensitiveOperationService sensitiveOperationService;
private final ProdGroupRelationMapper prodGroupRelationMapper;
private QueryWrapper buildQueryWrapper(ProductDTO param) {
QueryWrapper queryWrapper = PageUtil.buildSortQueryWrapper();
@@ -426,6 +427,7 @@ public class ProductServiceImpl extends ServiceImpl<ProductMapper, Product> impl
.eq(Product::getId, id)
.eq(Product::getShopId, shopId)
.update();
prodGroupRelationMapper.deleteByQuery(query().eq(ProdGroupRelation::getProductId, id).eq(ProdGroup::getShopId, shopId));
}
@Override

View File

@@ -10,7 +10,9 @@ import com.czg.enums.DeleteEnum;
import com.czg.enums.StatusEnum;
import com.czg.enums.YesNoEnum;
import com.czg.exception.CzgException;
import com.czg.product.dto.GroupIsSaleTimeDTO;
import com.czg.product.dto.ProdGroupRelationDTO;
import com.czg.product.dto.ProdIsSaleTimeDTO;
import com.czg.product.dto.ProdSkuDTO;
import com.czg.product.entity.ProdGroup;
import com.czg.product.entity.ProdGroupRelation;
@@ -61,7 +63,7 @@ public class UProductServiceImpl extends ServiceImpl<ProductMapper, Product> imp
public List<ShopProductVo> queryHotsProductList(Long shopId) {
List<ShopProductVo> list = productMapper.selectHotsProductList(shopId);
list.forEach(item -> {
item.setIsSaleTime(calcIsSaleTime(item.getDays(), item.getStartTime(), item.getEndTime()));
item.setProdIsSaleTimeDTO(new ProdIsSaleTimeDTO(item.getDays(), item.getStartTime(), item.getEndTime()));
List<ProdSkuDTO> skuList = prodSkuMapper.selectListByQueryAs(query()
.eq(ProdSku::getProductId, item.getId())
.eq(ProdSku::getIsGrounding, YesNoEnum.YES.value())
@@ -80,7 +82,7 @@ public class UProductServiceImpl extends ServiceImpl<ProductMapper, Product> imp
.orderBy(ProdGroup::getSort, true), ShopGroupProductVo.class);
List<ShopProductVo> productAllList = productMapper.selectGroupProductList(shopId);
productAllList.forEach(item -> {
item.setIsSaleTime(calcIsSaleTime(item.getDays(), item.getStartTime(), item.getEndTime()));
item.setProdIsSaleTimeDTO(new ProdIsSaleTimeDTO(item.getDays(), item.getStartTime(), item.getEndTime()));
List<ProdSkuDTO> skuList = prodSkuMapper.selectListByQueryAs(query()
.eq(ProdSku::getProductId, item.getId())
.eq(ProdSku::getIsGrounding, YesNoEnum.YES.value())
@@ -107,9 +109,8 @@ public class UProductServiceImpl extends ServiceImpl<ProductMapper, Product> imp
productList.add(product);
}
}
Integer isSaleTime = calcIsSaleTime(group.getUseTime(), group.getSaleStartTime(), group.getSaleEndTime());
productList.parallelStream().forEach(product -> {
product.setIsSaleTime(isSaleTime);
product.setGroupIsSaleTimeDTO(new GroupIsSaleTimeDTO(group.getUseTime(), group.getSaleStartTime(), group.getSaleEndTime()));
});
// 1-价格从高到低; 2-价格从低到高; 3-销量由高到低4-销量由低到高;
@@ -198,7 +199,8 @@ public class UProductServiceImpl extends ServiceImpl<ProductMapper, Product> imp
* @param endTime 停售时间
* @return 是否可售时间 1-是0-否
*/
private Integer calcIsSaleTime(String days, LocalTime startTime, LocalTime endTime) {
@Override
public Integer calcIsSaleTime(String days, LocalTime startTime, LocalTime endTime) {
if (StrUtil.isBlank(days) || ObjUtil.isNull(startTime) || ObjUtil.isNull(endTime)) {
return YesNoEnum.NO.value();
}
@@ -219,7 +221,8 @@ public class UProductServiceImpl extends ServiceImpl<ProductMapper, Product> imp
* @param endTime 停售时间
* @return 是否可售时间 1-是0-否
*/
private Integer calcIsSaleTime(Integer useTime, LocalTime startTime, LocalTime endTime) {
@Override
public Integer calcIsSaleTime(Integer useTime, LocalTime startTime, LocalTime endTime) {
if (NumberUtil.nullToZero(useTime) == 0) {
return YesNoEnum.YES.value();
}