From b30fc2802154694a03da29afe41336db9f20c919 Mon Sep 17 00:00:00 2001 From: YunaiV Date: Wed, 19 Apr 2023 10:55:43 +0800 Subject: [PATCH] =?UTF-8?q?=E5=95=86=E5=9F=8E=EF=BC=9Aproduct=EF=BC=9A?= =?UTF-8?q?=E5=AE=8C=E5=96=84=20ProductSpuDO=20=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- .../enums/spu/ProductSpuSpecTypeEnum.java | 1 + .../dataobject/group/ProductGroupBindDO.java | 43 ----- .../dal/dataobject/group/ProductGroupDO.java | 63 ------ .../dataobject/search/ProductHotSearchDO.java | 38 ---- .../product/dal/dataobject/shop/ShopDO.java | 26 --- .../dal/dataobject/spu/ProductSpuDO.java | 179 +++++++++--------- .../spu/ProductSpuServiceImplTest.java | 4 +- yudao-server/pom.xml | 40 ++-- 9 files changed, 110 insertions(+), 286 deletions(-) delete mode 100644 yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/group/ProductGroupBindDO.java delete mode 100644 yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/group/ProductGroupDO.java delete mode 100644 yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/search/ProductHotSearchDO.java delete mode 100644 yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/shop/ShopDO.java diff --git a/pom.xml b/pom.xml index 2a4ec36e1..0cee86d68 100644 --- a/pom.xml +++ b/pom.xml @@ -20,7 +20,7 @@ - + yudao-module-mall yudao-example diff --git a/yudao-module-mall/yudao-module-product-api/src/main/java/cn/iocoder/yudao/module/product/enums/spu/ProductSpuSpecTypeEnum.java b/yudao-module-mall/yudao-module-product-api/src/main/java/cn/iocoder/yudao/module/product/enums/spu/ProductSpuSpecTypeEnum.java index fbc227b53..af455bece 100644 --- a/yudao-module-mall/yudao-module-product-api/src/main/java/cn/iocoder/yudao/module/product/enums/spu/ProductSpuSpecTypeEnum.java +++ b/yudao-module-mall/yudao-module-product-api/src/main/java/cn/iocoder/yudao/module/product/enums/spu/ProductSpuSpecTypeEnum.java @@ -13,6 +13,7 @@ import java.util.Arrays; */ @Getter @AllArgsConstructor +@Deprecated public enum ProductSpuSpecTypeEnum implements IntArrayValuable { RECYCLE(1, "统一规格"), diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/group/ProductGroupBindDO.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/group/ProductGroupBindDO.java deleted file mode 100644 index 2e3b63e59..000000000 --- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/group/ProductGroupBindDO.java +++ /dev/null @@ -1,43 +0,0 @@ -package cn.iocoder.yudao.module.product.dal.dataobject.group; - -import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; -import cn.iocoder.yudao.module.product.dal.dataobject.spu.ProductSpuDO; -import com.baomidou.mybatisplus.annotation.KeySequence; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.*; - -/** - * 商品分组的绑定 DO - * - * @author 芋道源码 - */ -@TableName("product_group_bind") -@KeySequence("product_group_bind_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class ProductGroupBindDO extends BaseDO { - - /** - * 编号,自增 - */ - @TableId - private Long id; - /** - * 商品分组编号 - * - * 关联 {@link ProductGroupDO#getId()} - */ - private Long groupId; - /** - * 商品 SPU 编号 - * - * 关联 {@link ProductSpuDO#getId()} - */ - private Long spuId; - -} diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/group/ProductGroupDO.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/group/ProductGroupDO.java deleted file mode 100644 index 605e8c38a..000000000 --- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/group/ProductGroupDO.java +++ /dev/null @@ -1,63 +0,0 @@ -package cn.iocoder.yudao.module.product.dal.dataobject.group; - -import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; -import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; -import cn.iocoder.yudao.module.product.enums.group.ProductGroupStyleEnum; -import com.baomidou.mybatisplus.annotation.KeySequence; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.*; - -/** - * 商品分组 DO - * - * @author 芋道源码 - */ -@TableName("product_group") -@KeySequence("product_group_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class ProductGroupDO extends BaseDO { - - /** - * 商品分组编号,自增 - */ - @TableId - private Long id; - /** - * 分组名称 - */ - private String name; - /** - * 状态 - * - * 枚举 {@link CommonStatusEnum} - */ - private Integer status; - /** - * 商品数量 - */ - private Integer count; - /** - * 排序 - */ - private Integer sort; - /** - * 风格,用于 APP 首页展示商品的样式 - * - * 枚举 {@link ProductGroupStyleEnum} - */ - private Integer style; - /** - * 是否默认 - * - * true - 系统默认,不允许删除 - * false - 自定义,允许删除 - */ - private Boolean defaulted; - -} diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/search/ProductHotSearchDO.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/search/ProductHotSearchDO.java deleted file mode 100644 index 3d5cf9101..000000000 --- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/search/ProductHotSearchDO.java +++ /dev/null @@ -1,38 +0,0 @@ -package cn.iocoder.yudao.module.product.dal.dataobject.search; - -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.*; - -/** - * 商品热搜关键字 DO - * - * @author 芋道源码 - */ -@TableName("product_hot_search") -@KeySequence("product_hot_search_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class ProductHotSearchDO extends BaseDO { - - /** - * 编号,主键自增 - */ - @TableId - private Long id; - /** - * 关键字 - */ - private String name; - /** - * 内容 - */ - private String content; - -} diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/shop/ShopDO.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/shop/ShopDO.java deleted file mode 100644 index 1c702da91..000000000 --- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/shop/ShopDO.java +++ /dev/null @@ -1,26 +0,0 @@ -package cn.iocoder.yudao.module.product.dal.dataobject.shop; - -import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; -import com.baomidou.mybatisplus.annotation.KeySequence; -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.*; - -// TODO 芋艿:待设计 -/** - * 店铺 DO - * - * @author 芋道源码 - */ -@TableName("shop") -@KeySequence("shop_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class ShopDO extends BaseDO { - - private Long id; - -} 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 93c47d4af..6084849c9 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 @@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.product.dal.dataobject.spu; 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.spu.ProductSpuSpecTypeEnum; import cn.iocoder.yudao.module.product.enums.spu.ProductSpuStatusEnum; @@ -43,17 +44,22 @@ public class ProductSpuDO extends BaseDO { */ private String name; /** - * 商品编码 + * 关键字 */ - private String code; + private String keyword; /** - * 促销语 + * 商品简介 */ - private String sellPoint; + private String introduction; /** * 商品详情 */ private String description; + /** + * 商品条码(一维码) + */ + private String barCode; + /** * 商品分类编号 * @@ -67,19 +73,23 @@ public class ProductSpuDO extends BaseDO { */ private Long brandId; /** - * 商品图片的数组 - * - * 1. 第一张图片将作为商品主图,支持同时上传多张图; - * 2. 建议使用尺寸 800x800 像素以上、大小不超过 1M 的正方形图片; - * 3. 至少 1 张,最多上传 10 张 + * 商品封面图 + */ + private String picUrl; + /** + * 商品轮播图 */ @TableField(typeHandler = JacksonTypeHandler.class) - private List picUrls; + private List sliderPicUrls; /** * 商品视频 */ private String videoUrl; + /** + * 单位名 + */ + private String unitName; /** * 排序字段 */ @@ -96,37 +106,86 @@ public class ProductSpuDO extends BaseDO { /** * 规格类型 * - * 枚举 {@link ProductSpuSpecTypeEnum} + * false - 单规格 + * true - 多规格 */ - private Integer specType; + private Boolean specType; /** - * 最小价格,单位使用:分 + * 商品价格,单位使用:分 * * 基于其对应的 {@link ProductSkuDO#getPrice()} 最小值 */ - private Integer minPrice; - /** - * 最大价格,单位使用:分 - * - * 基于其对应的 {@link ProductSkuDO#getPrice()} 最大值 - */ - private Integer maxPrice; + private Integer price; /** * 市场价,单位使用:分 * - * 基于其对应的 {@link ProductSkuDO#getMarketPrice()} 最大值 + * 基于其对应的 {@link ProductSkuDO#getMarketPrice()} 最大值 TODO 芋艿:待确定最大还是最小 */ private Integer marketPrice; /** - * 总库存 + * 成本价,单位使用:分 + * + * 基于其对应的 {@link ProductSkuDO#getCostPrice()} 最大值 TODO 芋艿:待确定最大还是最小 + */ + private Integer costPrice; + /** + * 库存 * * 基于其对应的 {@link ProductSkuDO#getStock()} 求和 */ - private Integer totalStock; + private Integer stock; + + // ========== 物流相关字段 ========= + /** - * 是否展示库存 + * 物流配置模板编号 + * + * 关联 {@link DeliveryTemplateDO#getId()} */ - private Boolean showStock; + private Long deliveryTemplateId; + + // ========== 营销相关字段 ========= + /** + * 是否热卖推荐 + */ + private Boolean recommendHot; + /** + * 是否优惠推荐 + */ + private Boolean recommendBenefit; + /** + * 是否精品推荐 + */ + private Boolean recommendBest; + /** + * 是否新品推荐 + */ + private Boolean recommendNew; + /** + * 是否优品推荐 + */ + private Boolean recommendGood; + + /** + * 赠送积分 + */ + private Integer giveIntegral; + + /** + * 分销类型 + * + * false - 默认 + * true - 自行设置 + */ + private Boolean subCommissionType; + + /** + * 活动展示顺序 + * + * 对应 PromotionTypeEnum 枚举 + */ + @TableField(typeHandler = JacksonTypeHandler.class) + private List activityOrders; // ========== 统计相关字段 ========= @@ -139,74 +198,8 @@ public class ProductSpuDO extends BaseDO { */ private Integer virtualSalesCount; /** - * 商品点击量 + * 浏览量 */ - private Integer clickCount; - - // ========== 物流相关字段 ========= - - // TODO 芋艿:稍后完善物流的字段 -// /** -// * 配送方式 -// * -// * 枚举 {@link DeliveryModeEnum} -// */ -// private Integer deliveryMode; -// /** -// * 配置模板编号 -// * -// * 关联 {@link DeliveryTemplateDO#getId()} -// */ -// private Long deliveryTemplateId; - - // TODO ========== 待定字段:yv ========= - // TODO vip_price 会员价格 - // TODO postage 邮费 - // TODO is_postage 是否包邮 - // TODO unit_name 单位 - // TODO is_new 商户是否代理 - // TODO give_integral 获得积分 - // TODO is_integral 是开启积分兑换 - // TODO integral 所需积分 - // TODO is_seckill 秒杀状态 - // TODO is_bargain 砍价状态 - // TODO code_path 产品二维码地址 - // TODO is_sub 是否分佣 - - // TODO ↓↓ 芋艿 ↓↓ 看起来走分组更合适? - // TODO is_hot 是否热卖 - // TODO is_benefit 是否优惠 - // TODO is_best 是否精品 - // TODO is_new 是否新品 - // TODO is_good 是否优品推荐 - - // TODO ========== 待定字段:cf ========= - // TODO source_link 淘宝京东1688类型 - // 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:商品自定义海报 - - // TODO ========== 待定字段:laoji ========= - // TODO productType 1 - 普通商品 2 - 预售商品;可能和 type 合并不错 - // TODO productUnit 商品单位 - // TODO extJson 扩展信息;例如说,预售商品的信息 + private Integer browseCount; } diff --git a/yudao-module-mall/yudao-module-product-biz/src/test/java/cn/iocoder/yudao/module/product/service/spu/ProductSpuServiceImplTest.java b/yudao-module-mall/yudao-module-product-biz/src/test/java/cn/iocoder/yudao/module/product/service/spu/ProductSpuServiceImplTest.java index 1e029570c..fbd50cad7 100755 --- a/yudao-module-mall/yudao-module-product-biz/src/test/java/cn/iocoder/yudao/module/product/service/spu/ProductSpuServiceImplTest.java +++ b/yudao-module-mall/yudao-module-product-biz/src/test/java/cn/iocoder/yudao/module/product/service/spu/ProductSpuServiceImplTest.java @@ -203,7 +203,7 @@ public class ProductSpuServiceImplTest extends BaseDbUnitTest { o.setClickCount(100); o.setCode(code); o.setDescription("测试商品"); - o.setPicUrls(new ArrayList<>()); + o.setSliderPicUrls(new ArrayList<>()); o.setName("测试"); o.setSalesCount(100); o.setSellPoint("超级加倍"); @@ -251,7 +251,7 @@ public class ProductSpuServiceImplTest extends BaseDbUnitTest { o.setClickCount(1); o.setCode(generateNo()); o.setDescription("测试商品"); - o.setPicUrls(new ArrayList<>()); + o.setSliderPicUrls(new ArrayList<>()); o.setName("测试"); o.setSalesCount(1); o.setSellPoint("卖点"); diff --git a/yudao-server/pom.xml b/yudao-server/pom.xml index 52de36fc0..30df27750 100644 --- a/yudao-server/pom.xml +++ b/yudao-server/pom.xml @@ -54,11 +54,11 @@ - - - - - + + cn.iocoder.boot + yudao-module-pay-biz + ${revision} + @@ -68,21 +68,21 @@ - - - - - - - - - - - - - - - + + cn.iocoder.boot + yudao-module-promotion-biz + ${revision} + + + cn.iocoder.boot + yudao-module-product-biz + ${revision} + + + cn.iocoder.boot + yudao-module-trade-biz + ${revision} +