From f6239d1029da4c51ba3b2cec790f7399a210a3df Mon Sep 17 00:00:00 2001
From: zepengdev <lzpsmith@outlook.com>
Date: Sat, 19 Jul 2025 16:13:27 +0800
Subject: [PATCH] feat: 优化商品和店铺

---
 oying-system/src/main/java/com/oying/modules/pc/product/domain/Product.java |   75 ++++++++++++++++++++++---------------
 1 files changed, 45 insertions(+), 30 deletions(-)

diff --git a/oying-system/src/main/java/com/oying/modules/pc/product/domain/Product.java b/oying-system/src/main/java/com/oying/modules/pc/product/domain/Product.java
index 9a7c28f..2c5e76f 100644
--- a/oying-system/src/main/java/com/oying/modules/pc/product/domain/Product.java
+++ b/oying-system/src/main/java/com/oying/modules/pc/product/domain/Product.java
@@ -1,27 +1,32 @@
 package com.oying.modules.pc.product.domain;
 
-import lombok.Data;
 import cn.hutool.core.bean.BeanUtil;
-import io.swagger.annotations.ApiModelProperty;
 import cn.hutool.core.bean.copier.CopyOptions;
-import java.sql.Timestamp;
-import java.math.BigDecimal;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.oying.base.BaseEntity;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
 import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotNull;
 import java.io.Serializable;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
+import java.math.BigDecimal;
+import java.util.List;
 
 /**
-* @description /
 * @author lzp
 * @date 2025-04-30
 **/
-@Data
+@Getter
+@Setter
 @TableName("pc_product")
-public class Product implements Serializable {
+public class Product extends BaseEntity implements Serializable {
 
-    @TableId(value = "product_id")
+    @TableId(value = "product_id", type = IdType.AUTO)
     @ApiModelProperty(value = "ID")
     private Long productId;
 
@@ -50,15 +55,19 @@
     private Long secondCategoryId;
 
     @NotNull
-    @ApiModelProperty(value = "状态:1000-草稿 1001上架 1002下架")
+    @ApiModelProperty(value = "状态")
     private Integer status;
+
+    @ApiModelProperty(value = "上架状态")
+    private Integer shelfStatus;
 
     @NotBlank
     @ApiModelProperty(value = "主图片")
-    private String mainImage;
+    private String mainImageId;
 
-    @ApiModelProperty(value = "详情图片")
-    private String detailImage;
+    @NotBlank
+    @ApiModelProperty(value = "主图地址")
+    private String mainImageUrl;
 
     @ApiModelProperty(value = "商品描述")
     private String description;
@@ -90,30 +99,36 @@
     @ApiModelProperty(value = "高度(单位:厘米)")
     private Integer height;
 
+    @ApiModelProperty(value = "是否支持退货")
+    private Integer returns;
+
+    @ApiModelProperty(value = "是否支持自提")
+    private Integer selfPickup;
+
+    @TableField(exist = false)
+    @ApiModelProperty(value = "销量")
+    private Integer totalUnitsSold = 0;
+
+    @TableField(exist = false)
+    @ApiModelProperty(value = "月销售量")
+    private Integer monthlyUnitsSold = 0;
+
     @NotNull
     @ApiModelProperty(value = "是否删除")
     private Integer deletedFlag;
 
     @NotNull
-    @ApiModelProperty(value = "创建人")
-    private Long createBy;
-
-    @NotNull
-    @ApiModelProperty(value = "创建时间")
-    private Timestamp createTime;
-
-    @NotNull
-    @ApiModelProperty(value = "修改人")
-    private Long updateBy;
-
-    @NotNull
-    @ApiModelProperty(value = "修改时间")
-    private Timestamp updateTime;
-
-    @NotNull
     @ApiModelProperty(value = "版本号")
     private Long version;
 
+    @TableField(exist = false)
+    @ApiModelProperty(value = "图片")
+    private List<ProductImage> images;
+
+    @TableField(exist = false)
+    @ApiModelProperty(value = "标签")
+    private List<ProductLabel> labels;
+
     public void copy(Product source){
         BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true));
     }

--
Gitblit v1.9.3