Эх сурвалжийг харах

code review 商品模块的表结构与模块划分

YunaiV 3 жил өмнө
parent
commit
9dad9e555f

+ 2 - 1
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/brand/BrandDO.java

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.*;
 
+// TODO @JeromeSoar:Product 前缀
 /**
  * 品牌 DO
  *
@@ -47,7 +48,7 @@ public class BrandDO extends BaseDO {
     private String description;
     /**
      * 状态
-     * <p>
+     *
      * 枚举 {@link CommonStatusEnum}
      */
     private Integer status;

+ 1 - 0
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/category/CategoryDO.java

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.*;
 
+// TODO @JeromeSoar:Product 前缀
 /**
  * 商品分类 DO
  *

+ 8 - 3
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/property/PropertyDO.java

@@ -1,10 +1,13 @@
 package cn.iocoder.yudao.module.product.dal.dataobject.property;
 
-import lombok.*;
-import java.util.*;
-import com.baomidou.mybatisplus.annotation.*;
+import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
+import com.baomidou.mybatisplus.annotation.KeySequence;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.*;
 
+// TODO @franky:每个表名,都加个 Product 前缀哈。
 /**
  * 规格名称 DO
  *
@@ -31,6 +34,8 @@ public class PropertyDO extends BaseDO {
     private String name;
     /**
      * 状态: 0 开启 ,1 禁用
+     *
+     * TODO @franky:加个 枚举 {@link CommonStatusEnum} ,这样就能更好的知道
      */
     private Integer status;
 

+ 9 - 4
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/propertyvalue/PropertyValueDO.java

@@ -1,10 +1,13 @@
 package cn.iocoder.yudao.module.product.dal.dataobject.propertyvalue;
 
-import lombok.*;
-import java.util.*;
-import com.baomidou.mybatisplus.annotation.*;
 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
+import cn.iocoder.yudao.module.product.dal.dataobject.property.PropertyDO;
+import com.baomidou.mybatisplus.annotation.KeySequence;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.*;
 
+// TODO @franky:包放到 property 中
 /**
  * 规格值 DO
  *
@@ -26,7 +29,9 @@ public class PropertyValueDO extends BaseDO {
     @TableId
     private Integer id;
     /**
-     * 规格键id
+     * 规格键 id
+     *
+     * TODO @franky:加个 关联 {@link PropertyDO#getId()} ,这样就能更好的知道
      */
     private Long propertyId;
     /**

+ 6 - 4
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/sku/SkuDO.java

@@ -1,9 +1,10 @@
 package cn.iocoder.yudao.module.product.dal.dataobject.sku;
 
-import lombok.*;
-import java.util.*;
-import com.baomidou.mybatisplus.annotation.*;
 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
+import com.baomidou.mybatisplus.annotation.KeySequence;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.*;
 
 /**
  * 商品sku DO
@@ -32,13 +33,14 @@ public class SkuDO extends BaseDO {
     /**
      * 规格值数组-json格式, [{propertId: , valueId: }, {propertId: , valueId: }]
      */
+    // TODO franky:可以定义一个内部的 Property 类,然后 List<Property>
     private String properties;
     /**
      * 销售价格,单位:分
      */
     private Integer price;
     /**
-     * 原价, 单位: 
+     * 原价,单位:分
      */
     private Integer originalPrice;
     /**

+ 5 - 3
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/spu/SpuDO.java

@@ -1,9 +1,10 @@
 package cn.iocoder.yudao.module.product.dal.dataobject.spu;
 
-import lombok.*;
-import java.util.*;
-import com.baomidou.mybatisplus.annotation.*;
 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
+import com.baomidou.mybatisplus.annotation.KeySequence;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.*;
 
 /**
  * 商品spu DO
@@ -44,6 +45,7 @@ public class SpuDO extends BaseDO {
     /**
      * 商品主图地址,* 数组,以逗号分隔,最多上传15张
      */
+    // TODO franky:List<String>
     private String picUrls;
     /**
      * 排序字段

+ 12 - 9
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/property/PropertyServiceImpl.java

@@ -1,19 +1,22 @@
 package cn.iocoder.yudao.module.product.service.property;
 
-import org.springframework.stereotype.Service;
-import javax.annotation.Resource;
-import org.springframework.validation.annotation.Validated;
-
-import java.util.*;
-import cn.iocoder.yudao.module.product.controller.admin.property.vo.*;
-import cn.iocoder.yudao.module.product.dal.dataobject.property.PropertyDO;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
-
+import cn.iocoder.yudao.module.product.controller.admin.property.vo.PropertyCreateReqVO;
+import cn.iocoder.yudao.module.product.controller.admin.property.vo.PropertyExportReqVO;
+import cn.iocoder.yudao.module.product.controller.admin.property.vo.PropertyPageReqVO;
+import cn.iocoder.yudao.module.product.controller.admin.property.vo.PropertyUpdateReqVO;
 import cn.iocoder.yudao.module.product.convert.property.PropertyConvert;
+import cn.iocoder.yudao.module.product.dal.dataobject.property.PropertyDO;
 import cn.iocoder.yudao.module.product.dal.mysql.property.PropertyMapper;
+import org.springframework.stereotype.Service;
+import org.springframework.validation.annotation.Validated;
+
+import javax.annotation.Resource;
+import java.util.Collection;
+import java.util.List;
 
 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
-import static cn.iocoder.yudao.module.product.enums.ErrorCodeConstants.*;
+import static cn.iocoder.yudao.module.product.enums.ErrorCodeConstants.PROPERTY_NOT_EXISTS;
 
 /**
  * 规格名称 Service 实现类

+ 14 - 9
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/propertyvalue/PropertyValueServiceImpl.java

@@ -1,19 +1,22 @@
 package cn.iocoder.yudao.module.product.service.propertyvalue;
 
-import org.springframework.stereotype.Service;
-import javax.annotation.Resource;
-import org.springframework.validation.annotation.Validated;
-
-import java.util.*;
-import cn.iocoder.yudao.module.product.controller.admin.propertyvalue.vo.*;
-import cn.iocoder.yudao.module.product.dal.dataobject.propertyvalue.PropertyValueDO;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
-
+import cn.iocoder.yudao.module.product.controller.admin.propertyvalue.vo.PropertyValueCreateReqVO;
+import cn.iocoder.yudao.module.product.controller.admin.propertyvalue.vo.PropertyValueExportReqVO;
+import cn.iocoder.yudao.module.product.controller.admin.propertyvalue.vo.PropertyValuePageReqVO;
+import cn.iocoder.yudao.module.product.controller.admin.propertyvalue.vo.PropertyValueUpdateReqVO;
 import cn.iocoder.yudao.module.product.convert.propertyvalue.PropertyValueConvert;
+import cn.iocoder.yudao.module.product.dal.dataobject.propertyvalue.PropertyValueDO;
 import cn.iocoder.yudao.module.product.dal.mysql.propertyvalue.PropertyValueMapper;
+import org.springframework.stereotype.Service;
+import org.springframework.validation.annotation.Validated;
+
+import javax.annotation.Resource;
+import java.util.Collection;
+import java.util.List;
 
 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
-import static cn.iocoder.yudao.module.product.enums.ErrorCodeConstants.*;
+import static cn.iocoder.yudao.module.product.enums.ErrorCodeConstants.PROPERTY_VALUE_NOT_EXISTS;
 
 /**
  * 规格值 Service 实现类
@@ -27,6 +30,8 @@ public class PropertyValueServiceImpl implements PropertyValueService {
     @Resource
     private PropertyValueMapper propertyValueMapper;
 
+    // TODO @franky:这个合并到 property 中。他们本身是在一起的哈。基本不存在只查询规格,而不查询规格值。
+
     @Override
     public Integer createPropertyValue(PropertyValueCreateReqVO createReqVO) {
         // 插入