mall:优化商品表的设计

pull/2/head
YunaiV 2022-08-04 23:25:44 +08:00
parent c612487198
commit 33a01e78bf
7 changed files with 179 additions and 65 deletions

View File

@ -1,4 +1,4 @@
package cn.iocoder.yudao.module.product.enums.comment;
package cn.iocoder.yudao.module.product.enums.spu;
import cn.iocoder.yudao.framework.common.core.IntArrayValuable;
import lombok.AllArgsConstructor;
@ -7,26 +7,25 @@ import lombok.Getter;
import java.util.Arrays;
/**
*
* SPU
*
* @author
*/
@Getter
@AllArgsConstructor
public enum ProductCommentEvaluateEnum implements IntArrayValuable {
public enum ProductSpuSpecTypeEnum implements IntArrayValuable {
GOOD(1, "好评"),
BAD(2, "差评"),
MIDDLE(2, "中评"),;
RECYCLE(1, "统一规格"),
DISABLE(2, "多规格");
public static final int[] ARRAYS = Arrays.stream(values()).mapToInt(ProductCommentEvaluateEnum::getEvaluate).toArray();
public static final int[] ARRAYS = Arrays.stream(values()).mapToInt(ProductSpuSpecTypeEnum::getType).toArray();
/**
*
*
*/
private final Integer evaluate;
private final Integer type;
/**
*
*
*/
private final String name;

View File

@ -0,0 +1,38 @@
package cn.iocoder.yudao.module.product.enums.spu;
import cn.iocoder.yudao.framework.common.core.IntArrayValuable;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.Arrays;
/**
* SPU
*
* @author
*/
@Getter
@AllArgsConstructor
public enum ProductSpuStatusEnum implements IntArrayValuable {
RECYCLE(-1, "回收站"),
DISABLE(0, "下架"),
ENABLE(1, "上架"),;
public static final int[] ARRAYS = Arrays.stream(values()).mapToInt(ProductSpuStatusEnum::getStyle).toArray();
/**
*
*/
private final Integer style;
/**
*
*/
private final String name;
@Override
public int[] array() {
return ARRAYS;
}
}

View File

@ -48,4 +48,6 @@ public class ProductBrandDO extends BaseDO {
*/
private Integer status;
// TODO 芋艿firstLetter 首字母
}

View File

@ -70,4 +70,6 @@ public class ProductCategoryDO extends BaseDO {
*/
private Integer status;
// TODO 芋艿is_recommend 是否首页推荐1-是0-否
}

View File

@ -3,7 +3,6 @@ package cn.iocoder.yudao.module.product.dal.dataobject.comment;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import cn.iocoder.yudao.module.product.dal.dataobject.spu.ProductSpuDO;
import cn.iocoder.yudao.module.product.enums.comment.ProductCommentAuditStatusEnum;
import cn.iocoder.yudao.module.product.enums.comment.ProductCommentEvaluateEnum;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
@ -40,12 +39,24 @@ public class ProductCommentDO extends BaseDO {
* {@link ProductSpuDO#getId()}
*/
private Long spuId;
/**
*
*
* TradeOrderDO id
*/
private Long orderId;
/**
*
*
* OrderItemDO id
* TradeOrderItemDO id
*/
private Long tradeOrderItemId;
private Long orderItemId;
/**
*
*
* {@link ProductCommentAuditStatusEnum}
*/
private Integer auditStatus;
/**
*
@ -71,15 +82,29 @@ public class ProductCommentDO extends BaseDO {
@TableField(typeHandler = JacksonTypeHandler.class)
private List<String> picUrls;
/**
* 0-5
*/
private Integer score;
/**
*
*
*
* {@link ProductCommentEvaluateEnum}
* 1-5
*/
private Integer evaluate;
private Integer descriptionScore;
/**
*
*
* 1-5
*/
private Integer productScore;
/**
*
*
* 1-5
*/
private Integer serviceScore;
/**
*
*
* 1-5
*/
private Integer expressComment;
/**
*
@ -93,12 +118,6 @@ public class ProductCommentDO extends BaseDO {
*
*/
private Date replyTime;
/**
*
*
* {@link ProductCommentAuditStatusEnum}
*/
private Integer auditStatus;
/**
*

View File

@ -54,9 +54,9 @@ public class ProductSkuDO extends BaseDO {
*/
private Integer price;
/**
*
*
*/
private Integer originalPrice;
private Integer marketPrice;
/**
*
*/
@ -76,15 +76,9 @@ public class ProductSkuDO extends BaseDO {
*/
private Integer status;
/**
*
*
* SKU SKU
*
*/
private Integer stocks;
/**
*
*/
private Integer actualStocks;
private Integer stock;
/**
* kg
*/

View File

@ -1,12 +1,11 @@
package cn.iocoder.yudao.module.product.dal.dataobject.spu;
import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import cn.iocoder.yudao.module.product.dal.dataobject.brand.ProductBrandDO;
import cn.iocoder.yudao.module.product.dal.dataobject.category.ProductCategoryDO;
import cn.iocoder.yudao.module.product.dal.dataobject.delivery.DeliveryTemplateDO;
import cn.iocoder.yudao.module.product.dal.dataobject.sku.ProductSkuDO;
import cn.iocoder.yudao.module.product.enums.delivery.DeliveryModeEnum;
import cn.iocoder.yudao.module.product.enums.spu.ProductSpuSpecTypeEnum;
import cn.iocoder.yudao.module.product.enums.spu.ProductSpuStatusEnum;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
@ -21,7 +20,7 @@ import java.util.List;
*
* @author
*/
@TableName("product_spu")
@TableName(value = "product_spu", autoResultMap = true)
@KeySequence("product_spu_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ -50,6 +49,10 @@ public class ProductSpuDO extends BaseDO {
*
*/
private String name;
/**
*
*/
private String code;
/**
*
*/
@ -71,10 +74,19 @@ public class ProductSpuDO extends BaseDO {
*/
private Long brandId;
/**
*
*
*/
private String bannerUrl;
/**
*
*/
@TableField(typeHandler = JacksonTypeHandler.class)
private List<String> picUrls;
/**
*
*/
private String videoUrl;
/**
*
*/
@ -82,53 +94,83 @@ public class ProductSpuDO extends BaseDO {
/**
*
*
* {@link CommonStatusEnum}
* {@link ProductSpuStatusEnum}
*/
private Integer status;
// ========== SKU 相关字段 =========
/**
* 使
*
*
* {@link ProductSpuSpecTypeEnum}
*/
private Integer specType;
/**
* 使
*
* {@link ProductSkuDO#getPrice()}
*/
private Integer price;
private Integer minPrice;
/**
* 使
*
* {@link ProductSkuDO#getPrice()}
*/
private Integer maxPrice;
/**
* 使
*
* {@link ProductSkuDO#getMarketPrice()}
*/
private Integer marketPrice;
/**
*
*
* {@link ProductSkuDO#getActualStocks()}
* {@link ProductSkuDO#getStock()}
*/
private Integer totalStocks;
private Integer totalStock;
/**
*
*/
private Integer warnStock;
/**
*
*/
private Boolean showStock;
// ========== 统计相关字段 =========
/**
*
*
*/
private Integer soldCount;
private Integer salesCount;
/**
*
*
*/
private Integer visitCount;
private Integer virtualSalesCount;
/**
*
*/
private Integer clickCount;
// ========== 物流相关字段 =========
/**
*
*
* {@link DeliveryModeEnum}
*/
private Integer deliveryMode;
/**
*
*
* {@link DeliveryTemplateDO#getId()}
*/
private Long deliveryTemplateId;
// TODO 芋艿:稍后完善物流的字段
// /**
// * 配送方式
// *
// * 枚举 {@link DeliveryModeEnum}
// */
// private Integer deliveryMode;
// /**
// * 配置模板编号
// *
// * 关联 {@link DeliveryTemplateDO#getId()}
// */
// private Long deliveryTemplateId;
// TODO ========== 待定字段yv =========
// TODO bar_code 条形码
// TODO vip_price 会员价格
// TODO postage 邮费
// TODO is_postage 是否包邮
@ -139,7 +181,6 @@ public class ProductSpuDO extends BaseDO {
// TODO integral 所需积分
// TODO is_seckill 秒杀状态
// TODO is_bargain 砍价状态
// TODO ficti 虚拟销量
// TODO code_path 产品二维码地址
// TODO is_sub 是否分佣
@ -152,7 +193,26 @@ public class ProductSpuDO extends BaseDO {
// TODO ========== 待定字段cf =========
// TODO source_link 淘宝京东1688类型
// TODO video_link 主图视频链接
// TODO activity 活动显示排序 0=默认 1=秒 2=砍价 3=拼团
// TODO ========== 待定字段lf =========
// TODO free_shipping_type运费类型1-包邮2-统一运费3-运费模板
// TODO free_shipping统一运费金额
// TODO free_shipping_template_id运费模板
// TODO is_commission分销佣金1-开启0-不开启first_ratio second_ratio three_ratio
// TODO is_share_bouns区域股东分红1-开启0-不开启region_ratioshareholder_ratio
// TODO is_new新品推荐1-是0-否
// TODO is_best好物优选1-是0-否
// TODO is_like猜你喜欢1-是0-否
// TODO is_team是否开启拼团[0=否, 1=是]
// TODO is_integral积分抵扣1-开启0-不开启
// TODO is_member会员价1-开启0-不开启
// TODO give_integral_type赠送积分类型0-不赠送1-赠送固定积分2-按比例赠送积分
// TODO give_integral赠送积分
// TODO poster商品自定义海报
}