Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
Y
yudao-cloud
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
hblj
yudao-cloud
Commits
b5480816
提交
b5480816
authored
3 年前
作者:
zhuyang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
搜索改造
上级
53a33e49
master
issues/I6KG21
spring-cloud-alibaba
v1.7.3
v1.7.2
v1.7.1
无相关合并请求
隐藏空白字符变更
内嵌
并排
正在显示
8 个修改的文件
包含
70 行增加
和
26 行删除
+70
-26
pom.xml
mall-dependencies/pom.xml
+7
-0
pom.xml
product-service-project/product-service-api/pom.xml
+0
-1
pom.xml
search-service-project/search-service-api/pom.xml
+4
-0
SearchProductFeign.java
...er/mall/searchservice/rpc/product/SearchProductFeign.java
+15
-6
pom.xml
search-service-project/search-service-app/pom.xml
+4
-0
SearchProductController.java
...all/searchservice/controller/SearchProductController.java
+34
-11
ShopWebApplication.java
...main/java/cn/iocoder/mall/shopweb/ShopWebApplication.java
+1
-1
ProductSpuManager.java
...coder/mall/shopweb/service/product/ProductSpuManager.java
+5
-7
没有找到文件。
mall-dependencies/pom.xml
浏览文件 @
b5480816
...
...
@@ -64,6 +64,7 @@
<guava.version>
27.0.1-jre
</guava.version>
<org.projectlombok.version>
1.16.14
</org.projectlombok.version>
<org.mapstruct.version>
1.3.0.Final
</org.mapstruct.version>
<spring-cloud.feign.version>
3.0.4
</spring-cloud.feign.version>
</properties>
<!-- 依赖管理 -->
...
...
@@ -381,6 +382,12 @@
<version>
${hibernate-validator.version}
</version>
</dependency>
<dependency>
<groupId>
org.springframework.cloud
</groupId>
<artifactId>
spring-cloud-openfeign-core
</artifactId>
<version>
${spring-cloud.feign.version}
</version>
</dependency>
</dependencies>
</dependencyManagement>
...
...
This diff is collapsed.
Click to expand it.
product-service-project/product-service-api/pom.xml
浏览文件 @
b5480816
...
...
@@ -29,7 +29,6 @@
<dependency>
<groupId>
org.springframework.cloud
</groupId>
<artifactId>
spring-cloud-openfeign-core
</artifactId>
<version>
RELEASE
</version>
</dependency>
</dependencies>
...
...
This diff is collapsed.
Click to expand it.
search-service-project/search-service-api/pom.xml
浏览文件 @
b5480816
...
...
@@ -26,6 +26,10 @@
<groupId>
org.projectlombok
</groupId>
<artifactId>
lombok
</artifactId>
</dependency>
<dependency>
<groupId>
org.springframework.cloud
</groupId>
<artifactId>
spring-cloud-openfeign-core
</artifactId>
</dependency>
</dependencies>
</project>
This diff is collapsed.
Click to expand it.
search-service-project/search-service-api/src/main/java/cn/iocoder/mall/searchservice/rpc/product/SearchProduct
Rpc
.java
→
search-service-project/search-service-api/src/main/java/cn/iocoder/mall/searchservice/rpc/product/SearchProduct
Feign
.java
浏览文件 @
b5480816
...
...
@@ -6,19 +6,28 @@ import cn.iocoder.mall.searchservice.rpc.product.dto.SearchProductConditionReqDT
import
cn.iocoder.mall.searchservice.rpc.product.dto.SearchProductConditionRespDTO
;
import
cn.iocoder.mall.searchservice.rpc.product.dto.SearchProductPageReqDTO
;
import
cn.iocoder.mall.searchservice.rpc.product.dto.SearchProductRespDTO
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
/**
* 商品搜索 RPC 接口
* Title:
* Description:
*
* @author zhuyang
* @version 1.0 2021/10/9
*/
public
interface
SearchProductRpc
{
@FeignClient
(
value
=
"search-service"
)
public
interface
SearchProductFeign
{
/**
* 获得商品搜索分页
*
* @param pageReqDTO 分页请求 DTO
* @return 商品搜索分页结果
*/
CommonResult
<
PageResult
<
SearchProductRespDTO
>>
pageSearchProduct
(
SearchProductPageReqDTO
pageReqDTO
);
@PostMapping
(
"/search/product//pageSearchProduct"
)
CommonResult
<
PageResult
<
SearchProductRespDTO
>>
pageSearchProduct
(
@RequestBody
SearchProductPageReqDTO
pageReqDTO
);
/**
* 获得商品搜索条件
...
...
@@ -26,6 +35,6 @@ public interface SearchProductRpc {
* @param conditionReqDTO 搜索条件 DTO
* @return 搜索条件
*/
CommonResult
<
SearchProductConditionRespDTO
>
getSearchProductCondition
(
SearchProductConditionReqDTO
conditionReqDTO
);
@PostMapping
(
"/search/product/getSearchProductCondition"
)
CommonResult
<
SearchProductConditionRespDTO
>
getSearchProductCondition
(
@RequestBody
SearchProductConditionReqDTO
conditionReqDTO
);
}
This diff is collapsed.
Click to expand it.
search-service-project/search-service-app/pom.xml
浏览文件 @
b5480816
...
...
@@ -105,6 +105,10 @@
<groupId>
org.springframework.cloud
</groupId>
<artifactId>
spring-cloud-starter-openfeign
</artifactId>
</dependency>
<dependency>
<groupId>
io.swagger
</groupId>
<artifactId>
swagger-annotations
</artifactId>
</dependency>
</dependencies>
<build>
...
...
This diff is collapsed.
Click to expand it.
search-service-project/search-service-app/src/main/java/cn/iocoder/mall/searchservice/
rpc/product/SearchProductRpcImpl
.java
→
search-service-project/search-service-app/src/main/java/cn/iocoder/mall/searchservice/
controller/SearchProductController
.java
浏览文件 @
b5480816
package
cn
.
iocoder
.
mall
.
searchservice
.
rpc
.
product
;
package
cn
.
iocoder
.
mall
.
searchservice
.
controller
;
import
cn.iocoder.common.framework.vo.CommonResult
;
import
cn.iocoder.common.framework.vo.PageResult
;
...
...
@@ -7,24 +7,47 @@ import cn.iocoder.mall.searchservice.rpc.product.dto.SearchProductConditionReqDT
import
cn.iocoder.mall.searchservice.rpc.product.dto.SearchProductConditionRespDTO
;
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
io.swagger.annotations.Api
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
static
cn
.
iocoder
.
common
.
framework
.
vo
.
CommonResult
.
success
;
@DubboService
public
class
SearchProductRpcImpl
implements
SearchProductRpc
{
/**
* Title:
* Description:
*
* @author zhuyang
* @version 1.0 2021/10/9
*/
@RestController
@RequestMapping
(
"/search/product"
)
@Api
(
"商品搜索"
)
public
class
SearchProductController
{
@Autowired
private
SearchProductManager
searchProductManager
;
@Override
public
CommonResult
<
PageResult
<
SearchProductRespDTO
>>
pageSearchProduct
(
SearchProductPageReqDTO
pageReqDTO
)
{
return
success
(
searchProductManager
.
pageSearchProduct
(
pageReqDTO
));
/**
* 获得商品搜索分页
*
* @param pageReqDTO 分页请求 DTO
* @return 商品搜索分页结果
*/
@PostMapping
(
"/pageSearchProduct"
)
CommonResult
<
PageResult
<
SearchProductRespDTO
>>
pageSearchProduct
(
@RequestBody
SearchProductPageReqDTO
pageReqDTO
){
return
success
(
searchProductManager
.
pageSearchProduct
(
pageReqDTO
));
}
@Override
public
CommonResult
<
SearchProductConditionRespDTO
>
getSearchProductCondition
(
SearchProductConditionReqDTO
conditionReqDTO
)
{
/**
* 获得商品搜索条件
*
* @param conditionReqDTO 搜索条件 DTO
* @return 搜索条件
*/
@PostMapping
(
"/getSearchProductCondition"
)
CommonResult
<
SearchProductConditionRespDTO
>
getSearchProductCondition
(
@RequestBody
SearchProductConditionReqDTO
conditionReqDTO
){
return
success
(
searchProductManager
.
getSearchProductCondition
(
conditionReqDTO
));
}
...
...
This diff is collapsed.
Click to expand it.
shop-web-app/src/main/java/cn/iocoder/mall/shopweb/ShopWebApplication.java
浏览文件 @
b5480816
...
...
@@ -7,7 +7,7 @@ import org.springframework.cloud.openfeign.EnableFeignClients;
@SpringBootApplication
@EnableDiscoveryClient
@EnableFeignClients
(
basePackages
=
{
"cn.iocoder.mall.productservice.rpc"
})
@EnableFeignClients
(
basePackages
=
{
"cn.iocoder.mall.productservice.rpc"
,
"cn.iocoder.mall.searchservice.rpc"
})
public
class
ShopWebApplication
{
public
static
void
main
(
String
[]
args
)
{
...
...
This diff is collapsed.
Click to expand it.
shop-web-app/src/main/java/cn/iocoder/mall/shopweb/service/product/ProductSpuManager.java
浏览文件 @
b5480816
...
...
@@ -9,7 +9,7 @@ import cn.iocoder.mall.productservice.rpc.category.dto.ProductCategoryRespDTO;
import
cn.iocoder.mall.productservice.rpc.spu.ProductSpuFeign
;
import
cn.iocoder.mall.productservice.rpc.spu.dto.ProductSpuDetailRespDTO
;
import
cn.iocoder.mall.searchservice.enums.product.SearchProductConditionFieldEnum
;
import
cn.iocoder.mall.searchservice.rpc.product.SearchProduct
Rpc
;
import
cn.iocoder.mall.searchservice.rpc.product.SearchProduct
Feign
;
import
cn.iocoder.mall.searchservice.rpc.product.dto.SearchProductConditionReqDTO
;
import
cn.iocoder.mall.searchservice.rpc.product.dto.SearchProductConditionRespDTO
;
import
cn.iocoder.mall.searchservice.rpc.product.dto.SearchProductRespDTO
;
...
...
@@ -18,7 +18,6 @@ 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.controller.product.vo.product.ProductSpuSearchConditionRespVO
;
import
cn.iocoder.mall.shopweb.convert.product.ProductSpuConvert
;
import
org.apache.dubbo.config.annotation.DubboReference
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.validation.annotation.Validated
;
...
...
@@ -34,9 +33,8 @@ import java.util.List;
@Validated
public
class
ProductSpuManager
{
@DubboReference
(
version
=
"${dubbo.consumer.SearchProductRpc.version}"
)
private
SearchProductRpc
searchProductRpc
;
@Autowired
private
SearchProductFeign
searchProductFeign
;
@Autowired
private
ProductCategoryFeign
productCategoryFeign
;
...
...
@@ -45,7 +43,7 @@ public class ProductSpuManager {
public
PageResult
<
ProductSpuRespVO
>
pageProductSpu
(
ProductSpuPageReqVO
pageReqVO
)
{
CommonResult
<
PageResult
<
SearchProductRespDTO
>>
pageResult
=
searchProduct
Rpc
.
pageSearchProduct
(
ProductSpuConvert
.
INSTANCE
.
convert
(
pageReqVO
));
searchProduct
Feign
.
pageSearchProduct
(
ProductSpuConvert
.
INSTANCE
.
convert
(
pageReqVO
));
pageResult
.
checkError
();
return
ProductSpuConvert
.
INSTANCE
.
convertPage
(
pageResult
.
getData
());
}
...
...
@@ -53,7 +51,7 @@ public class ProductSpuManager {
public
ProductSpuSearchConditionRespVO
getProductSpuSearchCondition
(
String
keyword
)
{
// 获得搜索条件
CommonResult
<
SearchProductConditionRespDTO
>
getSearchProductConditionResult
=
searchProduct
Rpc
.
getSearchProductCondition
(
new
SearchProductConditionReqDTO
().
setKeyword
(
keyword
)
searchProduct
Feign
.
getSearchProductCondition
(
new
SearchProductConditionReqDTO
().
setKeyword
(
keyword
)
.
setFields
(
Collections
.
singletonList
(
SearchProductConditionFieldEnum
.
CATEGORY
.
getField
())));
getSearchProductConditionResult
.
checkError
();
// 拼接结果
...
...
This diff is collapsed.
Click to expand it.
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论