Skip to content
Toggle navigation
Toggle navigation
This project
Loading...
Sign in
向汉
/
uc-consumer
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Issue Boards
Files
Commits
Network
Compare
Branches
Tags
Commit
32ee9bbe
...
32ee9bbebac31062c35fe8e6d98a6aa16d89d9ce
authored
2022-04-06 22:02:48 +0800
by
xianghan
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
1.优化
1 parent
d709c393
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
118 additions
and
172 deletions
src/main/java/com/topdraw/business/process/service/impl/UserOperationServiceImpl.java
src/main/java/com/topdraw/config/RabbitMqConfig.java
src/main/java/com/topdraw/config/RabbitmqStartupCondition.java
src/main/java/com/topdraw/mq/consumer/UcEngineManagementEventConsumer.java
src/main/java/com/topdraw/mq/consumer/UcEventBusConsumer.java
src/main/java/com/topdraw/mq/consumer/UcGatewayEventConsumer.java
src/main/java/com/topdraw/mq/consumer/WeiXinEventConsumer.java
src/main/resources/config/application-dev.yml
src/main/java/com/topdraw/business/process/service/impl/UserOperationServiceImpl.java
View file @
32ee9bb
...
...
@@ -58,6 +58,7 @@ public class UserOperationServiceImpl implements UserOperationService {
// 会员不存在
MemberDTO
memberDTO
=
memberAndWeixinUserDTO
.
getMemberDTO
();
memberDTO
.
setId
(
null
);
MemberDTO
_memberDTO
=
this
.
createMember
(
memberDTO
);
userWeixinDTO
.
setMemberId
(
_memberDTO
.
getId
());
...
...
@@ -87,8 +88,9 @@ public class UserOperationServiceImpl implements UserOperationService {
UserTvDTO
_userTvDTO
=
this
.
userTvService
.
findByPlatformAccount
(
platformAccount
);
if
(
Objects
.
isNull
(
_userTvDTO
))
{
memberDTO
.
setId
(
null
);
// 创建大屏会员
MemberDTO
_memberDTO
=
this
.
createMember
(
member
AndUserTvDTO
.
getMemberDTO
()
);
MemberDTO
_memberDTO
=
this
.
createMember
(
member
DTO
);
userTvDTO
.
setMemberId
(
_memberDTO
.
getId
());
// 创建大屏账号
this
.
createUserTv
(
userTvDTO
);
...
...
src/main/java/com/topdraw/config/RabbitMqConfig.java
View file @
32ee9bb
...
...
@@ -18,7 +18,6 @@ import org.springframework.context.annotation.Primary;
@Configuration
public
class
RabbitMqConfig
{
//////////////////////////////////////////////////////// OMO 小屏///////////////////////////////////////////////////////////////
/** 获取带参二维码(大屏->小屏) */
...
...
@@ -36,21 +35,6 @@ public class RabbitMqConfig {
/** 微信侧 公众号关注与取消关注 */
public
static
final
String
WEIXIN_SUBORUNSUB_QUEUE
=
"weixin.subOrUnSub.queue"
;
//////////////////////////////////////////////////////// 重数 ///////////////////////////////////////////////////////////////
/** 路由(事件)--direct route.key*/
// 事件,uc-gateway
// public static final String UC_ROUTE_KEY_DIRECT_EVENT_AAA = "uc.route.key.direct.event.aaa";
public
static
final
String
UC_ROUTE_KEY_DIRECT_EVENT_AAA
=
"gateway.common.consumer.event.direct"
;
public
static
final
String
UC_EVENTBUS_TOPIC
=
"uc.eventbus.aa"
;
// uc-service 服务侧
public
static
final
String
UC_ROUTE_KEY_DIRECT_EVENT_BBB
=
"uc.route.key.direct.event.bbb"
;
// uc-service 管理侧
public
static
final
String
UC_ROUTE_KEY_DIRECT_EVENT_CCC
=
"uc.route.key.direct.event.ccc"
;
public
static
final
String
ENGINE_TO_IPTV_CONSUMER_MEMBER_DIRECT
=
"engine.iptv.consumer.member.direct"
;
@Value
(
"${mutil-mq.service.host}"
)
private
String
serviceHost
;
...
...
@@ -75,7 +59,6 @@ public class RabbitMqConfig {
return
connectionFactory
;
}
// @ConditionalOnProperty(prefix = "mutil-mq", name = "service.startup", havingValue = "on")
@Bean
(
name
=
"serviceRabbitListenerContainerFactory"
)
@Primary
public
RabbitListenerContainerFactory
userCenterRabbitListenerContainerFactory
(
...
...
@@ -94,7 +77,6 @@ public class RabbitMqConfig {
}
@Value
(
"${mutil-mq.management.host}"
)
private
String
managementHost
;
@Value
(
"${mutil-mq.management.port}"
)
...
...
@@ -117,7 +99,6 @@ public class RabbitMqConfig {
return
connectionFactory
;
}
// @ConditionalOnProperty(prefix = "mutil-mq", name = "management.startup", havingValue = "on")
@Bean
(
name
=
"managementRabbitListenerContainerFactory"
)
public
RabbitListenerContainerFactory
memberServiceRabbitListenerContainerFactory
(
SimpleRabbitListenerContainerFactoryConfigurer
containerFactoryConfigurer
,
...
...
@@ -134,44 +115,94 @@ public class RabbitMqConfig {
return
u
;
}
/**************************************************uc-getaway-iptv 2 uc-consumer-service*************************************************************/
public
static
final
String
UC_EVENTBUS
=
"uc.eventbus"
;
public
static
final
String
UC_EVENTBUS_KEY
=
"uc.eventbus.*.topic"
;
public
static
final
String
GATEWAY_TO_SERVICE_DIRECT
=
"uc.gateway.service.direct"
;
/**
* 处理事件
* @return org.springframework.amqp.core.Queue
* @author XiangHan
* @date 2021/9/7 10:19 上午
*/
@Bean
public
Queue
eventDirect
()
{
return
new
Queue
(
UC_ROUTE_KEY_DIRECT_EVENT_AAA
);
return
new
Queue
(
GATEWAY_TO_SERVICE_DIRECT
);
}
/**
* 处理事件
* @return org.springframework.amqp.core.Queue
* @author XiangHan
* @date 2021/9/7 10:19 上午
*/
@Bean
public
Queue
eventTopic
()
{
return
new
Queue
(
UC_EVENTBUS_TOPIC
);
Binding
eventBinding
(
DirectExchange
managementExchange
,
Queue
eventDirect
)
{
BindingBuilder
.
DirectExchangeRoutingKeyConfigurer
directExchangeRoutingKeyConfigurer
=
BindingBuilder
.
bind
(
eventDirect
).
to
(
managementExchange
);
return
directExchangeRoutingKeyConfigurer
.
with
(
ENGINE_TO_SERVICE_DIRECT
);
}
/**************************************************uc-engine-management 2 uc-consumer-service*************************************************************/
public
static
final
String
UC_DIRECT_MANAGEMENT
=
"uc.direct.management"
;
// uc-service-management 2 uc-consumer-iptv
public
static
final
String
ENGINE_TO_SERVICE_DIRECT
=
"uc.engine.service.direct"
;
@Bean
public
Queue
managementDirect
()
{
return
new
Queue
(
ENGINE_TO_SERVICE_DIRECT
);
}
@Bean
DirectExchange
managementExchange
(){
return
ExchangeBuilder
.
directExchange
(
UC_DIRECT_MANAGEMENT
).
build
();
}
@Bean
Binding
managementBinding
(
DirectExchange
managementExchange
,
Queue
managementDirect
)
{
BindingBuilder
.
DirectExchangeRoutingKeyConfigurer
directExchangeRoutingKeyConfigurer
=
BindingBuilder
.
bind
(
managementDirect
).
to
(
managementExchange
);
return
directExchangeRoutingKeyConfigurer
.
with
(
ENGINE_TO_SERVICE_DIRECT
);
}
/**************************************************uc-engine-service 2 uc-consumer-management*************************************************************/
public
static
final
String
UC_DIRECT_SERVICE
=
"uc.direct"
;
// uc-service-iptv 2 uc-consumer-management
public
static
final
String
ENGINE_TO_MANAGEMENT_DIRECT
=
"uc.engine.management.direct"
;
@Bean
public
Queue
serviceDirect
()
{
return
new
Queue
(
ENGINE_TO_MANAGEMENT_DIRECT
);
}
@Bean
DirectExchange
serviceExchange
(){
return
ExchangeBuilder
.
directExchange
(
UC_DIRECT_SERVICE
).
build
();
}
@Bean
Binding
serviceBinding
(
DirectExchange
serviceExchange
,
Queue
serviceDirect
)
{
BindingBuilder
.
DirectExchangeRoutingKeyConfigurer
directExchangeRoutingKeyConfigurer
=
BindingBuilder
.
bind
(
serviceDirect
).
to
(
serviceExchange
);
return
directExchangeRoutingKeyConfigurer
.
with
(
ENGINE_TO_MANAGEMENT_DIRECT
);
}
/**************************************************数据基座*************************************************************/
public
static
final
String
UC_EVENTBUS
=
"uc.eventbus"
;
public
static
final
String
UC_EVENTBUS_KEY
=
"uc.eventbus.*.topic"
;
public
static
final
String
UC_EVENTBUS_TOPIC
=
"uc.eventbus"
;
@Bean
public
Queue
eventBusQueue
()
{
return
new
Queue
(
UC_EVENTBUS_TOPIC
);
}
@Bean
TopicExchange
eventBus
Direct
()
{
TopicExchange
eventBus
Exchange
()
{
return
ExchangeBuilder
.
topicExchange
(
UC_EVENTBUS
)
.
durable
(
true
).
build
();
}
@Bean
Binding
collectionAddBinding
(
TopicExchange
eventBusDirect
,
Queue
eventTopic
)
{
Binding
eventBusBinding
(
TopicExchange
eventBusExchange
,
Queue
eventBusQueue
)
{
return
BindingBuilder
.
bind
(
event
Topic
)
.
to
(
eventBus
Direct
)
.
bind
(
event
BusQueue
)
.
to
(
eventBus
Exchange
)
.
with
(
UC_EVENTBUS_KEY
);
}
}
...
...
src/main/java/com/topdraw/config/RabbitmqStartupCondition.java
deleted
100644 → 0
View file @
d709c39
package
com
.
topdraw
.
config
;
import
org.springframework.context.annotation.Condition
;
import
org.springframework.context.annotation.ConditionContext
;
import
org.springframework.core.type.AnnotatedTypeMetadata
;
/**
* @author :
* @description:
* @function :
* @date :Created in 2022/4/4 17:45
* @version: :
* @modified By:
* @since : modified in 2022/4/4 17:45
*/
public
class
RabbitmqStartupCondition
implements
Condition
{
@Override
public
boolean
matches
(
ConditionContext
conditionContext
,
AnnotatedTypeMetadata
annotatedTypeMetadata
)
{
return
false
;
}
}
src/main/java/com/topdraw/mq/consumer/UcEngineManagementEventConsumer.java
View file @
32ee9bb
...
...
@@ -30,7 +30,7 @@ public class UcEngineManagementEventConsumer {
*/
@RabbitHandler
@RabbitListener
(
bindings
=
{
@QueueBinding
(
value
=
@Queue
(
value
=
RabbitMqConfig
.
UC_ROUTE_KEY_DIRECT_EVENT_CCC
),
@QueueBinding
(
value
=
@Queue
(
value
=
RabbitMqConfig
.
ENGINE_TO_SERVICE_DIRECT
),
exchange
=
@Exchange
(
value
=
ExchangeTypes
.
DIRECT
))
},
containerFactory
=
"serviceRabbitListenerContainerFactory"
)
public
void
ucEventConsumer
(
String
content
)
{
...
...
src/main/java/com/topdraw/mq/consumer/UcEventBusConsumer.java
View file @
32ee9bb
...
...
@@ -38,13 +38,9 @@ public class UcEventBusConsumer {
* @author Hongyan Wang
* @date 2021/9/7 11:26 上午
*/
/*@RabbitHandler
@RabbitListener(bindings = {
@QueueBinding(value = @Queue(value = RabbitMqConfig.UC_EVENTBUS_TOPIC),
exchange = @Exchange(type = ExchangeTypes.TOPIC, name = RabbitMqConfig.UC_EVENTBUS),
key = RabbitMqConfig.UC_EVENTBUS_KEY)
}, containerFactory = "managementRabbitListenerContainerFactory")*/
@RabbitListener
(
queues
=
RabbitMqConfig
.
UC_EVENTBUS_TOPIC
,
containerFactory
=
"managementRabbitListenerContainerFactory"
)
@RabbitHandler
@RabbitListener
(
queues
=
RabbitMqConfig
.
UC_EVENTBUS_TOPIC
,
containerFactory
=
"managementRabbitListenerContainerFactory"
)
public
void
ucEventConsumer
(
String
content
)
{
log
.
info
(
" receive dataSync msg , content is : {} "
,
content
);
DataSyncMsg
dataSyncMsg
=
this
.
parseContent
(
content
);
...
...
src/main/java/com/topdraw/mq/consumer/UcGatewayEventConsumer.java
View file @
32ee9bb
...
...
@@ -28,15 +28,15 @@ public class UcGatewayEventConsumer {
* @author Hongyan Wang
* @date 2021/9/7 11:26 上午
*/
/*
@RabbitHandler
@RabbitHandler
@RabbitListener
(
bindings
=
{
@QueueBinding(value = @Queue(value = RabbitMqConfig.
UC_ROUTE_KEY_DIRECT_EVENT_AAA
),
@QueueBinding
(
value
=
@Queue
(
value
=
RabbitMqConfig
.
GATEWAY_TO_SERVICE_DIRECT
),
exchange
=
@Exchange
(
value
=
ExchangeTypes
.
DIRECT
))
}, containerFactory = "managementRabbitListenerContainerFactory")
*/
},
containerFactory
=
"managementRabbitListenerContainerFactory"
)
public
void
ucEventConsumer
(
String
content
)
{
log
.
info
(
" receive dataSync msg , content is : {} "
,
content
);
DataSyncMsg
dataSyncMsg
=
this
.
parseContent
(
content
);
//
this.taskDeal(dataSyncMsg);
this
.
taskDeal
(
dataSyncMsg
);
log
.
info
(
"ucEventConsumer ====>>>> end"
);
}
...
...
src/main/java/com/topdraw/mq/consumer/WeiXinEventConsumer.java
View file @
32ee9bb
...
...
@@ -10,6 +10,7 @@ import com.topdraw.utils.StringUtils;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.amqp.core.ExchangeTypes
;
import
org.springframework.amqp.rabbit.annotation.*
;
import
org.springframework.amqp.rabbit.listener.RabbitListenerEndpointRegistry
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Component
;
...
...
@@ -22,7 +23,6 @@ import org.springframework.transaction.annotation.Transactional;
@Slf4j
public
class
WeiXinEventConsumer
{
@Autowired
private
RestTemplateClient
restTemplateClient
;
...
...
@@ -32,11 +32,11 @@ public class WeiXinEventConsumer {
* @description 删除用户收藏记录
* @param content 消息内容
*/
@RabbitHandler
/*
@RabbitHandler
@RabbitListener(bindings = {
@QueueBinding(value = @Queue(value = RabbitMqConfig.COLLECTION_DELETE_QUEUE),
exchange = @Exchange(value = ExchangeTypes.DIRECT))},
containerFactory
=
"managementRabbitListenerContainerFactory"
)
containerFactory = "managementRabbitListenerContainerFactory")
*/
public
void
deleteCollection
(
String
content
)
{
try
{
log
.
info
(
"receive UserCollection delete message, content {}"
,
content
);
...
...
@@ -50,11 +50,11 @@ public class WeiXinEventConsumer {
* @description 删除全部收藏记录
* @param content 消息内容
*/
@RabbitHandler
/*
@RabbitHandler
@RabbitListener(bindings = {
@QueueBinding(value = @Queue(value = RabbitMqConfig.COLLECTION_DELETE_ALL_QUEUE),
exchange = @Exchange(value = ExchangeTypes.DIRECT))},
containerFactory
=
"managementRabbitListenerContainerFactory"
)
containerFactory = "managementRabbitListenerContainerFactory")
*/
@Transactional
public
void
deleteAllCollection
(
String
content
)
{
try
{
...
...
@@ -70,11 +70,11 @@ public class WeiXinEventConsumer {
* @param content 消息内容
* @description 获取公众号带参二维码
*/
@RabbitHandler
/*
@RabbitHandler
@RabbitListener(bindings = {
@QueueBinding(value = @Queue(value = RabbitMqConfig.GET_QR_CODE_QUEUE),
exchange = @Exchange(value = ExchangeTypes.DIRECT))},
containerFactory
=
"managementRabbitListenerContainerFactory"
)
containerFactory = "managementRabbitListenerContainerFactory")
*/
public
void
getQrCode
(
String
content
)
{
try
{
log
.
info
(
"receive get qrCode message, content {}"
,
content
);
...
...
@@ -130,11 +130,11 @@ public class WeiXinEventConsumer {
* }
* @param content
*/
@RabbitHandler
/*
@RabbitHandler
@RabbitListener(bindings = {
@QueueBinding(value = @Queue(value = RabbitMqConfig.WEIXIN_SUBORUNSUB_QUEUE),
exchange = @Exchange(value = ExchangeTypes.DIRECT))},
containerFactory
=
"managementRabbitListenerContainerFactory"
)
containerFactory = "managementRabbitListenerContainerFactory")
*/
@Transactional
public
void
subOrUnSubEvent
(
String
content
)
{
try
{
...
...
src/main/resources/config/application-dev.yml
View file @
32ee9bb
...
...
@@ -2,11 +2,14 @@ spring:
# 数据源
datasource
:
# 数据源地址
url
:
jdbc:log4jdbc:mysql://139.196.192.242:3306/tj_user_0819?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false
# 用户名
# url: jdbc:log4jdbc:mysql://139.196.192.242:3306/tj_user_0819?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false
# # 用户名
# username: root
# # 密码
# password: Tjlh@2017
url
:
jdbc:log4jdbc:mysql://122.112.214.149:3306/tj_user_admin?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false
username
:
root
# 密码
password
:
Tjlh@2017
password
:
root
# 驱动程序
driverClassName
:
net.sf.log4jdbc.sql.jdbcapi.DriverSpy
# Druid
...
...
@@ -38,16 +41,6 @@ spring:
url-pattern
:
/*
exclusions
:
"
*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*"
# freemarker
freemarker
:
check-template-location
:
false
jackson
:
time-zone
:
GMT+8
data
:
redis
:
repositories
:
enabled
:
false
# jpa
jpa
:
properties
:
...
...
@@ -59,13 +52,6 @@ spring:
ddl-auto
:
none
open-in-view
:
true
# 文件上传
servlet
:
multipart
:
file-size-threshold
:
2KB
max-file-size
:
100MB
max-request-size
:
200MB
# redis
redis
:
#数据库索引
...
...
@@ -76,29 +62,6 @@ spring:
#连接超时时间
timeout
:
5000
# rabbitmq
# rabbitmq:
# # ip
# host: 139.196.145.150
# # 端口号
# port: 5672
# # 用户名
# username: admin # rabbitmq的用户名
# # 密码
# password: Topdraw1qaz
# # 虚拟空间
# virtual-host: member_center
# # 如果对异步消息需要回调必须设置为true
# publisher-confirms: true
#是否允许生成代码,生产环境设置为false
generator
:
enabled
:
false
#是否开启 swagger-ui
swagger
:
enabled
:
true
###########################################自定义属性#################################################################
# 多mq配置
...
...
@@ -121,6 +84,7 @@ mutil-mq:
username
:
guest
# rabbitmq的用户名
password
:
guest
# rabbitmq的密码
publisher-confirms
:
true
#如果对异步消息需要回调必须设置为true
startup
:
off
# 管理侧
management
:
...
...
@@ -135,54 +99,30 @@ mutil-mq:
# # 虚拟空间
# virtual-host: member_center
# ip
host
:
139.196.145.150
# 端口
port
:
5672
# 用户名
username
:
admin
# 密码
password
:
Topdraw1qaz
# 虚拟空间
virtual-host
:
member_center
#登录图形验证码有效时间/分钟
loginCode
:
expiration
:
2
# host: 139.196.145.150
# # 端口
# port: 5672
# # 用户名
# username: admin
# # 密码
# password: Topdraw1qaz
# # 虚拟空间
# virtual-host: member_center
host
:
122.112.214.149
# rabbitmq的连接地址
port
:
5672
# rabbitmq的连接端口号
virtual-host
:
member_center
# rabbitmq的虚拟hosthhh
username
:
guest
# rabbitmq的用户名
password
:
guest
# rabbitmq的密码
publisher-confirms
:
true
#如果对异步消息需要回调必须设置为true
startup
:
on
# 服务属性
service
:
# 服务域 mobile:小屏侧 vis:大屏侧
area
:
vis
#平台类型 service: 服务侧 management: 管理侧
platform
:
service
# 服务域 mobile:小屏侧 vis:大屏侧
type
:
vis
# uc-engine服务地址
api
:
baseUrl
:
http://127.0.0.1:8447
# 线程池设置
task
:
pool
:
# 核心线程池大小
core-pool-size
:
10
# 最大线程数
max-pool-size
:
30
# 活跃时间
keep-alive-seconds
:
60
# 队列容量
queue-capacity
:
50
#权限 jwt。依赖的common中有需要jwt的部分属性。
jwt
:
header
:
Authorization
secret
:
mySecret
# token 过期时间/毫秒,6小时 1小时 = 3600000 毫秒
expiration
:
7200000
# 在线用户key
online
:
online-token
# 验证码
codeKey
:
code-key
# token 续期检查时间范围(60分钟,单位毫秒),在token即将过期的一段时间内用户操作了,则给用户的token续期
detect
:
3600000
# 续期时间,2小时,单位毫秒
renew
:
7200000
\ No newline at end of file
baseUrl
:
\ No newline at end of file
...
...
Please
register
or
sign in
to post a comment