Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
I
ims-ci-test
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
test-ci
ims-ci-test
Commits
1d6948d8
提交
1d6948d8
authored
6月 29, 2023
作者:
xiaowang
提交者:
余乾开
7月 01, 2023
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
用户信息修改同步动态信息
上级
b0e4dab1
隐藏空白字符变更
内嵌
并排
正在显示
9 个修改的文件
包含
215 行增加
和
61 行删除
+215
-61
UserAccountVO.java
...odel/src/main/java/com/mmc/csf/user/vo/UserAccountVO.java
+88
-0
pom.xml
release-service/pom.xml
+27
-15
RabbitmqConstant.java
...n/java/com/mmc/csf/release/constant/RabbitmqConstant.java
+11
-0
DynamicDAO.java
...ice/src/main/java/com/mmc/csf/release/dao/DynamicDAO.java
+4
-0
MqConsumer.java
...main/java/com/mmc/csf/release/mq/listener/MqConsumer.java
+47
-0
application-dev.yml
release-service/src/main/resources/application-dev.yml
+6
-16
application-local.yml
release-service/src/main/resources/application-local.yml
+4
-15
application-prod.yml
release-service/src/main/resources/application-prod.yml
+4
-15
DynamicMapper.xml
...service/src/main/resources/mapper/forum/DynamicMapper.xml
+24
-0
没有找到文件。
csf-common/csf-common-model/src/main/java/com/mmc/csf/user/vo/UserAccountVO.java
0 → 100644
浏览文件 @
1d6948d8
package
com
.
mmc
.
csf
.
user
.
vo
;
import
com.mmc.csf.release.model.group.Update
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
javax.validation.constraints.Email
;
import
javax.validation.constraints.NotNull
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* @author: zj @Date: 2023/5/16 21:18
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public
class
UserAccountVO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
7067111726054578883L
;
@ApiModelProperty
(
value
=
"用户id"
)
@NotNull
(
message
=
"用户id不能为空"
,
groups
=
{
Update
.
class
})
private
Integer
id
;
@ApiModelProperty
(
value
=
"用户类型"
)
private
Integer
accountType
;
@ApiModelProperty
(
value
=
"用户uid"
)
private
String
uid
;
@ApiModelProperty
(
value
=
"用户账号"
)
private
String
accountNo
;
@ApiModelProperty
(
value
=
"手机号"
)
private
String
phoneNum
;
@ApiModelProperty
(
value
=
"用户名称"
)
private
String
userName
;
@ApiModelProperty
(
value
=
"用户昵称"
)
private
String
nickName
;
@ApiModelProperty
(
value
=
"用户头像"
)
private
String
userImg
;
@ApiModelProperty
(
value
=
"用户性别:0未知、1男、2女"
)
private
Integer
userSex
;
@ApiModelProperty
(
value
=
"用户邮箱"
)
@Email
private
String
email
;
@ApiModelProperty
(
value
=
"用户来源,0自然流、1海报、2抖音、3公众号、4社群、5招投标、6官网"
)
private
Integer
source
;
@ApiModelProperty
(
value
=
"用户可用状态:0禁用、1可用"
)
private
Integer
accountStatus
;
@ApiModelProperty
(
value
=
"备注"
)
private
String
remark
;
@ApiModelProperty
(
value
=
"账号类型:0后台管理账号 ; 100云享飞-客户端;"
)
private
Integer
portType
;
@ApiModelProperty
(
value
=
"注册时间"
)
private
Date
createTime
;
@ApiModelProperty
(
value
=
"企业认证状态, 0未通过,1通过"
)
private
Integer
companyAuthStatus
;
@ApiModelProperty
(
value
=
"合作标签id"
)
private
Integer
cooperationTagId
;
@ApiModelProperty
(
value
=
"企业名称"
)
private
String
companyName
;
@ApiModelProperty
(
value
=
"合作标签名称"
)
private
String
tagName
;
@ApiModelProperty
(
value
=
"是否删除"
)
private
Integer
deleted
;
}
release-service/pom.xml
浏览文件 @
1d6948d8
...
...
@@ -24,16 +24,16 @@
</dependency>
<!-- Eureka 客户端, 客户端向 Eureka Server 注册的时候会提供一系列的元数据信息, 例如: 主机, 端口, 健康检查url等
Eureka Server 接受每个客户端发送的心跳信息, 如果在某个配置的超时时间内未接收到心跳信息, 实例会被从注册列表中移除 -->
<!-- <dependency>-->
<!-- <groupId>org.springframework.cloud</groupId>-->
<!-- <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>-->
<!-- <exclusions>-->
<!-- <exclusion>-->
<!-- <groupId>com.google.guava</groupId>-->
<!-- <artifactId>guava</artifactId>-->
<!-- </exclusion>-->
<!-- </exclusions>-->
<!-- </dependency>-->
<!-- <dependency>-->
<!-- <groupId>org.springframework.cloud</groupId>-->
<!-- <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>-->
<!-- <exclusions>-->
<!-- <exclusion>-->
<!-- <groupId>com.google.guava</groupId>-->
<!-- <artifactId>guava</artifactId>-->
<!-- </exclusion>-->
<!-- </exclusions>-->
<!-- </dependency>-->
<!-- 引入 Feign, 可以以声明的方式调用微服务 -->
<dependency>
...
...
@@ -95,11 +95,11 @@
<version>
0.0.1-SNAPSHOT
</version>
</dependency>
<!-- <!– RabbitMQ –>-->
<!-- <dependency>-->
<!-- <groupId>org.springframework.boot</groupId>-->
<!-- <artifactId>spring-boot-starter-amqp</artifactId>-->
<!-- </dependency>-->
<!-- <!– RabbitMQ –>-->
<!-- <dependency>-->
<!-- <groupId>org.springframework.boot</groupId>-->
<!-- <artifactId>spring-boot-starter-amqp</artifactId>-->
<!-- </dependency>-->
<!-- easypoi导出 -->
<dependency>
...
...
@@ -115,6 +115,18 @@
<artifactId>
easypoi-annotation
</artifactId>
</dependency>
<!-- RabbitMQ -->
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-amqp
</artifactId>
</dependency>
<dependency>
<groupId>
com.rabbitmq
</groupId>
<artifactId>
amqp-client
</artifactId>
<version>
5.5.0
</version>
<!-- 支持开源所有版本 -->
</dependency>
</dependencies>
...
...
release-service/src/main/java/com/mmc/csf/release/constant/RabbitmqConstant.java
0 → 100644
浏览文件 @
1d6948d8
package
com
.
mmc
.
csf
.
release
.
constant
;
/**
* @author: zj @Date: 2023/6/26 17:57
*/
public
class
RabbitmqConstant
{
public
static
final
String
USER_INFO_UPDATE_FANOUT_EXCHANGE
=
"USER_INFO_UPDATE_FANOUT_EXCHANGE"
;
public
static
final
String
USER_INFO_UPDATE_FANOUT_FORUM_QUEUE
=
"USER_INFO_UPDATE_FANOUT_FORUM_QUEUE"
;
}
release-service/src/main/java/com/mmc/csf/release/dao/DynamicDAO.java
浏览文件 @
1d6948d8
...
...
@@ -131,4 +131,8 @@ public interface DynamicDAO {
void
deleteDynamic
(
Integer
dynamicId
);
void
hiddenDynamic
(
Integer
dynamicId
);
List
<
ForumDynamicDO
>
listDynamicByUserId
(
Integer
id
);
void
batchDeleteDynamic
(
List
<
Integer
>
dynamicIds
);
}
release-service/src/main/java/com/mmc/csf/release/mq/listener/MqConsumer.java
0 → 100644
浏览文件 @
1d6948d8
package
com
.
mmc
.
csf
.
release
.
mq
.
listener
;
import
com.alibaba.fastjson.JSONObject
;
import
com.github.xiaoymin.knife4j.core.util.CollectionUtils
;
import
com.mmc.csf.release.constant.RabbitmqConstant
;
import
com.mmc.csf.release.dao.DynamicDAO
;
import
com.mmc.csf.release.dao.LikeDAO
;
import
com.mmc.csf.release.entity.forum.ForumDynamicDO
;
import
com.mmc.csf.user.vo.UserAccountVO
;
import
com.rabbitmq.client.Channel
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.amqp.core.Message
;
import
org.springframework.amqp.rabbit.annotation.RabbitListener
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.messaging.handler.annotation.Payload
;
import
org.springframework.stereotype.Component
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
* @Author LW
*
* @date 2023/6/29 10:35 概要:
*/
@Slf4j
@Component
public
class
MqConsumer
{
@Autowired
DynamicDAO
dynamicDAO
;
@Autowired
LikeDAO
likeDAO
;
@RabbitListener
(
queues
=
RabbitmqConstant
.
USER_INFO_UPDATE_FANOUT_FORUM_QUEUE
)
public
void
subscribeFanoutQueue
(
@Payload
String
userAccount
,
Channel
channel
,
Message
message
)
{
UserAccountVO
userAccountVO
=
JSONObject
.
parseObject
(
userAccount
,
UserAccountVO
.
class
);
log
.
info
(
"用户信息更改====>论坛消费者消费开始:用户信息是---->{}"
,
userAccount
);
if
(
userAccountVO
.
getDeleted
()
!=
null
&&
userAccountVO
.
getDeleted
().
equals
(
1
))
{
// 删除关于该用户的所有动态及评论和点赞信息
List
<
ForumDynamicDO
>
forumDynamicList
=
dynamicDAO
.
listDynamicByUserId
(
userAccountVO
.
getId
());
if
(
CollectionUtils
.
isNotEmpty
(
forumDynamicList
))
{
List
<
Integer
>
dynamicIds
=
forumDynamicList
.
stream
().
map
(
ForumDynamicDO:
:
getId
).
collect
(
Collectors
.
toList
());
dynamicDAO
.
batchDeleteDynamic
(
dynamicIds
);
}
}
log
.
info
(
"用户信息更改====>论坛消费者消费结束。"
);
}
}
release-service/src/main/resources/application-dev.yml
浏览文件 @
1d6948d8
...
...
@@ -67,24 +67,14 @@ spring:
max-idle
:
8
#初始化最小
min-idle
:
1
#rabbitMQ
#rabbitMQ
#rabbitMQ
rabbitmq
:
host
:
119.23.248.181
host
:
amqp-cn-zvp2ozhnj001.cn-shenzhen.amqp-0.net.mq.amqp.aliyuncs.com
port
:
5672
username
:
admin
password
:
mmc123456
virtual-host
:
/
listener
:
simple
:
#acknowledge-mode: manual #设置确认模式手工确认
concurrency
:
3
#消费者最小数量
max-concurrency
:
10
# 消费者最大数量
# 一般消费者自动签收模式下可以添加下面配置,用于消费抛出异常后进行消息重新投递设置
retry
:
enabled
:
true
#是否开启消费者重试(为false时关闭消费者重试)
max-attempts
:
3
# 最大重试重新投递消息次数
initial-interval
:
900s
#重试重新投递消息间隔时间(单位秒)
default-requeue-rejected
:
false
#重试次数超过上面的设置之后是否丢弃(消费者listener抛出异常,是否重回队列,默认true:重回队列, false为不重回队列(结合死信交换机))
username
:
MjphbXFwLWNuLXp2cDJvemhuajAwMTpMVEFJNEZ6Q3B5ckEzM1BlZ254V1M2WFY=
password
:
RTg3OUMxQzk4NzU0NDQ4RkQ1RDg4MkEzQjY4M0M3MkQxOTM2QkEyNDoxNjUyNDA4NDk0NDg4
virtual-host
:
dev
#eureka eureka.client.register-with-eureka=true
eureka
:
...
...
release-service/src/main/resources/application-local.yml
浏览文件 @
1d6948d8
...
...
@@ -68,24 +68,13 @@ spring:
max-idle
:
8
#初始化最小
min-idle
:
1
#rabbitMQ
#rabbitMQ
rabbitmq
:
host
:
119.23.248.181
host
:
amqp-cn-zvp2ozhnj001.cn-shenzhen.amqp-0.net.mq.amqp.aliyuncs.com
port
:
5672
username
:
admin
password
:
mmc123456
username
:
MjphbXFwLWNuLXp2cDJvemhuajAwMTpMVEFJNEZ6Q3B5ckEzM1BlZ254V1M2WFY=
password
:
RTg3OUMxQzk4NzU0NDQ4RkQ1RDg4MkEzQjY4M0M3MkQxOTM2QkEyNDoxNjUyNDA4NDk0NDg4
virtual-host
:
/
listener
:
simple
:
#acknowledge-mode: manual #设置确认模式手工确认
concurrency
:
3
#消费者最小数量
max-concurrency
:
10
# 消费者最大数量
# 一般消费者自动签收模式下可以添加下面配置,用于消费抛出异常后进行消息重新投递设置
retry
:
enabled
:
true
#是否开启消费者重试(为false时关闭消费者重试)
max-attempts
:
3
# 最大重试重新投递消息次数
initial-interval
:
900s
#重试重新投递消息间隔时间(单位秒)
default-requeue-rejected
:
false
#重试次数超过上面的设置之后是否丢弃(消费者listener抛出异常,是否重回队列,默认true:重回队列, false为不重回队列(结合死信交换机))
#eureka eureka.client.register-with-eureka=true
eureka
:
...
...
release-service/src/main/resources/application-prod.yml
浏览文件 @
1d6948d8
...
...
@@ -69,22 +69,11 @@ spring:
min-idle
:
1
#rabbitMQ
rabbitmq
:
host
:
119.23.248.181
host
:
amqp-cn-zvp2ozhnj001.cn-shenzhen.amqp-0.net.mq.amqp.aliyuncs.com
port
:
5672
username
:
admin
password
:
mmc123456
virtual-host
:
/
listener
:
simple
:
#acknowledge-mode: manual #设置确认模式手工确认
concurrency
:
3
#消费者最小数量
max-concurrency
:
10
# 消费者最大数量
# 一般消费者自动签收模式下可以添加下面配置,用于消费抛出异常后进行消息重新投递设置
retry
:
enabled
:
true
#是否开启消费者重试(为false时关闭消费者重试)
max-attempts
:
3
# 最大重试重新投递消息次数
initial-interval
:
900s
#重试重新投递消息间隔时间(单位秒)
default-requeue-rejected
:
false
#重试次数超过上面的设置之后是否丢弃(消费者listener抛出异常,是否重回队列,默认true:重回队列, false为不重回队列(结合死信交换机))
username
:
MjphbXFwLWNuLXp2cDJvemhuajAwMTpMVEFJNEZ6Q3B5ckEzM1BlZ254V1M2WFY=
password
:
RTg3OUMxQzk4NzU0NDQ4RkQ1RDg4MkEzQjY4M0M3MkQxOTM2QkEyNDoxNjUyNDA4NDk0NDg4
virtual-host
:
prod
#eureka eureka.client.register-with-eureka=true
eureka
:
...
...
release-service/src/main/resources/mapper/forum/DynamicMapper.xml
浏览文件 @
1d6948d8
...
...
@@ -52,6 +52,14 @@
from forum_dynamic
where id = #{dynamicId}
</delete>
<delete
id=
"batchDeleteDynamic"
>
delete from forum_dynamic
<where>
<foreach
collection=
"list"
item=
"d"
open=
"id in ("
close=
")"
separator=
","
index=
"index"
>
#{d}
</foreach>
</where>
</delete>
<select
id=
"getDynamicInfo"
resultType=
"com.mmc.csf.release.entity.forum.ForumDynamicDO"
>
select id,
version,
...
...
@@ -150,4 +158,19 @@
where root_path = #{dynamicId}
and is_deleted = 0
</select>
<select
id=
"listDynamicByUserId"
resultType=
"com.mmc.csf.release.entity.forum.ForumDynamicDO"
>
select id,
version,
user_account_id,
root_path,
description,
location,
lat,
lon,
likes_count,
comments_count,
create_time
from forum_dynamic
where user_account_id = #{id}
</select>
</mapper>
\ No newline at end of file
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论