Commit b30fc2802154694a03da29afe41336db9f20c919

Authored by YunaiV
1 parent 38d7d75f

商城:product:完善 ProductSpuDO 表

... ... @@ -20,7 +20,7 @@
20 20 <!-- <module>yudao-module-bpm</module>-->
21 21 <!-- <module>yudao-module-report</module>-->
22 22 <!-- <module>yudao-module-mp</module>-->
23   -<!-- <module>yudao-module-mall</module>-->
  23 + <module>yudao-module-mall</module>
24 24 <!-- 示例项目 -->
25 25 <module>yudao-example</module>
26 26 </modules>
... ...
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;
13 13 */
14 14 @Getter
15 15 @AllArgsConstructor
  16 +@Deprecated
16 17 public enum ProductSpuSpecTypeEnum implements IntArrayValuable {
17 18  
18 19 RECYCLE(1, "统一规格"),
... ...
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/group/ProductGroupBindDO.java deleted
1   -package cn.iocoder.yudao.module.product.dal.dataobject.group;
2   -
3   -import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
4   -import cn.iocoder.yudao.module.product.dal.dataobject.spu.ProductSpuDO;
5   -import com.baomidou.mybatisplus.annotation.KeySequence;
6   -import com.baomidou.mybatisplus.annotation.TableId;
7   -import com.baomidou.mybatisplus.annotation.TableName;
8   -import lombok.*;
9   -
10   -/**
11   - * 商品分组的绑定 DO
12   - *
13   - * @author 芋道源码
14   - */
15   -@TableName("product_group_bind")
16   -@KeySequence("product_group_bind_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
17   -@Data
18   -@EqualsAndHashCode(callSuper = true)
19   -@ToString(callSuper = true)
20   -@Builder
21   -@NoArgsConstructor
22   -@AllArgsConstructor
23   -public class ProductGroupBindDO extends BaseDO {
24   -
25   - /**
26   - * 编号,自增
27   - */
28   - @TableId
29   - private Long id;
30   - /**
31   - * 商品分组编号
32   - *
33   - * 关联 {@link ProductGroupDO#getId()}
34   - */
35   - private Long groupId;
36   - /**
37   - * 商品 SPU 编号
38   - *
39   - * 关联 {@link ProductSpuDO#getId()}
40   - */
41   - private Long spuId;
42   -
43   -}
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/group/ProductGroupDO.java deleted
1   -package cn.iocoder.yudao.module.product.dal.dataobject.group;
2   -
3   -import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
4   -import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
5   -import cn.iocoder.yudao.module.product.enums.group.ProductGroupStyleEnum;
6   -import com.baomidou.mybatisplus.annotation.KeySequence;
7   -import com.baomidou.mybatisplus.annotation.TableId;
8   -import com.baomidou.mybatisplus.annotation.TableName;
9   -import lombok.*;
10   -
11   -/**
12   - * 商品分组 DO
13   - *
14   - * @author 芋道源码
15   - */
16   -@TableName("product_group")
17   -@KeySequence("product_group_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
18   -@Data
19   -@EqualsAndHashCode(callSuper = true)
20   -@ToString(callSuper = true)
21   -@Builder
22   -@NoArgsConstructor
23   -@AllArgsConstructor
24   -public class ProductGroupDO extends BaseDO {
25   -
26   - /**
27   - * 商品分组编号,自增
28   - */
29   - @TableId
30   - private Long id;
31   - /**
32   - * 分组名称
33   - */
34   - private String name;
35   - /**
36   - * 状态
37   - *
38   - * 枚举 {@link CommonStatusEnum}
39   - */
40   - private Integer status;
41   - /**
42   - * 商品数量
43   - */
44   - private Integer count;
45   - /**
46   - * 排序
47   - */
48   - private Integer sort;
49   - /**
50   - * 风格,用于 APP 首页展示商品的样式
51   - *
52   - * 枚举 {@link ProductGroupStyleEnum}
53   - */
54   - private Integer style;
55   - /**
56   - * 是否默认
57   - *
58   - * true - 系统默认,不允许删除
59   - * false - 自定义,允许删除
60   - */
61   - private Boolean defaulted;
62   -
63   -}
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/search/ProductHotSearchDO.java deleted
1   -package cn.iocoder.yudao.module.product.dal.dataobject.search;
2   -
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.*;
8   -
9   -/**
10   - * 商品热搜关键字 DO
11   - *
12   - * @author 芋道源码
13   - */
14   -@TableName("product_hot_search")
15   -@KeySequence("product_hot_search_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
16   -@Data
17   -@EqualsAndHashCode(callSuper = true)
18   -@ToString(callSuper = true)
19   -@Builder
20   -@NoArgsConstructor
21   -@AllArgsConstructor
22   -public class ProductHotSearchDO extends BaseDO {
23   -
24   - /**
25   - * 编号,主键自增
26   - */
27   - @TableId
28   - private Long id;
29   - /**
30   - * 关键字
31   - */
32   - private String name;
33   - /**
34   - * 内容
35   - */
36   - private String content;
37   -
38   -}
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/shop/ShopDO.java deleted
1   -package cn.iocoder.yudao.module.product.dal.dataobject.shop;
2   -
3   -import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
4   -import com.baomidou.mybatisplus.annotation.KeySequence;
5   -import com.baomidou.mybatisplus.annotation.TableName;
6   -import lombok.*;
7   -
8   -// TODO 芋艿:待设计
9   -/**
10   - * 店铺 DO
11   - *
12   - * @author 芋道源码
13   - */
14   -@TableName("shop")
15   -@KeySequence("shop_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
16   -@Data
17   -@EqualsAndHashCode(callSuper = true)
18   -@ToString(callSuper = true)
19   -@Builder
20   -@NoArgsConstructor
21   -@AllArgsConstructor
22   -public class ShopDO extends BaseDO {
23   -
24   - private Long id;
25   -
26   -}
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;
3 3 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
4 4 import cn.iocoder.yudao.module.product.dal.dataobject.brand.ProductBrandDO;
5 5 import cn.iocoder.yudao.module.product.dal.dataobject.category.ProductCategoryDO;
  6 +import cn.iocoder.yudao.module.product.dal.dataobject.delivery.DeliveryTemplateDO;
6 7 import cn.iocoder.yudao.module.product.dal.dataobject.sku.ProductSkuDO;
7 8 import cn.iocoder.yudao.module.product.enums.spu.ProductSpuSpecTypeEnum;
8 9 import cn.iocoder.yudao.module.product.enums.spu.ProductSpuStatusEnum;
... ... @@ -43,18 +44,23 @@ public class ProductSpuDO extends BaseDO {
43 44 */
44 45 private String name;
45 46 /**
46   - * 商品编码
  47 + * 关键字
47 48 */
48   - private String code;
  49 + private String keyword;
49 50 /**
50   - * 促销语
  51 + * 商品简介
51 52 */
52   - private String sellPoint;
  53 + private String introduction;
53 54 /**
54 55 * 商品详情
55 56 */
56 57 private String description;
57 58 /**
  59 + * 商品条码(一维码)
  60 + */
  61 + private String barCode;
  62 +
  63 + /**
58 64 * 商品分类编号
59 65 *
60 66 * 关联 {@link ProductCategoryDO#getId()}
... ... @@ -67,20 +73,24 @@ public class ProductSpuDO extends BaseDO {
67 73 */
68 74 private Long brandId;
69 75 /**
70   - * 商品图片的数组
71   - *
72   - * 1. 第一张图片将作为商品主图,支持同时上传多张图;
73   - * 2. 建议使用尺寸 800x800 像素以上、大小不超过 1M 的正方形图片;
74   - * 3. 至少 1 张,最多上传 10 张
  76 + * 商品封面图
  77 + */
  78 + private String picUrl;
  79 + /**
  80 + * 商品轮播图
75 81 */
76 82 @TableField(typeHandler = JacksonTypeHandler.class)
77   - private List<String> picUrls;
  83 + private List<String> sliderPicUrls;
78 84 /**
79 85 * 商品视频
80 86 */
81 87 private String videoUrl;
82 88  
83 89 /**
  90 + * 单位名
  91 + */
  92 + private String unitName;
  93 + /**
84 94 * 排序字段
85 95 */
86 96 private Integer sort;
... ... @@ -96,37 +106,86 @@ public class ProductSpuDO extends BaseDO {
96 106 /**
97 107 * 规格类型
98 108 *
99   - * 枚举 {@link ProductSpuSpecTypeEnum}
  109 + * false - 单规格
  110 + * true - 多规格
100 111 */
101   - private Integer specType;
  112 + private Boolean specType;
102 113 /**
103   - * 最小价格,单位使用:分
  114 + * 商品价格,单位使用:分
104 115 *
105 116 * 基于其对应的 {@link ProductSkuDO#getPrice()} 最小值
106 117 */
107   - private Integer minPrice;
  118 + private Integer price;
108 119 /**
109   - * 最大价格,单位使用:分
  120 + * 市场价,单位使用:分
110 121 *
111   - * 基于其对应的 {@link ProductSkuDO#getPrice()} 最大值
  122 + * 基于其对应的 {@link ProductSkuDO#getMarketPrice()} 最大值 TODO 芋艿:待确定最大还是最小
112 123 */
113   - private Integer maxPrice;
  124 + private Integer marketPrice;
114 125 /**
115   - * 市场价,单位使用:分
  126 + * 成本价,单位使用:分
116 127 *
117   - * 基于其对应的 {@link ProductSkuDO#getMarketPrice()} 最大值
  128 + * 基于其对应的 {@link ProductSkuDO#getCostPrice()} 最大值 TODO 芋艿:待确定最大还是最小
118 129 */
119   - private Integer marketPrice;
  130 + private Integer costPrice;
120 131 /**
121   - * 总库存
  132 + * 库存
122 133 *
123 134 * 基于其对应的 {@link ProductSkuDO#getStock()} 求和
124 135 */
125   - private Integer totalStock;
  136 + private Integer stock;
  137 +
  138 + // ========== 物流相关字段 =========
  139 +
  140 + /**
  141 + * 物流配置模板编号
  142 + *
  143 + * 关联 {@link DeliveryTemplateDO#getId()}
  144 + */
  145 + private Long deliveryTemplateId;
  146 +
  147 + // ========== 营销相关字段 =========
  148 + /**
  149 + * 是否热卖推荐
  150 + */
  151 + private Boolean recommendHot;
126 152 /**
127   - * 是否展示库存
  153 + * 是否优惠推荐
128 154 */
129   - private Boolean showStock;
  155 + private Boolean recommendBenefit;
  156 + /**
  157 + * 是否精品推荐
  158 + */
  159 + private Boolean recommendBest;
  160 + /**
  161 + * 是否新品推荐
  162 + */
  163 + private Boolean recommendNew;
  164 + /**
  165 + * 是否优品推荐
  166 + */
  167 + private Boolean recommendGood;
  168 +
  169 + /**
  170 + * 赠送积分
  171 + */
  172 + private Integer giveIntegral;
  173 +
  174 + /**
  175 + * 分销类型
  176 + *
  177 + * false - 默认
  178 + * true - 自行设置
  179 + */
  180 + private Boolean subCommissionType;
  181 +
  182 + /**
  183 + * 活动展示顺序
  184 + *
  185 + * 对应 PromotionTypeEnum 枚举
  186 + */
  187 + @TableField(typeHandler = JacksonTypeHandler.class)
  188 + private List<Integer> activityOrders;
130 189  
131 190 // ========== 统计相关字段 =========
132 191  
... ... @@ -139,74 +198,8 @@ public class ProductSpuDO extends BaseDO {
139 198 */
140 199 private Integer virtualSalesCount;
141 200 /**
142   - * 商品点击量
  201 + * 浏览量
143 202 */
144   - private Integer clickCount;
145   -
146   - // ========== 物流相关字段 =========
147   -
148   - // TODO 芋艿:稍后完善物流的字段
149   -// /**
150   -// * 配送方式
151   -// *
152   -// * 枚举 {@link DeliveryModeEnum}
153   -// */
154   -// private Integer deliveryMode;
155   -// /**
156   -// * 配置模板编号
157   -// *
158   -// * 关联 {@link DeliveryTemplateDO#getId()}
159   -// */
160   -// private Long deliveryTemplateId;
161   -
162   - // TODO ========== 待定字段:yv =========
163   - // TODO vip_price 会员价格
164   - // TODO postage 邮费
165   - // TODO is_postage 是否包邮
166   - // TODO unit_name 单位
167   - // TODO is_new 商户是否代理
168   - // TODO give_integral 获得积分
169   - // TODO is_integral 是开启积分兑换
170   - // TODO integral 所需积分
171   - // TODO is_seckill 秒杀状态
172   - // TODO is_bargain 砍价状态
173   - // TODO code_path 产品二维码地址
174   - // TODO is_sub 是否分佣
175   -
176   - // TODO ↓↓ 芋艿 ↓↓ 看起来走分组更合适?
177   - // TODO is_hot 是否热卖
178   - // TODO is_benefit 是否优惠
179   - // TODO is_best 是否精品
180   - // TODO is_new 是否新品
181   - // TODO is_good 是否优品推荐
182   -
183   - // TODO ========== 待定字段:cf =========
184   - // TODO source_link 淘宝京东1688类型
185   - // TODO activity 活动显示排序 0=默认 1=秒 2=砍价 3=拼团
186   -
187   - // TODO ========== 待定字段:lf =========
188   -
189   - // TODO free_shipping_type:运费类型:1-包邮;2-统一运费;3-运费模板
190   - // TODO free_shipping:统一运费金额
191   - // TODO free_shipping_template_id:运费模板
192   - // TODO is_commission:分销佣金:1-开启;0-不开启;first_ratio second_ratio three_ratio
193   - // TODO is_share_bouns:区域股东分红:1-开启;0-不开启;region_ratio;shareholder_ratio
194   -
195   - // TODO is_new:新品推荐:1-是;0-否
196   - // TODO is_best:好物优选:1-是;0-否
197   - // TODO is_like:猜你喜欢:1-是;0-否
198   -
199   - // TODO is_team:是否开启拼团[0=否, 1=是]
200   - // TODO is_integral:积分抵扣:1-开启;0-不开启
201   - // TODO is_member:会员价:1-开启;0-不开启
202   - // TODO give_integral_type:赠送积分类型:0-不赠送;1-赠送固定积分;2-按比例赠送积分
203   - // TODO give_integral:赠送积分;
204   -
205   - // TODO poster:商品自定义海报
206   -
207   - // TODO ========== 待定字段:laoji =========
208   - // TODO productType 1 - 普通商品 2 - 预售商品;可能和 type 合并不错
209   - // TODO productUnit 商品单位
210   - // TODO extJson 扩展信息;例如说,预售商品的信息
  203 + private Integer browseCount;
211 204  
212 205 }
... ...
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 {
203 203 o.setClickCount(100);
204 204 o.setCode(code);
205 205 o.setDescription("测试商品");
206   - o.setPicUrls(new ArrayList<>());
  206 + o.setSliderPicUrls(new ArrayList<>());
207 207 o.setName("测试");
208 208 o.setSalesCount(100);
209 209 o.setSellPoint("超级加倍");
... ... @@ -251,7 +251,7 @@ public class ProductSpuServiceImplTest extends BaseDbUnitTest {
251 251 o.setClickCount(1);
252 252 o.setCode(generateNo());
253 253 o.setDescription("测试商品");
254   - o.setPicUrls(new ArrayList<>());
  254 + o.setSliderPicUrls(new ArrayList<>());
255 255 o.setName("测试");
256 256 o.setSalesCount(1);
257 257 o.setSellPoint("卖点");
... ...
yudao-server/pom.xml
... ... @@ -54,11 +54,11 @@
54 54 <!-- <version>${revision}</version>-->
55 55 <!-- </dependency>-->
56 56 <!-- 支付服务 -->
57   -<!-- <dependency>-->
58   -<!-- <groupId>cn.iocoder.boot</groupId>-->
59   -<!-- <artifactId>yudao-module-pay-biz</artifactId>-->
60   -<!-- <version>${revision}</version>-->
61   -<!-- </dependency>-->
  57 + <dependency>
  58 + <groupId>cn.iocoder.boot</groupId>
  59 + <artifactId>yudao-module-pay-biz</artifactId>
  60 + <version>${revision}</version>
  61 + </dependency>
62 62  
63 63 <!-- 微信公众号模块。默认注释,保证编译速度 -->
64 64 <!-- <dependency>-->
... ... @@ -68,21 +68,21 @@
68 68 <!-- </dependency>-->
69 69  
70 70 <!-- 商城相关模块。默认注释,保证编译速度 -->
71   -<!-- <dependency>-->
72   -<!-- <groupId>cn.iocoder.boot</groupId>-->
73   -<!-- <artifactId>yudao-module-promotion-biz</artifactId>-->
74   -<!-- <version>${revision}</version>-->
75   -<!-- </dependency>-->
76   -<!-- <dependency>-->
77   -<!-- <groupId>cn.iocoder.boot</groupId>-->
78   -<!-- <artifactId>yudao-module-product-biz</artifactId>-->
79   -<!-- <version>${revision}</version>-->
80   -<!-- </dependency>-->
81   -<!-- <dependency>-->
82   -<!-- <groupId>cn.iocoder.boot</groupId>-->
83   -<!-- <artifactId>yudao-module-trade-biz</artifactId>-->
84   -<!-- <version>${revision}</version>-->
85   -<!-- </dependency>-->
  71 + <dependency>
  72 + <groupId>cn.iocoder.boot</groupId>
  73 + <artifactId>yudao-module-promotion-biz</artifactId>
  74 + <version>${revision}</version>
  75 + </dependency>
  76 + <dependency>
  77 + <groupId>cn.iocoder.boot</groupId>
  78 + <artifactId>yudao-module-product-biz</artifactId>
  79 + <version>${revision}</version>
  80 + </dependency>
  81 + <dependency>
  82 + <groupId>cn.iocoder.boot</groupId>
  83 + <artifactId>yudao-module-trade-biz</artifactId>
  84 + <version>${revision}</version>
  85 + </dependency>
86 86  
87 87 <!-- spring boot 配置所需依赖 -->
88 88 <dependency>
... ...