Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
Y
yudao-cloud
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
hblj
yudao-cloud
Commits
f3316d14
提交
f3316d14
authored
8月 04, 2020
作者:
YunaiV
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
初始化商品分页接口
上级
5acf1ae3
隐藏空白字符变更
内嵌
并排
正在显示
24 个修改的文件
包含
371 行增加
和
93 行删除
+371
-93
http-client.env.json
http-client.env.json
+1
-0
ProductSpuServiceImpl.java
...n/iocoder/mall/product/service/ProductSpuServiceImpl.java
+0
-13
UsersProductSpuPageVO.java
...l/product/application/vo/users/UsersProductSpuPageVO.java
+0
-20
SearchProductRpc.java
...oder/mall/searchservice/rpc/product/SearchProductRpc.java
+8
-0
SearchProductPageReqDTO.java
...earchservice/rpc/product/dto/SearchProductPageReqDTO.java
+35
-0
SearchProductRespDTO.java
...l/searchservice/rpc/product/dto/SearchProductRespDTO.java
+85
-0
SearchProductConvert.java
...l/searchservice/convert/product/SearchProductConvert.java
+7
-0
SearchProductManager.java
...l/searchservice/manager/product/SearchProductManager.java
+9
-0
SearchProductRpcImpl.java
.../mall/searchservice/rpc/product/SearchProductRpcImpl.java
+17
-0
SearchProductService.java
...l/searchservice/service/product/SearchProductService.java
+1
-1
SearchProductPageQueryBO.java
...hservice/service/product/bo/SearchProductPageQueryBO.java
+4
-1
ProductSearchRPC.java
...cn/iocoder/mall/search/biz/api/user/ProductSearchRPC.java
+0
-21
ProductPageResponse.java
...er/mall/search/biz/response/user/ProductPageResponse.java
+0
-22
pom.xml
shop-web-app/pom.xml
+6
-0
ProductCategoryController.http
...shopweb/controller/product/ProductCategoryController.http
+1
-1
ProductCategoryController.java
...shopweb/controller/product/ProductCategoryController.java
+1
-5
ProductSpuController.java
...mall/shopweb/controller/product/ProductSpuController.java
+33
-0
package-info.java
...oder/mall/shopweb/controller/product/vo/package-info.java
+0
-1
ProductSpuPageReqVO.java
...eb/controller/product/vo/product/ProductSpuPageReqVO.java
+24
-0
ProductSpuRespVO.java
...opweb/controller/product/vo/product/ProductSpuRespVO.java
+84
-0
ProductSpuConvert.java
...coder/mall/shopweb/convert/product/ProductSpuConvert.java
+20
-0
ProductSpuManager.java
...coder/mall/shopweb/manager/product/ProductSpuManager.java
+31
-0
application.yml
shop-web-app/src/main/resources/application.yml
+4
-6
application.yml
user-web-app/src/main/resources/application.yml
+0
-2
没有找到文件。
http-client.env.json
浏览文件 @
f3316d14
...
@@ -5,6 +5,7 @@
...
@@ -5,6 +5,7 @@
"accessToken"
:
"yudaoyuanma"
,
"accessToken"
:
"yudaoyuanma"
,
"user-api-base-url"
:
"http://127.0.0.1:18082/user-api/"
,
"user-api-base-url"
:
"http://127.0.0.1:18082/user-api/"
,
"shop-api-base-url"
:
"http://127.0.0.1:18084/shop-api/"
,
"user-access-token"
:
"yunai"
,
"user-access-token"
:
"yunai"
,
"dubboTag"
:
"${HOSTNAME}"
"dubboTag"
:
"${HOSTNAME}"
...
...
product/product-service-impl/src/main/java/cn/iocoder/mall/product/service/ProductSpuServiceImpl.java
浏览文件 @
f3316d14
...
@@ -70,19 +70,6 @@ public class ProductSpuServiceImpl implements ProductSpuService {
...
@@ -70,19 +70,6 @@ public class ProductSpuServiceImpl implements ProductSpuService {
return
ProductSpuConvert
.
INSTANCE
.
convert2
(
spu
,
skus
,
attrAndValuePairList
,
category
);
return
ProductSpuConvert
.
INSTANCE
.
convert2
(
spu
,
skus
,
attrAndValuePairList
,
category
);
}
}
@Override
public
List
<
ProductSpuDetailBO
>
getProductSpuDetailListForSync
(
Integer
lastId
,
Integer
limit
)
{
// TODO 芋艿,这里目前是一个一个进行计算,后续需要优化下
// 查询下一批商品编号集合
List
<
Integer
>
spuIds
=
productSpuMapper
.
selectIdListByIdGt
(
lastId
,
limit
);
if
(
spuIds
.
isEmpty
())
{
return
Collections
.
emptyList
();
}
// 查询每个商品明细
List
<
ProductSpuDetailBO
>
spus
=
spuIds
.
stream
().
map
(
id
->
getProductSpuDetail
(
id
)).
collect
(
Collectors
.
toList
());
// TODO 芋艿,此处相当于是 N 个查询,后续要优化。
return
spus
;
}
@Override
@Override
public
Boolean
updateProductSpuSort
(
Integer
adminId
,
Integer
spuId
,
Integer
sort
)
{
public
Boolean
updateProductSpuSort
(
Integer
adminId
,
Integer
spuId
,
Integer
sort
)
{
// 校验 Spu 是否存在
// 校验 Spu 是否存在
...
...
product/product-start/src/main/java/cn/iocoder/mall/product/application/vo/users/UsersProductSpuPageVO.java
deleted
100644 → 0
浏览文件 @
5acf1ae3
package
cn
.
iocoder
.
mall
.
product
.
application
.
vo
.
users
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
import
java.util.List
;
@ApiModel
(
"商品 SPU 分页 VO"
)
@Data
@Accessors
(
chain
=
true
)
public
class
UsersProductSpuPageVO
{
@ApiModelProperty
(
value
=
"spu 数组"
,
required
=
true
)
private
List
<
UsersProductSpuVO
>
spus
;
@ApiModelProperty
(
value
=
"总数"
,
required
=
true
)
private
Integer
count
;
}
search-service-project/search-service-api/src/main/java/cn/iocoder/mall/searchservice/rpc/product/SearchProductRpc.java
浏览文件 @
f3316d14
package
cn
.
iocoder
.
mall
.
searchservice
.
rpc
.
product
;
package
cn
.
iocoder
.
mall
.
searchservice
.
rpc
.
product
;
import
cn.iocoder.common.framework.vo.CommonResult
;
import
cn.iocoder.common.framework.vo.PageResult
;
import
cn.iocoder.mall.searchservice.rpc.product.dto.SearchProductPageReqDTO
;
import
cn.iocoder.mall.searchservice.rpc.product.dto.SearchProductRespDTO
;
/**
/**
* 商品搜索 RPC 接口
* 商品搜索 RPC 接口
*/
*/
public
interface
SearchProductRpc
{
public
interface
SearchProductRpc
{
CommonResult
<
PageResult
<
SearchProductRespDTO
>>
pageSearchProduct
(
SearchProductPageReqDTO
pageQueryReqDTO
);
}
}
search-service-project/search-service-api/src/main/java/cn/iocoder/mall/searchservice/rpc/product/dto/SearchProductPageReqDTO.java
0 → 100644
浏览文件 @
f3316d14
package
cn
.
iocoder
.
mall
.
searchservice
.
rpc
.
product
.
dto
;
import
cn.iocoder.common.framework.vo.PageParam
;
import
cn.iocoder.common.framework.vo.SortingField
;
import
cn.iocoder.mall.searchservice.enums.product.SearchProductPageQuerySortFieldEnum
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
import
java.util.List
;
/**
* 商品检索分页查询 Request DTO
*/
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@Accessors
(
chain
=
true
)
public
class
SearchProductPageReqDTO
extends
PageParam
{
/**
* 分类编号
*/
private
Integer
cid
;
/**
* 关键字
*/
private
String
keyword
;
/**
* 排序字段数组
*
* 可支持排序的字段,见 {@link SearchProductPageQuerySortFieldEnum}
*/
private
List
<
SortingField
>
sorts
;
}
search-service-project/search-service-api/src/main/java/cn/iocoder/mall/searchservice/rpc/product/dto/SearchProductRespDTO.java
0 → 100644
浏览文件 @
f3316d14
package
cn
.
iocoder
.
mall
.
searchservice
.
rpc
.
product
.
dto
;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
import
java.util.List
;
/**
* 搜索商品 Response DTO
*/
@Data
@Accessors
(
chain
=
true
)
public
class
SearchProductRespDTO
{
private
Integer
id
;
// ========== 基本信息 =========
/**
* SPU 名字
*/
private
String
name
;
/**
* 卖点
*/
private
String
sellPoint
;
/**
* 描述
*/
private
String
description
;
/**
* 分类编号
*/
private
Integer
cid
;
/**
* 分类名
*/
private
String
categoryName
;
/**
* 商品主图地数组
*/
private
List
<
String
>
picUrls
;
// ========== 其他信息 =========
/**
* 是否上架商品(是否可见)。
*
* true 为已上架
* false 为已下架
*/
private
Boolean
visible
;
/**
* 排序字段
*/
private
Integer
sort
;
// ========== Sku 相关字段 =========
/**
* 原价格,单位:分
*/
private
Integer
originalPrice
;
/**
* 购买价格,单位:分。
*/
private
Integer
buyPrice
;
/**
* 库存数量
*/
private
Integer
quantity
;
// ========== 促销活动相关字段 =========
// 目前只促销单体商品促销,目前仅限制折扣。
/**
* 促销活动编号
*/
private
Integer
promotionActivityId
;
/**
* 促销活动标题
*/
private
String
promotionActivityTitle
;
/**
* 促销活动类型
*/
private
Integer
promotionActivityType
;
}
search-service-project/search-service-app/src/main/java/cn/iocoder/mall/searchservice/convert/product/SearchProductConvert.java
浏览文件 @
f3316d14
...
@@ -4,7 +4,10 @@ import cn.iocoder.common.framework.vo.PageResult;
...
@@ -4,7 +4,10 @@ import cn.iocoder.common.framework.vo.PageResult;
import
cn.iocoder.mall.productservice.rpc.category.dto.ProductCategoryRespDTO
;
import
cn.iocoder.mall.productservice.rpc.category.dto.ProductCategoryRespDTO
;
import
cn.iocoder.mall.productservice.rpc.spu.dto.ProductSpuRespDTO
;
import
cn.iocoder.mall.productservice.rpc.spu.dto.ProductSpuRespDTO
;
import
cn.iocoder.mall.searchservice.dal.es.dataobject.ESProductDO
;
import
cn.iocoder.mall.searchservice.dal.es.dataobject.ESProductDO
;
import
cn.iocoder.mall.searchservice.rpc.product.dto.SearchProductPageReqDTO
;
import
cn.iocoder.mall.searchservice.rpc.product.dto.SearchProductRespDTO
;
import
cn.iocoder.mall.searchservice.service.product.bo.SearchProductBO
;
import
cn.iocoder.mall.searchservice.service.product.bo.SearchProductBO
;
import
cn.iocoder.mall.searchservice.service.product.bo.SearchProductPageQueryBO
;
import
cn.iocoder.mall.searchservice.service.product.bo.SearchProductSaveBO
;
import
cn.iocoder.mall.searchservice.service.product.bo.SearchProductSaveBO
;
import
org.mapstruct.Mapper
;
import
org.mapstruct.Mapper
;
import
org.mapstruct.Mapping
;
import
org.mapstruct.Mapping
;
...
@@ -39,4 +42,8 @@ public interface SearchProductConvert {
...
@@ -39,4 +42,8 @@ public interface SearchProductConvert {
.
setTotal
(
searchPage
.
getTotalElements
());
.
setTotal
(
searchPage
.
getTotalElements
());
}
}
SearchProductPageQueryBO
convert
(
SearchProductPageReqDTO
bean
);
PageResult
<
SearchProductRespDTO
>
convertPage
(
PageResult
<
SearchProductBO
>
pageResult
);
}
}
search-service-project/search-service-app/src/main/java/cn/iocoder/mall/searchservice/manager/product/SearchProductManager.java
浏览文件 @
f3316d14
...
@@ -2,6 +2,7 @@ package cn.iocoder.mall.searchservice.manager.product;
...
@@ -2,6 +2,7 @@ package cn.iocoder.mall.searchservice.manager.product;
import
cn.iocoder.common.framework.util.CollectionUtils
;
import
cn.iocoder.common.framework.util.CollectionUtils
;
import
cn.iocoder.common.framework.vo.CommonResult
;
import
cn.iocoder.common.framework.vo.CommonResult
;
import
cn.iocoder.common.framework.vo.PageResult
;
import
cn.iocoder.mall.productservice.rpc.category.ProductCategoryRpc
;
import
cn.iocoder.mall.productservice.rpc.category.ProductCategoryRpc
;
import
cn.iocoder.mall.productservice.rpc.category.dto.ProductCategoryRespDTO
;
import
cn.iocoder.mall.productservice.rpc.category.dto.ProductCategoryRespDTO
;
import
cn.iocoder.mall.productservice.rpc.sku.ProductSkuRpc
;
import
cn.iocoder.mall.productservice.rpc.sku.ProductSkuRpc
;
...
@@ -10,7 +11,10 @@ import cn.iocoder.mall.productservice.rpc.sku.dto.ProductSkuRespDTO;
...
@@ -10,7 +11,10 @@ import cn.iocoder.mall.productservice.rpc.sku.dto.ProductSkuRespDTO;
import
cn.iocoder.mall.productservice.rpc.spu.ProductSpuRpc
;
import
cn.iocoder.mall.productservice.rpc.spu.ProductSpuRpc
;
import
cn.iocoder.mall.productservice.rpc.spu.dto.ProductSpuRespDTO
;
import
cn.iocoder.mall.productservice.rpc.spu.dto.ProductSpuRespDTO
;
import
cn.iocoder.mall.searchservice.convert.product.SearchProductConvert
;
import
cn.iocoder.mall.searchservice.convert.product.SearchProductConvert
;
import
cn.iocoder.mall.searchservice.rpc.product.dto.SearchProductPageReqDTO
;
import
cn.iocoder.mall.searchservice.rpc.product.dto.SearchProductRespDTO
;
import
cn.iocoder.mall.searchservice.service.product.SearchProductService
;
import
cn.iocoder.mall.searchservice.service.product.SearchProductService
;
import
cn.iocoder.mall.searchservice.service.product.bo.SearchProductBO
;
import
cn.iocoder.mall.searchservice.service.product.bo.SearchProductSaveBO
;
import
cn.iocoder.mall.searchservice.service.product.bo.SearchProductSaveBO
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.dubbo.config.annotation.DubboReference
;
import
org.apache.dubbo.config.annotation.DubboReference
;
...
@@ -39,6 +43,11 @@ public class SearchProductManager {
...
@@ -39,6 +43,11 @@ public class SearchProductManager {
@Autowired
@Autowired
private
SearchProductService
searchProductService
;
private
SearchProductService
searchProductService
;
public
PageResult
<
SearchProductRespDTO
>
pageSearchProduct
(
SearchProductPageReqDTO
pageReqDTO
)
{
PageResult
<
SearchProductBO
>
pageResult
=
searchProductService
.
pageSearchProduct
(
SearchProductConvert
.
INSTANCE
.
convert
(
pageReqDTO
));
return
SearchProductConvert
.
INSTANCE
.
convertPage
(
pageResult
);
}
/**
/**
* 重建所有商品的 ES 索引
* 重建所有商品的 ES 索引
*
*
...
...
search-service-project/search-service-app/src/main/java/cn/iocoder/mall/searchservice/rpc/product/SearchProductRpcImpl.java
浏览文件 @
f3316d14
package
cn
.
iocoder
.
mall
.
searchservice
.
rpc
.
product
;
package
cn
.
iocoder
.
mall
.
searchservice
.
rpc
.
product
;
import
cn.iocoder.common.framework.vo.CommonResult
;
import
cn.iocoder.common.framework.vo.PageResult
;
import
cn.iocoder.mall.searchservice.manager.product.SearchProductManager
;
import
cn.iocoder.mall.searchservice.rpc.product.dto.SearchProductPageReqDTO
;
import
cn.iocoder.mall.searchservice.rpc.product.dto.SearchProductRespDTO
;
import
org.apache.dubbo.config.annotation.DubboService
;
import
org.apache.dubbo.config.annotation.DubboService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
static
cn
.
iocoder
.
common
.
framework
.
vo
.
CommonResult
.
success
;
@DubboService
@DubboService
public
class
SearchProductRpcImpl
implements
SearchProductRpc
{
public
class
SearchProductRpcImpl
implements
SearchProductRpc
{
@Autowired
private
SearchProductManager
searchProductManager
;
@Override
public
CommonResult
<
PageResult
<
SearchProductRespDTO
>>
pageSearchProduct
(
SearchProductPageReqDTO
pageQueryReqDTO
)
{
return
success
(
searchProductManager
.
pageSearchProduct
(
pageQueryReqDTO
));
}
}
}
search-service-project/search-service-app/src/main/java/cn/iocoder/mall/searchservice/service/product/SearchProductService.java
浏览文件 @
f3316d14
...
@@ -42,7 +42,7 @@ public class SearchProductService {
...
@@ -42,7 +42,7 @@ public class SearchProductService {
* @param pageQueryBO 分页查询条件
* @param pageQueryBO 分页查询条件
* @return 商品信息
* @return 商品信息
*/
*/
public
PageResult
<
SearchProductBO
>
getSearchPage
(
SearchProductPageQueryBO
pageQueryBO
)
{
public
PageResult
<
SearchProductBO
>
pageSearchProduct
(
SearchProductPageQueryBO
pageQueryBO
)
{
checkSortFieldInvalid
(
pageQueryBO
.
getSorts
());
checkSortFieldInvalid
(
pageQueryBO
.
getSorts
());
// 执行查询
// 执行查询
Page
<
ESProductDO
>
searchPage
=
productRepository
.
search
(
pageQueryBO
.
getCid
(),
pageQueryBO
.
getKeyword
(),
Page
<
ESProductDO
>
searchPage
=
productRepository
.
search
(
pageQueryBO
.
getCid
(),
pageQueryBO
.
getKeyword
(),
...
...
search-service-project/search-service-app/src/main/java/cn/iocoder/mall/searchservice/service/product/bo/SearchProductPageQueryBO.java
浏览文件 @
f3316d14
...
@@ -2,7 +2,9 @@ package cn.iocoder.mall.searchservice.service.product.bo;
...
@@ -2,7 +2,9 @@ package cn.iocoder.mall.searchservice.service.product.bo;
import
cn.iocoder.common.framework.vo.PageParam
;
import
cn.iocoder.common.framework.vo.PageParam
;
import
cn.iocoder.common.framework.vo.SortingField
;
import
cn.iocoder.common.framework.vo.SortingField
;
import
cn.iocoder.mall.searchservice.enums.product.SearchProductPageQuerySortFieldEnum
;
import
lombok.Data
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
import
lombok.experimental.Accessors
;
import
java.util.List
;
import
java.util.List
;
...
@@ -11,6 +13,7 @@ import java.util.List;
...
@@ -11,6 +13,7 @@ import java.util.List;
* 商品检索分查询 BO
* 商品检索分查询 BO
*/
*/
@Data
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@Accessors
(
chain
=
true
)
@Accessors
(
chain
=
true
)
public
class
SearchProductPageQueryBO
extends
PageParam
{
public
class
SearchProductPageQueryBO
extends
PageParam
{
...
@@ -25,7 +28,7 @@ public class SearchProductPageQueryBO extends PageParam {
...
@@ -25,7 +28,7 @@ public class SearchProductPageQueryBO extends PageParam {
/**
/**
* 排序字段数组
* 排序字段数组
*
*
*
*
可支持排序的字段,见 {@link SearchProductPageQuerySortFieldEnum}
*/
*/
private
List
<
SortingField
>
sorts
;
private
List
<
SortingField
>
sorts
;
...
...
search/search-rpc-api/src/main/java/cn/iocoder/mall/search/biz/api/user/ProductSearchRPC.java
deleted
100644 → 0
浏览文件 @
5acf1ae3
package
cn
.
iocoder
.
mall
.
search
.
biz
.
api
.
user
;
import
cn.iocoder.common.framework.vo.CommonResult
;
public
interface
ProductSearchRPC
{
CommonResult
<
Integer
>
rebuild
();
/**
* 构建商品的搜索索引
*
* @param id 商品编号
* @return 构建结果
*/
CommonResult
<
Boolean
>
save
(
Integer
id
);
// ProductPageBO getSearchPage(ProductSearchPageDTO searchPageDTO);
//
// ProductConditionBO getSearchCondition(ProductConditionDTO conditionDTO);
}
search/search-rpc-api/src/main/java/cn/iocoder/mall/search/biz/response/user/ProductPageResponse.java
deleted
100644 → 0
浏览文件 @
5acf1ae3
package
cn
.
iocoder
.
mall
.
search
.
biz
.
response
.
user
;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
import
java.io.Serializable
;
import
java.util.List
;
@Data
@Accessors
(
chain
=
true
)
public
class
ProductPageResponse
implements
Serializable
{
/**
* 管理员数组
*/
private
List
<
ProductResponse
>
list
;
/**
* 总量
*/
private
Integer
total
;
}
shop-web-app/pom.xml
浏览文件 @
f3316d14
...
@@ -60,6 +60,12 @@
...
@@ -60,6 +60,12 @@
<artifactId>
product-service-api
</artifactId>
<artifactId>
product-service-api
</artifactId>
<version>
1.0-SNAPSHOT
</version>
<version>
1.0-SNAPSHOT
</version>
</dependency>
</dependency>
<dependency>
<!-- 搜索服务 -->
<groupId>
cn.iocoder.mall
</groupId>
<artifactId>
search-service-api
</artifactId>
<version>
1.0-SNAPSHOT
</version>
</dependency>
<dependency>
<dependency>
<!-- 系统服务 -->
<!-- 系统服务 -->
<groupId>
cn.iocoder.mall
</groupId>
<groupId>
cn.iocoder.mall
</groupId>
...
...
shop-web-app/src/main/java/cn/iocoder/mall/shopweb/controller/product/ProductCategoryController.http
浏览文件 @
f3316d14
### /user-address/get-default 成功
### /user-address/get-default 成功
GET {{
user
-api-base-url}}/product-category/list?pid=0
GET {{
shop
-api-base-url}}/product-category/list?pid=0
###
###
shop-web-app/src/main/java/cn/iocoder/mall/shopweb/controller/product/ProductCategoryController.java
浏览文件 @
f3316d14
...
@@ -17,14 +17,10 @@ import java.util.List;
...
@@ -17,14 +17,10 @@ import java.util.List;
import
static
cn
.
iocoder
.
common
.
framework
.
vo
.
CommonResult
.
success
;
import
static
cn
.
iocoder
.
common
.
framework
.
vo
.
CommonResult
.
success
;
/**
@Api
(
tags
=
"商品分类 API"
)
* 商品分类 Controller
*/
@RestController
@RestController
@RequestMapping
(
"/product-category"
)
@RequestMapping
(
"/product-category"
)
@Api
(
tags
=
"商品分类"
)
@Validated
@Validated
// TODO 芋艿:稍后迁移到 shop-web-app 服务下
public
class
ProductCategoryController
{
public
class
ProductCategoryController
{
@Autowired
@Autowired
...
...
shop-web-app/src/main/java/cn/iocoder/mall/shopweb/controller/product/ProductSpuController.java
0 → 100644
浏览文件 @
f3316d14
package
cn
.
iocoder
.
mall
.
shopweb
.
controller
.
product
;
import
cn.iocoder.common.framework.vo.CommonResult
;
import
cn.iocoder.common.framework.vo.PageResult
;
import
cn.iocoder.mall.shopweb.controller.product.vo.product.ProductSpuPageReqVO
;
import
cn.iocoder.mall.shopweb.controller.product.vo.product.ProductSpuRespVO
;
import
cn.iocoder.mall.shopweb.manager.product.ProductSpuManager
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
static
cn
.
iocoder
.
common
.
framework
.
vo
.
CommonResult
.
success
;
@Api
(
tags
=
"商品 SPU API"
)
@RestController
@RequestMapping
(
"/product-spu"
)
@Validated
public
class
ProductSpuController
{
@Autowired
private
ProductSpuManager
productSpuManager
;
@GetMapping
(
"/page"
)
@ApiOperation
(
"获得商品 SPU 的分页"
)
public
CommonResult
<
PageResult
<
ProductSpuRespVO
>>
pageProductSpu
(
ProductSpuPageReqVO
pageReqVO
)
{
return
success
(
productSpuManager
.
pageProductSpu
(
pageReqVO
));
}
}
shop-web-app/src/main/java/cn/iocoder/mall/shopweb/controller/product/vo/package-info.java
deleted
100644 → 0
浏览文件 @
5acf1ae3
package
cn
.
iocoder
.
mall
.
shopweb
.
controller
.
product
.
vo
;
shop-web-app/src/main/java/cn/iocoder/mall/shopweb/controller/product/vo/product/ProductSpuPageReqVO.java
0 → 100644
浏览文件 @
f3316d14
package
cn
.
iocoder
.
mall
.
shopweb
.
controller
.
product
.
vo
.
product
;
import
cn.iocoder.common.framework.vo.PageParam
;
import
cn.iocoder.common.framework.vo.SortingField
;
import
java.util.List
;
public
class
ProductSpuPageReqVO
extends
PageParam
{
/**
* 分类编号
*/
private
Integer
cid
;
/**
* 关键字
*/
private
String
keyword
;
/**
* 排序字段数组
*/
private
List
<
SortingField
>
sorts
;
}
shop-web-app/src/main/java/cn/iocoder/mall/shopweb/controller/product/vo/product/ProductSpuRespVO.java
0 → 100644
浏览文件 @
f3316d14
package
cn
.
iocoder
.
mall
.
shopweb
.
controller
.
product
.
vo
.
product
;
import
io.swagger.annotations.ApiModel
;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
import
java.util.List
;
@ApiModel
(
"商品 SPU Response VO"
)
@Data
@Accessors
(
chain
=
true
)
public
class
ProductSpuRespVO
{
private
Integer
id
;
// ========== 基本信息 =========
/**
* SPU 名字
*/
private
String
name
;
/**
* 卖点
*/
private
String
sellPoint
;
/**
* 描述
*/
private
String
description
;
/**
* 分类编号
*/
private
Integer
cid
;
/**
* 分类名
*/
private
String
categoryName
;
/**
* 商品主图地数组
*/
private
List
<
String
>
picUrls
;
// ========== 其他信息 =========
/**
* 是否上架商品(是否可见)。
*
* true 为已上架
* false 为已下架
*/
private
Boolean
visible
;
/**
* 排序字段
*/
private
Integer
sort
;
// ========== Sku 相关字段 =========
/**
* 原价格,单位:分
*/
private
Integer
originalPrice
;
/**
* 购买价格,单位:分。
*/
private
Integer
buyPrice
;
/**
* 库存数量
*/
private
Integer
quantity
;
// ========== 促销活动相关字段 =========
// 目前只促销单体商品促销,目前仅限制折扣。
/**
* 促销活动编号
*/
private
Integer
promotionActivityId
;
/**
* 促销活动标题
*/
private
String
promotionActivityTitle
;
/**
* 促销活动类型
*/
private
Integer
promotionActivityType
;
}
shop-web-app/src/main/java/cn/iocoder/mall/shopweb/convert/product/ProductSpuConvert.java
0 → 100644
浏览文件 @
f3316d14
package
cn
.
iocoder
.
mall
.
shopweb
.
convert
.
product
;
import
cn.iocoder.common.framework.vo.PageResult
;
import
cn.iocoder.mall.searchservice.rpc.product.dto.SearchProductPageReqDTO
;
import
cn.iocoder.mall.searchservice.rpc.product.dto.SearchProductRespDTO
;
import
cn.iocoder.mall.shopweb.controller.product.vo.product.ProductSpuPageReqVO
;
import
cn.iocoder.mall.shopweb.controller.product.vo.product.ProductSpuRespVO
;
import
org.mapstruct.Mapper
;
import
org.mapstruct.factory.Mappers
;
@Mapper
public
interface
ProductSpuConvert
{
ProductSpuConvert
INSTANCE
=
Mappers
.
getMapper
(
ProductSpuConvert
.
class
);
SearchProductPageReqDTO
convert
(
ProductSpuPageReqVO
bean
);
PageResult
<
ProductSpuRespVO
>
convertPage
(
PageResult
<
SearchProductRespDTO
>
page
);
}
shop-web-app/src/main/java/cn/iocoder/mall/shopweb/manager/product/ProductSpuManager.java
0 → 100644
浏览文件 @
f3316d14
package
cn
.
iocoder
.
mall
.
shopweb
.
manager
.
product
;
import
cn.iocoder.common.framework.vo.CommonResult
;
import
cn.iocoder.common.framework.vo.PageResult
;
import
cn.iocoder.mall.searchservice.rpc.product.SearchProductRpc
;
import
cn.iocoder.mall.searchservice.rpc.product.dto.SearchProductRespDTO
;
import
cn.iocoder.mall.shopweb.controller.product.vo.product.ProductSpuPageReqVO
;
import
cn.iocoder.mall.shopweb.controller.product.vo.product.ProductSpuRespVO
;
import
cn.iocoder.mall.shopweb.convert.product.ProductSpuConvert
;
import
org.apache.dubbo.config.annotation.DubboReference
;
import
org.springframework.stereotype.Service
;
import
org.springframework.validation.annotation.Validated
;
/**
* Product SPU Manager
*/
@Service
@Validated
public
class
ProductSpuManager
{
@DubboReference
(
version
=
"${dubbo.consumer.SearchProductRpc.version}"
)
private
SearchProductRpc
searchProductRpc
;
public
PageResult
<
ProductSpuRespVO
>
pageProductSpu
(
ProductSpuPageReqVO
pageReqVO
)
{
CommonResult
<
PageResult
<
SearchProductRespDTO
>>
pageResult
=
searchProductRpc
.
pageSearchProduct
(
ProductSpuConvert
.
INSTANCE
.
convert
(
pageReqVO
));
pageResult
.
checkError
();
return
ProductSpuConvert
.
INSTANCE
.
convertPage
(
pageResult
.
getData
());
}
}
shop-web-app/src/main/resources/application.yml
浏览文件 @
f3316d14
# 服务器的配置项
# 服务器的配置项
server
:
server
:
port
:
1808
3
port
:
1808
4
servlet
:
servlet
:
context-path
:
/
user
-api/
context-path
:
/
shop
-api/
spring
:
spring
:
# Application 的配置项
# Application 的配置项
...
@@ -25,8 +25,6 @@ dubbo:
...
@@ -25,8 +25,6 @@ dubbo:
consumer
:
consumer
:
timeout
:
10000
timeout
:
10000
validation
:
true
# 开启 Consumer 的参数校验
validation
:
true
# 开启 Consumer 的参数校验
UserSmsCodeRpc
:
version
:
1.0.0
UserRpc
:
UserRpc
:
version
:
1.0.0
version
:
1.0.0
OAuth2Rpc
:
OAuth2Rpc
:
...
@@ -35,10 +33,10 @@ dubbo:
...
@@ -35,10 +33,10 @@ dubbo:
version
:
1.0.0
version
:
1.0.0
SystemExceptionLogRpc
:
SystemExceptionLogRpc
:
version
:
1.0.0
version
:
1.0.0
UserAddressRpc
:
version
:
1.0.0
ProductCategoryRpc
:
ProductCategoryRpc
:
version
:
1.0.0
version
:
1.0.0
SearchProductRpc
:
version
:
1.0.0
# Swagger 配置项
# Swagger 配置项
swagger
:
swagger
:
...
...
user-web-app/src/main/resources/application.yml
浏览文件 @
f3316d14
...
@@ -37,8 +37,6 @@ dubbo:
...
@@ -37,8 +37,6 @@ dubbo:
version
:
1.0.0
version
:
1.0.0
UserAddressRpc
:
UserAddressRpc
:
version
:
1.0.0
version
:
1.0.0
ProductCategoryRpc
:
version
:
1.0.0
# Swagger 配置项
# Swagger 配置项
swagger
:
swagger
:
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论