商品模块代码提交

This commit is contained in:
Tankaikai
2025-02-19 11:47:57 +08:00
parent a3e1e45a4e
commit 166250c654
9 changed files with 202 additions and 9 deletions

View File

@@ -1,6 +1,8 @@
package com.czg.product.dto;
import com.alibaba.fastjson2.annotation.JSONField;
import com.czg.validator.group.DefaultGroup;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import java.io.Serial;
@@ -9,11 +11,11 @@ import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* 商品SKU
*
* @author Tankaikai tankaikai@aliyun.com
* @since 1.0 2025-02-16
*/
* 商品SKU
*
* @author Tankaikai tankaikai@aliyun.com
* @since 1.0 2025-02-16
*/
@Data
public class ProdSkuDTO implements Serializable {
@@ -39,22 +41,27 @@ public class ProdSkuDTO implements Serializable {
/**
* 原价
*/
@NotNull(message = "原价不能为空", groups = DefaultGroup.class)
private BigDecimal originPrice;
/**
* 成本价
*/
@NotNull(message = "成本价不能为空", groups = DefaultGroup.class)
private BigDecimal costPrice;
/**
* 会员价
*/
@NotNull(message = "会员价不能为空", groups = DefaultGroup.class)
private BigDecimal memberPrice;
/**
* 售价
*/
@NotNull(message = "售价不能为空", groups = DefaultGroup.class)
private BigDecimal salePrice;
/**
* 起售数量
*/
@NotNull(message = "起售数量不能为空", groups = DefaultGroup.class)
private Integer suitNum;
/**
* 规格详情

View File

@@ -2,9 +2,12 @@ package com.czg.product.service;
import com.czg.product.entity.Product;
import com.czg.product.param.MiniHomeProductParam;
import com.czg.product.vo.HotsProductVo;
import com.czg.product.vo.MiniAppHomeProductVo;
import com.mybatisflex.core.service.IService;
import java.util.List;
/**
* 用户端商品Service
* @author tankaikai
@@ -13,4 +16,6 @@ import com.mybatisflex.core.service.IService;
public interface UProductService extends IService<Product> {
MiniAppHomeProductVo queryProductForMiniAppHome(MiniHomeProductParam param);
List<HotsProductVo> queryHotsProductList();
}

View File

@@ -0,0 +1,86 @@
package com.czg.product.vo;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalTime;
/**
* 热销商品
*
* @author tankaikai
* @since 2025-02-19 09:23
*/
@Data
public class HotsProductVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 商品id
*/
private Long id;
/**
* 商品名称
*/
private String name;
/**
* 原价
*/
private BigDecimal originPrice;
/**
* 销售价
*/
private BigDecimal salePrice;
/**
* 会员价
*/
private BigDecimal memberPrice;
/**
* 封面图url
*/
private String coverImg;
/**
* 单位名称
*/
private String unitName;
/**
* 是否售罄 1-是 0-否
*/
private Integer isSoldStock;
/**
* 库存数量
*/
private Integer stockNumber;
/**
* 商品类型 single-单规格商品 sku-多规格商品 package-套餐商品 weight-称重商品 coupon-团购券
*/
private String type;
/**
* 套餐类型 0-固定套餐 1-可选套餐
*/
private String groupType;
/**
* 是否可售时间 1-是 0-否
*/
private Integer isSaleTime;
/**
* 商品每周销售日 如Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday
*/
@JSONField(serialize = false)
private String days;
/**
* 可售卖起始时间
*/
@JSONField(serialize = false)
private LocalTime startTime;
/**
* 可售卖截止时间
*/
@JSONField(serialize = false)
private LocalTime endTime;
}