商品模块代码提交

This commit is contained in:
Tankaikai
2025-02-18 10:57:58 +08:00
parent 50f19eafbf
commit 81b326853c
9 changed files with 374 additions and 7 deletions

View File

@@ -16,7 +16,6 @@ import java.io.Serializable;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.util.List;
import java.util.Map;
/**
* 商品分组
@@ -100,9 +99,4 @@ public class ProdGroupDTO implements Serializable {
* 商品简要信息列表
*/
private List<ProductBriefDTO> productList;
/**
* 分组商品信息,用于小程序首页展示
*/
private List<Map<String,Object>> products;
}

View File

@@ -84,7 +84,7 @@ public class ProductDTO implements Serializable {
@NotBlank(message = "商品类型不能为空", groups = DefaultGroup.class)
private String type;
/**
* 0 固定套餐 1可选套餐
* 套餐类型 0 固定套餐 1可选套餐
*/
private Integer groupType;
/**

View File

@@ -0,0 +1,31 @@
package com.czg.product.param;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.List;
/**
* 小程序首页商品请求参数
* @author tankaikai
* @since 2025-02-17 15:02
*/
@Data
public class MiniHomeProductParam implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 商品分组ID
*/
private Long prodGroupId;
/**
* 商品分组ID
*/
@JSONField(serialize = false)
private List<Long> productIdList;
}

View File

@@ -0,0 +1,16 @@
package com.czg.product.service;
import com.czg.product.entity.Product;
import com.czg.product.param.MiniHomeProductParam;
import com.czg.product.vo.MiniAppHomeProductVo;
import com.mybatisflex.core.service.IService;
/**
* 用户端商品Service
* @author tankaikai
* @since 2025-02-17 14:57
*/
public interface UProductService extends IService<Product> {
MiniAppHomeProductVo queryProductForMiniAppHome(MiniHomeProductParam param);
}

View File

@@ -0,0 +1,22 @@
package com.czg.product.vo;
import com.czg.product.entity.ProdGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.List;
/**
* 分组商品信息,用于小程序首页展示
* @author tankaikai
* @since 2025-02-18 09:34
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class MiniAppHomeProdGroupVo extends ProdGroup {
/**
* 分组商品信息,用于小程序首页展示
*/
private List<MiniAppHomeProductInfoVo> products;
}

View File

@@ -0,0 +1,70 @@
package com.czg.product.vo;
import com.czg.product.dto.ProdSkuDTO;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;
/**
* 小程序首页商品信息VO
* @author tankaikai
* @since 2025-02-17 14:41
*/
@Data
public class MiniAppHomeProductInfoVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 商品id
*/
private Long id;
/**
* 商品名称
*/
private String name;
/**
* 商品封面图
*/
private String coverImg;
/**
* 商品图片集url
*/
private Object images;
/**
* 单位名称
*/
private String unitName;
/**
* 分类名称
*/
private String categoryName;
/**
* 商品类型 single-单规格商品 sku-多规格商品 package-套餐商品 weight-称重商品 coupon-团购券
*/
private String type;
/**
* 套餐类型 0 固定套餐 1可选套餐
*/
private Integer groupType;
/**
* 商品可选规格 {"口味":[{"甜度":["少甜","中甜","多甜"]},{"辣度":["微辣","重辣","变态辣"]},{"小料":["葱花","香菜","折耳根"]}]}
*/
private Object selectSpecInfo;
/**
* 最低售价
*/
private BigDecimal lowPrice;
/**
* 会员最低售价
*/
private BigDecimal lowMemberPrice;
/**
* 商品SKU列表
*/
private List<ProdSkuDTO> skuList;
}

View File

@@ -0,0 +1,31 @@
package com.czg.product.vo;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.List;
/**
* 小程序首页商品展示VO
* @author tankaikai
* @since 2025-02-17 14:41
*/
@Data
public class MiniAppHomeProductVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 热销商品
*/
List<MiniAppHomeProductInfoVo> hots;
/**
* 分组商品信息
*/
List<MiniAppHomeProdGroupVo> productInfo;
}