Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
Y
yudao-cloud
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
hblj
yudao-cloud
Commits
ab043828
提交
ab043828
authored
7月 02, 2019
作者:
xiaofeng
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
添加商品收藏
上级
5c2c4da6
显示空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
163 行增加
和
0 行删除
+163
-0
UsersProductSpuCollectionController.java
...controller/users/UsersProductSpuCollectionController.java
+40
-0
ProductSpuCollectionService.java
...iocoder/mall/product/api/ProductSpuCollectionService.java
+19
-0
ProductSpuCollectionMessage.java
...mall/product/api/message/ProductSpuCollectionMessage.java
+46
-0
ProductSpuCollectionServiceImpl.java
...mall/product/service/ProductSpuCollectionServiceImpl.java
+56
-0
application.yaml
...t-service-impl/src/main/resources/config/application.yaml
+2
-0
没有找到文件。
product/product-application/src/main/java/cn/iocoder/mall/product/application/controller/users/UsersProductSpuCollectionController.java
0 → 100644
浏览文件 @
ab043828
package
cn
.
iocoder
.
mall
.
product
.
application
.
controller
.
users
;
import
cn.iocoder.common.framework.vo.CommonResult
;
import
cn.iocoder.mall.product.api.ProductSpuCollectionService
;
import
cn.iocoder.mall.user.sdk.annotation.RequiresLogin
;
import
cn.iocoder.mall.user.sdk.context.UserSecurityContextHolder
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.apache.dubbo.config.annotation.Reference
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
static
cn
.
iocoder
.
common
.
framework
.
vo
.
CommonResult
.
success
;
/**
* 商品收藏接口
* @author xiaofeng
* @date 2019/07/01 23:21
* @version 1.0
*/
@RestController
@RequestMapping
(
"users/spu"
)
@Api
(
"商品收藏"
)
public
class
UsersProductSpuCollectionController
{
@Reference
(
validation
=
"true"
,
version
=
"${dubbo.provider.ProductSpuCollectionService.version}"
)
private
ProductSpuCollectionService
productSpuCollectionService
;
@PostMapping
(
"/collection/{spuId}/{hasCollectionType}"
)
@ApiOperation
(
"商品收藏"
)
// @RequiresLogin
public
CommonResult
<
Boolean
>
productSpuCollection
(
@PathVariable
(
"spuId"
)
Integer
spuId
,
@PathVariable
(
"hasCollectionType"
)
Integer
hasCollectionType
)
{
// final Integer userId = UserSecurityContextHolder.getContext().getUserId();
return
success
(
productSpuCollectionService
.
productSpuCollection
(
spuId
,
hasCollectionType
,
140
));
}
}
product/product-service-api/src/main/java/cn/iocoder/mall/product/api/ProductSpuCollectionService.java
0 → 100644
浏览文件 @
ab043828
package
cn
.
iocoder
.
mall
.
product
.
api
;
/**
* 商品收藏
* @author xiaofeng
* @date 2019/07/01 23:13
* @version 1.0
*/
public
interface
ProductSpuCollectionService
{
/**
* 商品收藏
* @param spuId
* @param hasCollectionType 1 商品收藏 2 取消收藏
* @param userId
* @return
*/
boolean
productSpuCollection
(
Integer
spuId
,
Integer
hasCollectionType
,
Integer
userId
);
}
product/product-service-api/src/main/java/cn/iocoder/mall/product/api/message/ProductSpuCollectionMessage.java
0 → 100644
浏览文件 @
ab043828
package
cn
.
iocoder
.
mall
.
product
.
api
.
message
;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
/**
* 商品收藏或取消收藏时发送消息
* @author xiaofeng
* @date 2019/07/01 22:33
* @version 1.0
*/
@Data
@Accessors
(
chain
=
true
)
public
class
ProductSpuCollectionMessage
{
public
static
final
String
TOPIC
=
"ProductSpuCollection"
;
/**
* SPU 编号
*/
private
Integer
spuId
;
/**
* 用户ID
*/
private
Integer
userId
;
// ========== 基本信息 =========
/**
* SPU 名字
*/
private
String
spuName
;
/**
* 商品图片
*/
private
String
spuImage
;
/**
* 1 收藏 2 取消
*/
private
Integer
hasCollectionType
;
}
product/product-service-impl/src/main/java/cn/iocoder/mall/product/service/ProductSpuCollectionServiceImpl.java
0 → 100644
浏览文件 @
ab043828
package
cn
.
iocoder
.
mall
.
product
.
service
;
import
cn.iocoder.common.framework.util.ServiceExceptionUtil
;
import
cn.iocoder.mall.product.api.ProductSpuCollectionService
;
import
cn.iocoder.mall.product.api.constant.ProductErrorCodeEnum
;
import
cn.iocoder.mall.product.api.message.ProductSpuCollectionMessage
;
import
cn.iocoder.mall.product.dao.ProductSpuMapper
;
import
cn.iocoder.mall.product.dataobject.ProductSpuDO
;
import
org.apache.rocketmq.spring.core.RocketMQTemplate
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
javax.annotation.Resource
;
/**
* ProductSpuCollectionServiceImpl
* @author xiaofeng
* @date 2019/07/01 23:14
* @version 1.0
*/
@Service
// 实际上不用添加。添加的原因是,必须 Spring 报错提示
@org
.
apache
.
dubbo
.
config
.
annotation
.
Service
(
validation
=
"true"
,
version
=
"${dubbo.provider.ProductSpuCollectionService.version}"
)
public
class
ProductSpuCollectionServiceImpl
implements
ProductSpuCollectionService
{
@Autowired
private
ProductSpuMapper
productSpuMapper
;
@Resource
private
RocketMQTemplate
rocketMQTemplate
;
@Override
public
boolean
productSpuCollection
(
Integer
spuId
,
Integer
hasCollectionType
,
Integer
userId
)
{
ProductSpuDO
productSpuDO
=
this
.
productSpuMapper
.
selectById
(
spuId
);
// 校验 Spu 是否存在
if
(
productSpuDO
==
null
)
{
throw
ServiceExceptionUtil
.
exception
(
ProductErrorCodeEnum
.
PRODUCT_SPU_NOT_EXISTS
.
getCode
());
}
this
.
sendProductSpuCollectionMessage
(
productSpuDO
,
hasCollectionType
,
userId
);
return
Boolean
.
TRUE
;
}
/**
* 发送商品收藏或取消消息
* @param productSpuDO
* @param hasCollectionType
*/
private
void
sendProductSpuCollectionMessage
(
final
ProductSpuDO
productSpuDO
,
final
Integer
hasCollectionType
,
final
Integer
userId
)
{
ProductSpuCollectionMessage
productSpuCollectionMessage
=
new
ProductSpuCollectionMessage
()
.
setSpuId
(
productSpuDO
.
getId
()).
setSpuName
(
productSpuDO
.
getName
())
.
setSpuImage
(
productSpuDO
.
getPicUrls
()).
setHasCollectionType
(
hasCollectionType
)
.
setUserId
(
userId
);
rocketMQTemplate
.
convertAndSend
(
ProductSpuCollectionMessage
.
TOPIC
,
productSpuCollectionMessage
);
}
}
product/product-service-impl/src/main/resources/config/application.yaml
浏览文件 @
ab043828
...
...
@@ -35,6 +35,8 @@ dubbo:
version
:
1.0.0
OAuth2Service
:
version
:
1.0.0
ProductSpuCollectionService
:
version
:
1.0.0
# rocketmq
rocketmq
:
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论