刷新可售时间

This commit is contained in:
Tankaikai
2025-04-07 16:18:38 +08:00
parent a390f730c1
commit cf35e36fbc
7 changed files with 112 additions and 10 deletions

View File

@@ -0,0 +1,25 @@
package com.czg.product.dto;
import lombok.AllArgsConstructor;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.time.LocalTime;
/**
* 分组可售时间管控
* @author tankaikai
* @since 2025-04-07 16:04
*/
@Data
@AllArgsConstructor
public class GroupIsSaleTimeDTO implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
private Integer useTime;
private LocalTime startTime;
private LocalTime endTime;
}

View File

@@ -0,0 +1,24 @@
package com.czg.product.dto;
import lombok.AllArgsConstructor;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.time.LocalTime;
/**
* 商品可售时间管控
* @author tankaikai
* @since 2025-04-07 16:03
*/
@Data
@AllArgsConstructor
public class ProdIsSaleTimeDTO implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
private String days;
private LocalTime startTime;
private LocalTime endTime;
}

View File

@@ -8,11 +8,13 @@ import com.czg.product.vo.ShopProductSkuInfoVo;
import com.czg.product.vo.ShopProductVo;
import com.mybatisflex.core.service.IService;
import java.time.LocalTime;
import java.util.List;
import java.util.Map;
/**
* 用户端商品Service
*
* @author tankaikai
* @since 2025-02-17 14:57
*/
@@ -28,6 +30,7 @@ public interface UProductService extends IService<Product> {
/**
* 用户端获取分组商品
*
* @param shopId 店铺ID
* @return 分组商品
*/
@@ -35,6 +38,7 @@ public interface UProductService extends IService<Product> {
/**
* 用户端获取商品详情
*
* @param id 商品ID
* @return 商品详情
*/
@@ -42,6 +46,7 @@ public interface UProductService extends IService<Product> {
/**
* 用户端获取商品SKU详情
*
* @param param 商品SKU查询参数
* @return 商品详情
*/
@@ -49,21 +54,44 @@ public interface UProductService extends IService<Product> {
/**
* 刷新商品库存
*
* @param shopId 店铺id
*/
Map<Long, Integer> findShopProductStock(Long shopId);
/**
* 刷新商品库存
* @param shopId 店铺id
*
* @param shopId 店铺id
* @param productList 商品列表
*/
void refreshProductStock(Long shopId,List<ShopProductVo> productList);
void refreshProductStock(Long shopId, List<ShopProductVo> productList);
/**
* 刷新商品库存
*
* @param productStock 商品库存
* @param productList 商品列表
* @param productList 商品列表
*/
void refreshProductStock(Map<Long, Integer> productStock,List<ShopProductVo> productList);
void refreshProductStock(Map<Long, Integer> productStock, List<ShopProductVo> productList);
/**
* 分组计算是否在可售时间内
*
* @param useTime 开启时间管控 0:否1:是
* @param startTime 起售时间
* @param endTime 停售时间
* @return 是否可售时间 1-是0-否
*/
Integer calcIsSaleTime(Integer useTime, LocalTime startTime, LocalTime endTime);
/**
* 商品计算是否在可售时间内
*
* @param days 星期几,例如 "Monday,Tuesday"
* @param startTime 起售时间
* @param endTime 停售时间
* @return 是否可售时间 1-是0-否
*/
Integer calcIsSaleTime(String days, LocalTime startTime, LocalTime endTime);
}

View File

@@ -1,6 +1,8 @@
package com.czg.product.vo;
import com.alibaba.fastjson2.annotation.JSONField;
import com.czg.product.dto.GroupIsSaleTimeDTO;
import com.czg.product.dto.ProdIsSaleTimeDTO;
import com.czg.product.dto.ProdSkuDTO;
import lombok.Data;
@@ -113,4 +115,10 @@ public class ShopProductVo implements Serializable {
* 销量
*/
private BigDecimal salesVolume;
@JSONField(serialize = false)
private ProdIsSaleTimeDTO prodIsSaleTimeDTO;
@JSONField(serialize = false)
private GroupIsSaleTimeDTO groupIsSaleTimeDTO;
}