Commit 9dad9e555fa14c5e6bdfb2e78d41d48789a1c9e8

Authored by YunaiV
1 parent 04c4f4fc

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

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; @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
6 import com.baomidou.mybatisplus.annotation.TableName; 6 import com.baomidou.mybatisplus.annotation.TableName;
7 import lombok.*; 7 import lombok.*;
8 8
  9 +// TODO @JeromeSoar:Product 前缀
9 /** 10 /**
10 * 品牌 DO 11 * 品牌 DO
11 * 12 *
@@ -47,7 +48,7 @@ public class BrandDO extends BaseDO { @@ -47,7 +48,7 @@ public class BrandDO extends BaseDO {
47 private String description; 48 private String description;
48 /** 49 /**
49 * 状态 50 * 状态
50 - * <p> 51 + *
51 * 枚举 {@link CommonStatusEnum} 52 * 枚举 {@link CommonStatusEnum}
52 */ 53 */
53 private Integer status; 54 private Integer status;
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; @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
6 import com.baomidou.mybatisplus.annotation.TableName; 6 import com.baomidou.mybatisplus.annotation.TableName;
7 import lombok.*; 7 import lombok.*;
8 8
  9 +// TODO @JeromeSoar:Product 前缀
9 /** 10 /**
10 * 商品分类 DO 11 * 商品分类 DO
11 * 12 *
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/property/PropertyDO.java
1 package cn.iocoder.yudao.module.product.dal.dataobject.property; 1 package cn.iocoder.yudao.module.product.dal.dataobject.property;
2 2
3 -import lombok.*;  
4 -import java.util.*;  
5 -import com.baomidou.mybatisplus.annotation.*; 3 +import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
6 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; 4 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
  5 +import com.baomidou.mybatisplus.annotation.KeySequence;
  6 +import com.baomidou.mybatisplus.annotation.TableId;
  7 +import com.baomidou.mybatisplus.annotation.TableName;
  8 +import lombok.*;
7 9
  10 +// TODO @franky:每个表名,都加个 Product 前缀哈。
8 /** 11 /**
9 * 规格名称 DO 12 * 规格名称 DO
10 * 13 *
@@ -31,6 +34,8 @@ public class PropertyDO extends BaseDO { @@ -31,6 +34,8 @@ public class PropertyDO extends BaseDO {
31 private String name; 34 private String name;
32 /** 35 /**
33 * 状态: 0 开启 ,1 禁用 36 * 状态: 0 开启 ,1 禁用
  37 + *
  38 + * TODO @franky:加个 枚举 {@link CommonStatusEnum} ,这样就能更好的知道
34 */ 39 */
35 private Integer status; 40 private Integer status;
36 41
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/propertyvalue/PropertyValueDO.java
1 package cn.iocoder.yudao.module.product.dal.dataobject.propertyvalue; 1 package cn.iocoder.yudao.module.product.dal.dataobject.propertyvalue;
2 2
3 -import lombok.*;  
4 -import java.util.*;  
5 -import com.baomidou.mybatisplus.annotation.*;  
6 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; 3 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
  4 +import cn.iocoder.yudao.module.product.dal.dataobject.property.PropertyDO;
  5 +import com.baomidou.mybatisplus.annotation.KeySequence;
  6 +import com.baomidou.mybatisplus.annotation.TableId;
  7 +import com.baomidou.mybatisplus.annotation.TableName;
  8 +import lombok.*;
7 9
  10 +// TODO @franky:包放到 property 中
8 /** 11 /**
9 * 规格值 DO 12 * 规格值 DO
10 * 13 *
@@ -26,7 +29,9 @@ public class PropertyValueDO extends BaseDO { @@ -26,7 +29,9 @@ public class PropertyValueDO extends BaseDO {
26 @TableId 29 @TableId
27 private Integer id; 30 private Integer id;
28 /** 31 /**
29 - * 规格键id 32 + * 规格键 id
  33 + *
  34 + * TODO @franky:加个 关联 {@link PropertyDO#getId()} ,这样就能更好的知道
30 */ 35 */
31 private Long propertyId; 36 private Long propertyId;
32 /** 37 /**
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/sku/SkuDO.java
1 package cn.iocoder.yudao.module.product.dal.dataobject.sku; 1 package cn.iocoder.yudao.module.product.dal.dataobject.sku;
2 2
3 -import lombok.*;  
4 -import java.util.*;  
5 -import com.baomidou.mybatisplus.annotation.*;  
6 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; 3 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
  4 +import com.baomidou.mybatisplus.annotation.KeySequence;
  5 +import com.baomidou.mybatisplus.annotation.TableId;
  6 +import com.baomidou.mybatisplus.annotation.TableName;
  7 +import lombok.*;
7 8
8 /** 9 /**
9 * 商品sku DO 10 * 商品sku DO
@@ -32,13 +33,14 @@ public class SkuDO extends BaseDO { @@ -32,13 +33,14 @@ public class SkuDO extends BaseDO {
32 /** 33 /**
33 * 规格值数组-json格式, [{propertId: , valueId: }, {propertId: , valueId: }] 34 * 规格值数组-json格式, [{propertId: , valueId: }, {propertId: , valueId: }]
34 */ 35 */
  36 + // TODO franky:可以定义一个内部的 Property 类,然后 List<Property>
35 private String properties; 37 private String properties;
36 /** 38 /**
37 * 销售价格,单位:分 39 * 销售价格,单位:分
38 */ 40 */
39 private Integer price; 41 private Integer price;
40 /** 42 /**
41 - * 原价, 单位: 分 43 + * 原价,单位:分
42 */ 44 */
43 private Integer originalPrice; 45 private Integer originalPrice;
44 /** 46 /**
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/spu/SpuDO.java
1 package cn.iocoder.yudao.module.product.dal.dataobject.spu; 1 package cn.iocoder.yudao.module.product.dal.dataobject.spu;
2 2
3 -import lombok.*;  
4 -import java.util.*;  
5 -import com.baomidou.mybatisplus.annotation.*;  
6 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; 3 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
  4 +import com.baomidou.mybatisplus.annotation.KeySequence;
  5 +import com.baomidou.mybatisplus.annotation.TableId;
  6 +import com.baomidou.mybatisplus.annotation.TableName;
  7 +import lombok.*;
7 8
8 /** 9 /**
9 * 商品spu DO 10 * 商品spu DO
@@ -44,6 +45,7 @@ public class SpuDO extends BaseDO { @@ -44,6 +45,7 @@ public class SpuDO extends BaseDO {
44 /** 45 /**
45 * 商品主图地址,* 数组,以逗号分隔,最多上传15张 46 * 商品主图地址,* 数组,以逗号分隔,最多上传15张
46 */ 47 */
  48 + // TODO franky:List<String>
47 private String picUrls; 49 private String picUrls;
48 /** 50 /**
49 * 排序字段 51 * 排序字段
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/property/PropertyServiceImpl.java
1 package cn.iocoder.yudao.module.product.service.property; 1 package cn.iocoder.yudao.module.product.service.property;
2 2
3 -import org.springframework.stereotype.Service;  
4 -import javax.annotation.Resource;  
5 -import org.springframework.validation.annotation.Validated;  
6 -  
7 -import java.util.*;  
8 -import cn.iocoder.yudao.module.product.controller.admin.property.vo.*;  
9 -import cn.iocoder.yudao.module.product.dal.dataobject.property.PropertyDO;  
10 import cn.iocoder.yudao.framework.common.pojo.PageResult; 3 import cn.iocoder.yudao.framework.common.pojo.PageResult;
11 - 4 +import cn.iocoder.yudao.module.product.controller.admin.property.vo.PropertyCreateReqVO;
  5 +import cn.iocoder.yudao.module.product.controller.admin.property.vo.PropertyExportReqVO;
  6 +import cn.iocoder.yudao.module.product.controller.admin.property.vo.PropertyPageReqVO;
  7 +import cn.iocoder.yudao.module.product.controller.admin.property.vo.PropertyUpdateReqVO;
12 import cn.iocoder.yudao.module.product.convert.property.PropertyConvert; 8 import cn.iocoder.yudao.module.product.convert.property.PropertyConvert;
  9 +import cn.iocoder.yudao.module.product.dal.dataobject.property.PropertyDO;
13 import cn.iocoder.yudao.module.product.dal.mysql.property.PropertyMapper; 10 import cn.iocoder.yudao.module.product.dal.mysql.property.PropertyMapper;
  11 +import org.springframework.stereotype.Service;
  12 +import org.springframework.validation.annotation.Validated;
  13 +
  14 +import javax.annotation.Resource;
  15 +import java.util.Collection;
  16 +import java.util.List;
14 17
15 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; 18 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
16 -import static cn.iocoder.yudao.module.product.enums.ErrorCodeConstants.*; 19 +import static cn.iocoder.yudao.module.product.enums.ErrorCodeConstants.PROPERTY_NOT_EXISTS;
17 20
18 /** 21 /**
19 * 规格名称 Service 实现类 22 * 规格名称 Service 实现类
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/propertyvalue/PropertyValueServiceImpl.java
1 package cn.iocoder.yudao.module.product.service.propertyvalue; 1 package cn.iocoder.yudao.module.product.service.propertyvalue;
2 2
3 -import org.springframework.stereotype.Service;  
4 -import javax.annotation.Resource;  
5 -import org.springframework.validation.annotation.Validated;  
6 -  
7 -import java.util.*;  
8 -import cn.iocoder.yudao.module.product.controller.admin.propertyvalue.vo.*;  
9 -import cn.iocoder.yudao.module.product.dal.dataobject.propertyvalue.PropertyValueDO;  
10 import cn.iocoder.yudao.framework.common.pojo.PageResult; 3 import cn.iocoder.yudao.framework.common.pojo.PageResult;
11 - 4 +import cn.iocoder.yudao.module.product.controller.admin.propertyvalue.vo.PropertyValueCreateReqVO;
  5 +import cn.iocoder.yudao.module.product.controller.admin.propertyvalue.vo.PropertyValueExportReqVO;
  6 +import cn.iocoder.yudao.module.product.controller.admin.propertyvalue.vo.PropertyValuePageReqVO;
  7 +import cn.iocoder.yudao.module.product.controller.admin.propertyvalue.vo.PropertyValueUpdateReqVO;
12 import cn.iocoder.yudao.module.product.convert.propertyvalue.PropertyValueConvert; 8 import cn.iocoder.yudao.module.product.convert.propertyvalue.PropertyValueConvert;
  9 +import cn.iocoder.yudao.module.product.dal.dataobject.propertyvalue.PropertyValueDO;
13 import cn.iocoder.yudao.module.product.dal.mysql.propertyvalue.PropertyValueMapper; 10 import cn.iocoder.yudao.module.product.dal.mysql.propertyvalue.PropertyValueMapper;
  11 +import org.springframework.stereotype.Service;
  12 +import org.springframework.validation.annotation.Validated;
  13 +
  14 +import javax.annotation.Resource;
  15 +import java.util.Collection;
  16 +import java.util.List;
14 17
15 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; 18 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
16 -import static cn.iocoder.yudao.module.product.enums.ErrorCodeConstants.*; 19 +import static cn.iocoder.yudao.module.product.enums.ErrorCodeConstants.PROPERTY_VALUE_NOT_EXISTS;
17 20
18 /** 21 /**
19 * 规格值 Service 实现类 22 * 规格值 Service 实现类
@@ -27,6 +30,8 @@ public class PropertyValueServiceImpl implements PropertyValueService { @@ -27,6 +30,8 @@ public class PropertyValueServiceImpl implements PropertyValueService {
27 @Resource 30 @Resource
28 private PropertyValueMapper propertyValueMapper; 31 private PropertyValueMapper propertyValueMapper;
29 32
  33 + // TODO @franky:这个合并到 property 中。他们本身是在一起的哈。基本不存在只查询规格,而不查询规格值。
  34 +
30 @Override 35 @Override
31 public Integer createPropertyValue(PropertyValueCreateReqVO createReqVO) { 36 public Integer createPropertyValue(PropertyValueCreateReqVO createReqVO) {
32 // 插入 37 // 插入