Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
I
ims
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
iuav
ims
Commits
1d6948d8
提交
1d6948d8
authored
6月 29, 2023
作者:
xiaowang
提交者:
余乾开
7月 01, 2023
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
用户信息修改同步动态信息
上级
b0e4dab1
显示空白字符变更
内嵌
并排
正在显示
9 个修改的文件
包含
213 行增加
和
59 行删除
+213
-59
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
+5
-15
application-local.yml
release-service/src/main/resources/application-local.yml
+3
-14
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
...
...
@@ -68,23 +68,13 @@ spring:
#初始化最小
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
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
...
...
@@ -70,22 +70,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
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
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论