Commit 2340f09c68cfd38ef7eedfa811169f289a12c05f

Authored by YunaiV
1 parent fa982316

mall:调整部分 SPU、SKU 的表设计

Showing 12 changed files with 88 additions and 119 deletions
sql/optional/mall/mall.sql
@@ -71,24 +71,6 @@ INSERT INTO system_menu(name, permission, type, sort, parent_id, path, icon, com @@ -71,24 +71,6 @@ INSERT INTO system_menu(name, permission, type, sort, parent_id, path, icon, com
71 VALUES ('规格导出', 'product:property:export', 3, 5, @parentId, '', '', '', 0); 71 VALUES ('规格导出', 'product:property:export', 3, 5, @parentId, '', '', '', 0);
72 72
73 73
74 --- 商品菜单 SQL  
75 -INSERT INTO system_menu(name, permission, type, sort, parent_id, path, icon, component, status)  
76 -VALUES ('商品管理', '', 2, 2, 2001, 'spu', '', 'mall/product/spu/index', 0);  
77 -  
78 --- 按钮父菜单ID  
79 -SELECT @parentId := LAST_INSERT_ID();  
80 -  
81 --- 按钮 SQL  
82 -INSERT INTO system_menu(name, permission, type, sort, parent_id, path, icon, component, status)  
83 -VALUES ('商品查询', 'product:spu:query', 3, 1, @parentId, '', '', '', 0);  
84 -INSERT INTO system_menu(name, permission, type, sort, parent_id, path, icon, component, status)  
85 -VALUES ('商品创建', 'product:spu:create', 3, 2, @parentId, '', '', '', 0);  
86 -INSERT INTO system_menu(name, permission, type, sort, parent_id, path, icon, component, status)  
87 -VALUES ('商品更新', 'product:spu:update', 3, 3, @parentId, '', '', '', 0);  
88 -INSERT INTO system_menu(name, permission, type, sort, parent_id, path, icon, component, status)  
89 -VALUES ('商品删除', 'product:spu:delete', 3, 4, @parentId, '', '', '', 0);  
90 -INSERT INTO system_menu(name, permission, type, sort, parent_id, path, icon, component, status)  
91 -VALUES ('商品导出', 'product:spu:export', 3, 5, @parentId, '', '', '', 0);  
92 74
93 75
94 -- 规格名称表 76 -- 规格名称表
@@ -127,54 +109,6 @@ create table product_property_value @@ -127,54 +109,6 @@ create table product_property_value
127 ) comment '规格值' character set utf8mb4 109 ) comment '规格值' character set utf8mb4
128 collate utf8mb4_general_ci; 110 collate utf8mb4_general_ci;
129 111
130 --- spu  
131 -drop table if exists product_spu;  
132 -create table product_spu  
133 -(  
134 - id bigint NOT NULL AUTO_INCREMENT COMMENT '主键',  
135 - name varchar(128) comment '商品名称',  
136 - sell_point varchar(128) not null comment '卖点',  
137 - description text not null comment '描述',  
138 - category_id bigint not null comment '分类id',  
139 - pic_urls varchar(1024) not null default '' comment '商品主图地址\n *\n * 数组,以逗号分隔\n 最多上传15张',  
140 - sort int not null default 0 comment '排序字段',  
141 - like_count int comment '点赞初始人数',  
142 - price int comment '价格 单位使用:分',  
143 - quantity int comment '库存数量',  
144 - status bit(1) comment '上下架状态: 0 上架(开启) 1 下架(禁用)',  
145 - create_time datetime default current_timestamp comment '创建时间',  
146 - update_time datetime default current_timestamp on update current_timestamp comment '更新时间',  
147 - creator varchar(64) comment '创建人',  
148 - updater varchar(64) comment '更新人',  
149 - tenant_id bigint NOT NULL DEFAULT '0' COMMENT '租户编号',  
150 - deleted bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',  
151 - primary key (id)  
152 -) comment '商品spu' character set utf8mb4  
153 - collate utf8mb4_general_ci;  
154 -  
155 -  
156 --- sku  
157 -drop table if exists product_sku;  
158 -create table product_sku  
159 -(  
160 - id bigint NOT NULL AUTO_INCREMENT COMMENT '主键',  
161 - spu_id bigint not null comment 'spu编号',  
162 - properties varchar(64) not null comment '规格值数组-json格式, [{propertId: , valueId: }, {propertId: , valueId: }]',  
163 - price int not null DEFAULT -1 comment '销售价格,单位:分',  
164 - original_price int not null DEFAULT -1 comment '原价, 单位: 分',  
165 - cost_price int not null DEFAULT -1 comment '成本价,单位: 分',  
166 - bar_code varchar(64) not null comment '条形码',  
167 - pic_url VARCHAR(128) not null comment '图片地址',  
168 - status tinyint comment '状态: 0-正常 1-禁用',  
169 - create_time datetime default current_timestamp comment '创建时间',  
170 - update_time datetime default current_timestamp on update current_timestamp comment '更新时间',  
171 - creator varchar(64) comment '创建人',  
172 - updater varchar(64) comment '更新人',  
173 - tenant_id bigint NOT NULL DEFAULT '0' COMMENT '租户编号',  
174 - deleted bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',  
175 - primary key (id)  
176 -) comment '商品sku' character set utf8mb4  
177 - collate utf8mb4_general_ci;  
178 112
179 113
180 ---Market-Banner管理SQL 114 ---Market-Banner管理SQL
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/ProductSkuController.java
@@ -6,7 +6,7 @@ import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; @@ -6,7 +6,7 @@ import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
6 import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; 6 import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog;
7 import cn.iocoder.yudao.module.product.controller.admin.sku.vo.*; 7 import cn.iocoder.yudao.module.product.controller.admin.sku.vo.*;
8 import cn.iocoder.yudao.module.product.convert.sku.ProductSkuConvert; 8 import cn.iocoder.yudao.module.product.convert.sku.ProductSkuConvert;
9 -import cn.iocoder.yudao.module.product.dal.dataobject.sku.ProductSkuDO; 9 +import cn.iocoder.yudao.module.product.dal.dataobject.spu.ProductSkuDO;
10 import cn.iocoder.yudao.module.product.service.sku.ProductSkuService; 10 import cn.iocoder.yudao.module.product.service.sku.ProductSkuService;
11 import io.swagger.annotations.Api; 11 import io.swagger.annotations.Api;
12 import io.swagger.annotations.ApiImplicitParam; 12 import io.swagger.annotations.ApiImplicitParam;
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/convert/sku/ProductSkuConvert.java
@@ -10,8 +10,7 @@ import org.mapstruct.Mapping; @@ -10,8 +10,7 @@ import org.mapstruct.Mapping;
10 import org.mapstruct.Named; 10 import org.mapstruct.Named;
11 import org.mapstruct.factory.Mappers; 11 import org.mapstruct.factory.Mappers;
12 import cn.iocoder.yudao.module.product.controller.admin.sku.vo.*; 12 import cn.iocoder.yudao.module.product.controller.admin.sku.vo.*;
13 -import cn.iocoder.yudao.module.product.dal.dataobject.sku.ProductSkuDO;  
14 -import org.springframework.util.StringUtils; 13 +import cn.iocoder.yudao.module.product.dal.dataobject.spu.ProductSkuDO;
15 14
16 /** 15 /**
17 * 商品sku Convert 16 * 商品sku Convert
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/convert/spu/ProductSpuConvert.java
1 package cn.iocoder.yudao.module.product.convert.spu; 1 package cn.iocoder.yudao.module.product.convert.spu;
2 2
3 -import java.util.*;  
4 -  
5 import cn.iocoder.yudao.framework.common.pojo.PageResult; 3 import cn.iocoder.yudao.framework.common.pojo.PageResult;
6 - 4 +import cn.iocoder.yudao.module.product.controller.admin.spu.vo.*;
7 import cn.iocoder.yudao.module.product.controller.app.spu.vo.AppSpuPageReqVO; 5 import cn.iocoder.yudao.module.product.controller.app.spu.vo.AppSpuPageReqVO;
8 import cn.iocoder.yudao.module.product.controller.app.spu.vo.AppSpuPageRespVO; 6 import cn.iocoder.yudao.module.product.controller.app.spu.vo.AppSpuPageRespVO;
  7 +import cn.iocoder.yudao.module.product.dal.dataobject.spu.ProductSpuDO;
9 import org.mapstruct.Mapper; 8 import org.mapstruct.Mapper;
10 -import org.mapstruct.Mapping;  
11 -import org.mapstruct.Named;  
12 import org.mapstruct.factory.Mappers; 9 import org.mapstruct.factory.Mappers;
13 -import cn.iocoder.yudao.module.product.controller.admin.spu.vo.*;  
14 -import cn.iocoder.yudao.module.product.dal.dataobject.spu.ProductSpuDO;  
15 -import org.springframework.util.StringUtils; 10 +
  11 +import java.util.List;
16 12
17 /** 13 /**
18 * 商品spu Convert 14 * 商品spu Convert
@@ -24,18 +20,12 @@ public interface ProductSpuConvert { @@ -24,18 +20,12 @@ public interface ProductSpuConvert {
24 20
25 ProductSpuConvert INSTANCE = Mappers.getMapper(ProductSpuConvert.class); 21 ProductSpuConvert INSTANCE = Mappers.getMapper(ProductSpuConvert.class);
26 22
27 - @Mapping(source = "picUrls", target = "picUrls", qualifiedByName = "translatePicUrlsFromStringList")  
28 ProductSpuDO convert(ProductSpuCreateReqVO bean); 23 ProductSpuDO convert(ProductSpuCreateReqVO bean);
29 24
30 - @Mapping(source = "picUrls", target = "picUrls", qualifiedByName = "translatePicUrlsFromStringList")  
31 ProductSpuDO convert(SpuUpdateReqVO bean); 25 ProductSpuDO convert(SpuUpdateReqVO bean);
32 26
33 - @Mapping(source = "picUrls", target = "picUrls", qualifiedByName = "tokenizeToStringArray")  
34 SpuRespVO convert(ProductSpuDO bean); 27 SpuRespVO convert(ProductSpuDO bean);
35 28
36 - @Mapping(source = "picUrls", target = "picUrls", qualifiedByName = "tokenizeToStringArray")  
37 - SpuExcelVO convertToExcelVO(ProductSpuDO bean);  
38 -  
39 List<SpuRespVO> convertList(List<ProductSpuDO> list); 29 List<SpuRespVO> convertList(List<ProductSpuDO> list);
40 30
41 PageResult<SpuRespVO> convertPage(PageResult<ProductSpuDO> page); 31 PageResult<SpuRespVO> convertPage(PageResult<ProductSpuDO> page);
@@ -44,16 +34,6 @@ public interface ProductSpuConvert { @@ -44,16 +34,6 @@ public interface ProductSpuConvert {
44 34
45 SpuPageReqVO convert(AppSpuPageReqVO bean); 35 SpuPageReqVO convert(AppSpuPageReqVO bean);
46 36
47 - @Mapping(source = "picUrls", target = "picUrls", qualifiedByName = "tokenizeToStringArray")  
48 AppSpuPageRespVO convertAppResp(ProductSpuDO list); 37 AppSpuPageRespVO convertAppResp(ProductSpuDO list);
49 38
50 - @Named("tokenizeToStringArray")  
51 - default List<String> translatePicUrlsArrayFromString(String picUrls) {  
52 - return Arrays.asList(StringUtils.tokenizeToStringArray(picUrls, ","));  
53 - }  
54 -  
55 - @Named("translatePicUrlsFromStringList")  
56 - default String translatePicUrlsFromList(List<String> picUrls) {  
57 - return StringUtils.collectionToCommaDelimitedString(picUrls);  
58 - }  
59 } 39 }
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/group/ProductGroupDO.java 0 → 100644
  1 +package cn.iocoder.yudao.module.product.dal.dataobject.group;
  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_group")
  15 +@KeySequence("product_group_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 ProductGroupDO extends BaseDO {
  23 +
  24 + /**
  25 + * 商品分组编号,自增
  26 + */
  27 + @TableId
  28 + private Long id;
  29 +
  30 + // TODO 芋艿:字段补全
  31 +
  32 +}
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/sku/ProductSkuDO.java renamed to yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/spu/ProductSkuDO.java
1 -package cn.iocoder.yudao.module.product.dal.dataobject.sku; 1 +package cn.iocoder.yudao.module.product.dal.dataobject.spu;
2 2
3 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; 3 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
4 import com.baomidou.mybatisplus.annotation.KeySequence; 4 import com.baomidou.mybatisplus.annotation.KeySequence;
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/spu/ProductSpuDO.java
1 package cn.iocoder.yudao.module.product.dal.dataobject.spu; 1 package cn.iocoder.yudao.module.product.dal.dataobject.spu;
2 2
  3 +import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
3 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; 4 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
  5 +import cn.iocoder.yudao.module.product.dal.dataobject.brand.ProductBrandDO;
  6 +import cn.iocoder.yudao.module.product.dal.dataobject.category.ProductCategoryDO;
  7 +import cn.iocoder.yudao.module.product.dal.dataobject.group.ProductGroupDO;
4 import com.baomidou.mybatisplus.annotation.KeySequence; 8 import com.baomidou.mybatisplus.annotation.KeySequence;
  9 +import com.baomidou.mybatisplus.annotation.TableField;
5 import com.baomidou.mybatisplus.annotation.TableId; 10 import com.baomidou.mybatisplus.annotation.TableId;
6 import com.baomidou.mybatisplus.annotation.TableName; 11 import com.baomidou.mybatisplus.annotation.TableName;
  12 +import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
7 import lombok.*; 13 import lombok.*;
8 14
  15 +import java.util.List;
  16 +
9 /** 17 /**
10 - * 商品spu DO 18 + * 商品 SPU DO
11 * 19 *
12 * @author 芋道源码 20 * @author 芋道源码
13 */ 21 */
@@ -22,7 +30,7 @@ import lombok.*; @@ -22,7 +30,7 @@ import lombok.*;
22 public class ProductSpuDO extends BaseDO { 30 public class ProductSpuDO extends BaseDO {
23 31
24 /** 32 /**
25 - * 主键 33 + * 商品 SPU 编号,自增
26 */ 34 */
27 @TableId 35 @TableId
28 private Long id; 36 private Long id;
@@ -31,41 +39,62 @@ public class ProductSpuDO extends BaseDO { @@ -31,41 +39,62 @@ public class ProductSpuDO extends BaseDO {
31 */ 39 */
32 private String name; 40 private String name;
33 /** 41 /**
34 - * 卖点 42 + * 商品卖点
35 */ 43 */
36 private String sellPoint; 44 private String sellPoint;
37 /** 45 /**
38 - * 描述 46 + * 商品详情
39 */ 47 */
40 private String description; 48 private String description;
41 /** 49 /**
42 - * 分类id 50 + * 商品分类编号
  51 + *
  52 + * 关联 {@link ProductCategoryDO#getId()}
43 */ 53 */
44 private Long categoryId; 54 private Long categoryId;
45 /** 55 /**
46 - * 商品主图地址,* 数组,以逗号分隔,最多上传15张 56 + * 商品品牌编号
  57 + *
  58 + * 关联 {@link ProductBrandDO#getId()}
  59 + */
  60 + private Long brandId;
  61 + /**
  62 + * 商品分组编号数组
  63 + *
  64 + * 关联 {@link ProductGroupDO#getId()}
  65 + */
  66 + @TableField(typeHandler = JacksonTypeHandler.class)
  67 + private List<Long> groupIds;
  68 + /**
  69 + * 商品图片地址数组
47 */ 70 */
48 - // TODO franky:List<String>。可以参考别的模块,怎么处理这种类型的哈  
49 - private String picUrls; 71 + @TableField(typeHandler = JacksonTypeHandler.class)
  72 + private List<String> picUrls;
50 /** 73 /**
51 * 排序字段 74 * 排序字段
52 */ 75 */
53 private Integer sort; 76 private Integer sort;
54 /** 77 /**
55 - * 点赞初始人数 78 + * 商品状态
  79 + *
  80 + * 枚举 {@link CommonStatusEnum}
56 */ 81 */
57 - private Integer likeCount; 82 + private Integer status;
58 /** 83 /**
59 - * 价格 单位使用:分 84 + * 价格,单位使用:分
  85 + *
  86 + * 基于其对应的 {@link ProductSkuDO#getPrice()} 最小值
60 */ 87 */
61 private Integer price; 88 private Integer price;
62 /** 89 /**
63 * 库存数量 90 * 库存数量
  91 + *
  92 + * 基于其对应的 {@link ProductSkuDO#getPrice()} 求和
64 */ 93 */
65 private Integer quantity; 94 private Integer quantity;
66 - /**  
67 - * 上下架状态: 0 上架(开启) 1 下架(禁用)  
68 - */  
69 - private Boolean status; 95 +
  96 +
  97 + // TODO 芋艿:配送方式:商家配送、商家自提
  98 + // TODO 芋艿:运费设置;如果选择了 “商家配送” 配送方式,则选择「运费设置」编号
70 99
71 } 100 }
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/mysql/sku/ProductSkuMapper.java
@@ -5,7 +5,7 @@ import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; @@ -5,7 +5,7 @@ import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
5 import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; 5 import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
6 import cn.iocoder.yudao.module.product.controller.admin.sku.vo.ProductSkuExportReqVO; 6 import cn.iocoder.yudao.module.product.controller.admin.sku.vo.ProductSkuExportReqVO;
7 import cn.iocoder.yudao.module.product.controller.admin.sku.vo.ProductSkuPageReqVO; 7 import cn.iocoder.yudao.module.product.controller.admin.sku.vo.ProductSkuPageReqVO;
8 -import cn.iocoder.yudao.module.product.dal.dataobject.sku.ProductSkuDO; 8 +import cn.iocoder.yudao.module.product.dal.dataobject.spu.ProductSkuDO;
9 import org.apache.ibatis.annotations.Mapper; 9 import org.apache.ibatis.annotations.Mapper;
10 10
11 import java.util.List; 11 import java.util.List;
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/sku/ProductSkuService.java
@@ -5,7 +5,7 @@ import cn.iocoder.yudao.module.product.controller.admin.sku.vo.ProductSkuCreateR @@ -5,7 +5,7 @@ import cn.iocoder.yudao.module.product.controller.admin.sku.vo.ProductSkuCreateR
5 import cn.iocoder.yudao.module.product.controller.admin.sku.vo.ProductSkuExportReqVO; 5 import cn.iocoder.yudao.module.product.controller.admin.sku.vo.ProductSkuExportReqVO;
6 import cn.iocoder.yudao.module.product.controller.admin.sku.vo.ProductSkuPageReqVO; 6 import cn.iocoder.yudao.module.product.controller.admin.sku.vo.ProductSkuPageReqVO;
7 import cn.iocoder.yudao.module.product.controller.admin.sku.vo.ProductSkuUpdateReqVO; 7 import cn.iocoder.yudao.module.product.controller.admin.sku.vo.ProductSkuUpdateReqVO;
8 -import cn.iocoder.yudao.module.product.dal.dataobject.sku.ProductSkuDO; 8 +import cn.iocoder.yudao.module.product.dal.dataobject.spu.ProductSkuDO;
9 9
10 import javax.validation.Valid; 10 import javax.validation.Valid;
11 import java.util.Collection; 11 import java.util.Collection;
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/sku/ProductSkuServiceImpl.java
@@ -6,7 +6,7 @@ import cn.iocoder.yudao.module.product.controller.admin.property.vo.ProductPrope @@ -6,7 +6,7 @@ import cn.iocoder.yudao.module.product.controller.admin.property.vo.ProductPrope
6 import cn.iocoder.yudao.module.product.controller.admin.propertyvalue.vo.ProductPropertyValueRespVO; 6 import cn.iocoder.yudao.module.product.controller.admin.propertyvalue.vo.ProductPropertyValueRespVO;
7 import cn.iocoder.yudao.module.product.controller.admin.sku.vo.*; 7 import cn.iocoder.yudao.module.product.controller.admin.sku.vo.*;
8 import cn.iocoder.yudao.module.product.convert.sku.ProductSkuConvert; 8 import cn.iocoder.yudao.module.product.convert.sku.ProductSkuConvert;
9 -import cn.iocoder.yudao.module.product.dal.dataobject.sku.ProductSkuDO; 9 +import cn.iocoder.yudao.module.product.dal.dataobject.spu.ProductSkuDO;
10 import cn.iocoder.yudao.module.product.dal.mysql.sku.ProductSkuMapper; 10 import cn.iocoder.yudao.module.product.dal.mysql.sku.ProductSkuMapper;
11 import cn.iocoder.yudao.module.product.enums.ErrorCodeConstants; 11 import cn.iocoder.yudao.module.product.enums.ErrorCodeConstants;
12 import cn.iocoder.yudao.module.product.service.property.ProductPropertyService; 12 import cn.iocoder.yudao.module.product.service.property.ProductPropertyService;
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/spu/ProductSpuServiceImpl.java
@@ -12,7 +12,7 @@ import cn.iocoder.yudao.module.product.controller.app.spu.vo.AppSpuPageReqVO; @@ -12,7 +12,7 @@ import cn.iocoder.yudao.module.product.controller.app.spu.vo.AppSpuPageReqVO;
12 import cn.iocoder.yudao.module.product.controller.app.spu.vo.AppSpuPageRespVO; 12 import cn.iocoder.yudao.module.product.controller.app.spu.vo.AppSpuPageRespVO;
13 import cn.iocoder.yudao.module.product.convert.sku.ProductSkuConvert; 13 import cn.iocoder.yudao.module.product.convert.sku.ProductSkuConvert;
14 import cn.iocoder.yudao.module.product.convert.spu.ProductSpuConvert; 14 import cn.iocoder.yudao.module.product.convert.spu.ProductSpuConvert;
15 -import cn.iocoder.yudao.module.product.dal.dataobject.sku.ProductSkuDO; 15 +import cn.iocoder.yudao.module.product.dal.dataobject.spu.ProductSkuDO;
16 import cn.iocoder.yudao.module.product.dal.dataobject.spu.ProductSpuDO; 16 import cn.iocoder.yudao.module.product.dal.dataobject.spu.ProductSpuDO;
17 import cn.iocoder.yudao.module.product.dal.mysql.spu.ProductSpuMapper; 17 import cn.iocoder.yudao.module.product.dal.mysql.spu.ProductSpuMapper;
18 import cn.iocoder.yudao.module.product.service.category.ProductCategoryService; 18 import cn.iocoder.yudao.module.product.service.category.ProductCategoryService;
yudao-module-mall/yudao-module-product-biz/src/test/java/cn/iocoder/yudao/module/product/service/sku/SkuServiceImplTest.java
@@ -2,29 +2,24 @@ package cn.iocoder.yudao.module.product.service.sku; @@ -2,29 +2,24 @@ package cn.iocoder.yudao.module.product.service.sku;
2 2
3 import org.junit.jupiter.api.Disabled; 3 import org.junit.jupiter.api.Disabled;
4 import org.junit.jupiter.api.Test; 4 import org.junit.jupiter.api.Test;
5 -import org.springframework.boot.test.mock.mockito.MockBean;  
6 5
7 import javax.annotation.Resource; 6 import javax.annotation.Resource;
8 7
9 import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest; 8 import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest;
10 9
11 import cn.iocoder.yudao.module.product.controller.admin.sku.vo.*; 10 import cn.iocoder.yudao.module.product.controller.admin.sku.vo.*;
12 -import cn.iocoder.yudao.module.product.dal.dataobject.sku.ProductSkuDO; 11 +import cn.iocoder.yudao.module.product.dal.dataobject.spu.ProductSkuDO;
13 import cn.iocoder.yudao.module.product.dal.mysql.sku.ProductSkuMapper; 12 import cn.iocoder.yudao.module.product.dal.mysql.sku.ProductSkuMapper;
14 import cn.iocoder.yudao.framework.common.pojo.PageResult; 13 import cn.iocoder.yudao.framework.common.pojo.PageResult;
15 14
16 -import javax.annotation.Resource;  
17 import org.springframework.context.annotation.Import; 15 import org.springframework.context.annotation.Import;
18 import java.util.*; 16 import java.util.*;
19 17
20 -import static cn.hutool.core.util.RandomUtil.*;  
21 import static cn.iocoder.yudao.module.product.enums.ErrorCodeConstants.*; 18 import static cn.iocoder.yudao.module.product.enums.ErrorCodeConstants.*;
22 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.*; 19 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.*;
23 import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*; 20 import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*;
24 import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.*; 21 import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.*;
25 -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.*;  
26 import static org.junit.jupiter.api.Assertions.*; 22 import static org.junit.jupiter.api.Assertions.*;
27 -import static org.mockito.Mockito.*;  
28 23
29 /** 24 /**
30 * {@link ProductSkuServiceImpl} 的单元测试类 25 * {@link ProductSkuServiceImpl} 的单元测试类