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

This commit is contained in:
YunaiV 2022-05-18 19:35:25 +08:00
parent 04c4f4fcfc
commit 9dad9e555f
8 changed files with 57 additions and 33 deletions

View File

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

View File

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

View File

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

View File

@ -1,10 +1,13 @@
package cn.iocoder.yudao.module.product.dal.dataobject.propertyvalue; 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.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 * 规格值 DO
* *
@ -26,7 +29,9 @@ public class PropertyValueDO extends BaseDO {
@TableId @TableId
private Integer id; private Integer id;
/** /**
* 规格键id * 规格键 id
*
* TODO @franky加个 关联 {@link PropertyDO#getId()} 这样就能更好的知道
*/ */
private Long propertyId; private Long propertyId;
/** /**

View File

@ -1,9 +1,10 @@
package cn.iocoder.yudao.module.product.dal.dataobject.sku; 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 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 * 商品sku DO
@ -32,13 +33,14 @@ public class SkuDO extends BaseDO {
/** /**
* 规格值数组-json格式 [{propertId: , valueId: }, {propertId: , valueId: }] * 规格值数组-json格式 [{propertId: , valueId: }, {propertId: , valueId: }]
*/ */
// TODO franky可以定义一个内部的 Property 然后 List<Property>
private String properties; private String properties;
/** /**
* 销售价格单位 * 销售价格单位
*/ */
private Integer price; private Integer price;
/** /**
* 原价 单位 * 原价单位
*/ */
private Integer originalPrice; private Integer originalPrice;
/** /**

View File

@ -1,9 +1,10 @@
package cn.iocoder.yudao.module.product.dal.dataobject.spu; 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 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 * 商品spu DO
@ -44,6 +45,7 @@ public class SpuDO extends BaseDO {
/** /**
* 商品主图地址,* 数组以逗号分隔,最多上传15张 * 商品主图地址,* 数组以逗号分隔,最多上传15张
*/ */
// TODO frankyList<String>
private String picUrls; private String picUrls;
/** /**
* 排序字段 * 排序字段

View File

@ -1,19 +1,22 @@
package cn.iocoder.yudao.module.product.service.property; package cn.iocoder.yudao.module.product.service.property;
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.stereotype.Service;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import java.util.*; import javax.annotation.Resource;
import cn.iocoder.yudao.module.product.controller.admin.property.vo.*; import java.util.Collection;
import cn.iocoder.yudao.module.product.dal.dataobject.property.PropertyDO; import java.util.List;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.product.convert.property.PropertyConvert;
import cn.iocoder.yudao.module.product.dal.mysql.property.PropertyMapper;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; 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 实现类 * 规格名称 Service 实现类

View File

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