From 33a01e78bf99cd11a62236994aa1bb298ab09cea Mon Sep 17 00:00:00 2001 From: YunaiV Date: Thu, 4 Aug 2022 23:25:44 +0800 Subject: [PATCH] =?UTF-8?q?mall=EF=BC=9A=E4=BC=98=E5=8C=96=E5=95=86?= =?UTF-8?q?=E5=93=81=E8=A1=A8=E7=9A=84=E8=AE=BE=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ProductSpuSpecTypeEnum.java} | 19 ++- .../enums/spu/ProductSpuStatusEnum.java | 38 ++++++ .../dal/dataobject/brand/ProductBrandDO.java | 2 + .../category/ProductCategoryDO.java | 2 + .../dataobject/comment/ProductCommentDO.java | 51 +++++--- .../dal/dataobject/sku/ProductSkuDO.java | 14 +-- .../dal/dataobject/spu/ProductSpuDO.java | 118 +++++++++++++----- 7 files changed, 179 insertions(+), 65 deletions(-) rename yudao-module-mall/yudao-module-product-api/src/main/java/cn/iocoder/yudao/module/product/enums/{comment/ProductCommentEvaluateEnum.java => spu/ProductSpuSpecTypeEnum.java} (54%) create mode 100644 yudao-module-mall/yudao-module-product-api/src/main/java/cn/iocoder/yudao/module/product/enums/spu/ProductSpuStatusEnum.java diff --git a/yudao-module-mall/yudao-module-product-api/src/main/java/cn/iocoder/yudao/module/product/enums/comment/ProductCommentEvaluateEnum.java b/yudao-module-mall/yudao-module-product-api/src/main/java/cn/iocoder/yudao/module/product/enums/spu/ProductSpuSpecTypeEnum.java similarity index 54% rename from yudao-module-mall/yudao-module-product-api/src/main/java/cn/iocoder/yudao/module/product/enums/comment/ProductCommentEvaluateEnum.java rename to yudao-module-mall/yudao-module-product-api/src/main/java/cn/iocoder/yudao/module/product/enums/spu/ProductSpuSpecTypeEnum.java index 5a95f775c..30ece744d 100644 --- a/yudao-module-mall/yudao-module-product-api/src/main/java/cn/iocoder/yudao/module/product/enums/comment/ProductCommentEvaluateEnum.java +++ b/yudao-module-mall/yudao-module-product-api/src/main/java/cn/iocoder/yudao/module/product/enums/spu/ProductSpuSpecTypeEnum.java @@ -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; diff --git a/yudao-module-mall/yudao-module-product-api/src/main/java/cn/iocoder/yudao/module/product/enums/spu/ProductSpuStatusEnum.java b/yudao-module-mall/yudao-module-product-api/src/main/java/cn/iocoder/yudao/module/product/enums/spu/ProductSpuStatusEnum.java new file mode 100644 index 000000000..1757f1e49 --- /dev/null +++ b/yudao-module-mall/yudao-module-product-api/src/main/java/cn/iocoder/yudao/module/product/enums/spu/ProductSpuStatusEnum.java @@ -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; + } + +} diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/brand/ProductBrandDO.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/brand/ProductBrandDO.java index e2178d5c4..9775f36a5 100644 --- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/brand/ProductBrandDO.java +++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/brand/ProductBrandDO.java @@ -48,4 +48,6 @@ public class ProductBrandDO extends BaseDO { */ private Integer status; + // TODO 芋艿:firstLetter 首字母 + } diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/category/ProductCategoryDO.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/category/ProductCategoryDO.java index 1aade9b04..427bf3136 100644 --- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/category/ProductCategoryDO.java +++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/category/ProductCategoryDO.java @@ -70,4 +70,6 @@ public class ProductCategoryDO extends BaseDO { */ private Integer status; + // TODO 芋艿:is_recommend 是否首页推荐:1-是;0-否 + } diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/comment/ProductCommentDO.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/comment/ProductCommentDO.java index 88c57f579..30db12819 100644 --- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/comment/ProductCommentDO.java +++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/comment/ProductCommentDO.java @@ -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 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; /** * 有用的计数 diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/sku/ProductSkuDO.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/sku/ProductSkuDO.java index cb5c8bc6a..8984c71ce 100755 --- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/sku/ProductSkuDO.java +++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/sku/ProductSkuDO.java @@ -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 千克 */ diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/spu/ProductSpuDO.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/spu/ProductSpuDO.java index db68aedbc..34f7a9d02 100755 --- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/spu/ProductSpuDO.java +++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/spu/ProductSpuDO.java @@ -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 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_ratio;shareholder_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:商品自定义海报 + }