Commit 9dad9e555fa14c5e6bdfb2e78d41d48789a1c9e8
1 parent
04c4f4fc
code review 商品模块的表结构与模块划分
Showing
8 changed files
with
57 additions
and
33 deletions
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 | // 插入 |