Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
Y
yudao-cloud
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
hblj
yudao-cloud
Commits
5af19f92
提交
5af19f92
authored
3月 05, 2019
作者:
YunaiV
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
商品详情
上级
15a94253
隐藏空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
41 行增加
和
11 行删除
+41
-11
StringUtil.java
...ain/java/cn/iocoder/common/framework/util/StringUtil.java
+11
-0
AdminsProductSpuController.java
...ication/controller/admins/AdminsProductSpuController.java
+3
-2
ProductSpuController.java
...ct/application/controller/users/ProductSpuController.java
+2
-1
ProductSpuService.java
...n/java/cn/iocoder/mall/product/api/ProductSpuService.java
+1
-3
ProductSpuServiceImpl.java
...n/iocoder/mall/product/service/ProductSpuServiceImpl.java
+24
-5
没有找到文件。
common/common-framework/src/main/java/cn/iocoder/common/framework/util/StringUtil.java
浏览文件 @
5af19f92
...
...
@@ -2,6 +2,7 @@ package cn.iocoder.common.framework.util;
import
org.springframework.util.StringUtils
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.Collection
;
import
java.util.List
;
...
...
@@ -17,4 +18,13 @@ public class StringUtil {
return
Arrays
.
asList
(
stringArray
);
}
public
static
List
<
Integer
>
splitToInt
(
String
toSplit
,
String
delim
)
{
String
[]
stringArray
=
StringUtils
.
tokenizeToStringArray
(
toSplit
,
delim
);
List
<
Integer
>
array
=
new
ArrayList
<>(
stringArray
.
length
);
for
(
String
string
:
stringArray
)
{
array
.
add
(
Integer
.
valueOf
(
string
));
}
return
array
;
}
}
\ No newline at end of file
product/product-application/src/main/java/cn/iocoder/mall/product/application/controller/admins/AdminsProductSpuController.java
浏览文件 @
5af19f92
...
...
@@ -121,8 +121,9 @@ public class AdminsProductSpuController {
@GetMapping
(
"/spu/info"
)
@ApiOperation
(
"商品 SPU 明细"
)
public
CommonResult
<
AdminsProductSpuDetailVO
>
info
()
{
return
null
;
@ApiImplicitParam
(
name
=
"id"
,
value
=
"SPU 编号"
,
required
=
true
,
example
=
"100"
)
public
CommonResult
<
AdminsProductSpuDetailVO
>
info
(
@RequestParam
(
"id"
)
Integer
id
)
{
return
ProductSpuConvert
.
INSTANCE
.
convert
(
productSpuService
.
getProductSpu
(
id
));
}
private
<
T
>
List
<
T
>
parseSkus
(
String
skuStr
,
Class
<
T
>
clazz
)
{
...
...
product/product-application/src/main/java/cn/iocoder/mall/product/application/controller/users/ProductSpuController.java
浏览文件 @
5af19f92
...
...
@@ -19,7 +19,8 @@ public class ProductSpuController {
// TODO 详情
@GetMapping
(
"/info"
)
public
ProductSpuBO
info
(
@RequestParam
(
"id"
)
Integer
id
)
{
return
productSpuService
.
getProductSpu
(
id
);
// return productSpuService.getProductSpu(id);
return
null
;
}
// TODO 分页
...
...
product/product-service-api/src/main/java/cn/iocoder/mall/product/api/ProductSpuService.java
浏览文件 @
5af19f92
package
cn
.
iocoder
.
mall
.
product
.
api
;
import
cn.iocoder.common.framework.vo.CommonResult
;
import
cn.iocoder.mall.product.api.bo.ProductSpuBO
;
import
cn.iocoder.mall.product.api.bo.ProductSpuDetailBO
;
import
cn.iocoder.mall.product.api.bo.ProductSpuPageBO
;
import
cn.iocoder.mall.product.api.dto.ProductSpuAddDTO
;
...
...
@@ -10,8 +9,7 @@ import cn.iocoder.mall.product.api.dto.ProductSpuUpdateDTO;
public
interface
ProductSpuService
{
// TODO 芋艿,需要去改改
ProductSpuBO
getProductSpu
(
Integer
id
);
CommonResult
<
ProductSpuDetailBO
>
getProductSpu
(
Integer
id
);
CommonResult
<
ProductSpuDetailBO
>
addProductSpu
(
Integer
adminId
,
ProductSpuAddDTO
productSpuAddDTO
);
...
...
product/product-service-impl/src/main/java/cn/iocoder/mall/product/service/ProductSpuServiceImpl.java
浏览文件 @
5af19f92
...
...
@@ -7,7 +7,6 @@ import cn.iocoder.common.framework.util.StringUtil;
import
cn.iocoder.common.framework.vo.CommonResult
;
import
cn.iocoder.mall.product.api.ProductSpuService
;
import
cn.iocoder.mall.product.api.bo.ProductAttrDetailBO
;
import
cn.iocoder.mall.product.api.bo.ProductSpuBO
;
import
cn.iocoder.mall.product.api.bo.ProductSpuDetailBO
;
import
cn.iocoder.mall.product.api.bo.ProductSpuPageBO
;
import
cn.iocoder.mall.product.api.constant.ProductErrorCodeEnum
;
...
...
@@ -43,11 +42,31 @@ public class ProductSpuServiceImpl implements ProductSpuService {
@Autowired
private
ProductAttrServiceImpl
productAttrService
;
// @Override
// public ProductSpuBO getProductSpu(Integer id) {
// ProductSpuDO productSpuDO = productSpuMapper.selectById(id);
// // 转换成 BO
// return ProductSpuConvert.INSTANCE.convert(productSpuDO);
// }
@Override
public
ProductSpuBO
getProductSpu
(
Integer
id
)
{
ProductSpuDO
productSpuDO
=
productSpuMapper
.
selectById
(
id
);
// 转换成 BO
return
ProductSpuConvert
.
INSTANCE
.
convert
(
productSpuDO
);
public
CommonResult
<
ProductSpuDetailBO
>
getProductSpu
(
Integer
id
)
{
// 校验商品 spu 存在
ProductSpuDO
spu
=
productSpuMapper
.
selectById
(
id
);
if
(
spu
==
null
)
{
return
ServiceExceptionUtil
.
error
(
ProductErrorCodeEnum
.
PRODUCT_SPU_NOT_EXISTS
.
getCode
());
}
// 获得商品 sku 数组
List
<
ProductSkuDO
>
skus
=
productSkuMapper
.
selectListBySpuIdAndStatus
(
id
,
ProductSpuConstants
.
SKU_STATUS_ENABLE
);
// 获得规格
Set
<
Integer
>
productAttrValueIds
=
new
HashSet
<>();
skus
.
forEach
(
sku
->
productAttrValueIds
.
addAll
(
StringUtil
.
splitToInt
(
sku
.
getAttrs
(),
","
)));
CommonResult
<
List
<
ProductAttrDetailBO
>>
validAttrResult
=
productAttrService
.
validProductAttrAndValue
(
productAttrValueIds
);
if
(
validAttrResult
.
isError
())
{
return
CommonResult
.
error
(
validAttrResult
);
}
// 返回成功
return
CommonResult
.
success
(
ProductSpuConvert
.
INSTANCE
.
convert2
(
spu
,
skus
,
validAttrResult
.
getData
()));
}
@SuppressWarnings
(
"Duplicates"
)
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论