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}
+