Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
jinli gu
Jeepay
Commits
c201d5f0
Commit
c201d5f0
authored
Jul 27, 2021
by
terrfly
Browse files
删除旧版MQ发送和监听方式;
parent
06a5cc9b
Changes
25
Hide whitespace changes
Inline
Side-by-side
jeepay-manager/src/main/java/com/jeequan/jeepay/mgr/mq/ActiveMqSend.java
deleted
100644 → 0
View file @
06a5cc9b
/*
* Copyright (c) 2021-2031, 河北计全科技有限公司 (https://www.jeequan.com & jeequan@126.com).
* <p>
* Licensed under the GNU LESSER GENERAL PUBLIC LICENSE 3.0;
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* <p>
* http://www.gnu.org/licenses/lgpl.html
* <p>
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
com.jeequan.jeepay.mgr.mq
;
import
com.jeequan.jeepay.core.constants.CS
;
import
com.jeequan.jeepay.core.mq.MqCommonService
;
import
com.jeequan.jeepay.service.impl.SysConfigService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.activemq.command.ActiveMQQueue
;
import
org.apache.activemq.command.ActiveMQTopic
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Lazy
;
import
org.springframework.context.annotation.Profile
;
import
org.springframework.jms.annotation.JmsListener
;
import
org.springframework.jms.core.JmsTemplate
;
import
org.springframework.stereotype.Component
;
import
javax.jms.Queue
;
/**
*
* @author pangxiaoyu
* @site https://www.jeepay.vip
* @date 2021-06-07 07:15
*/
@Slf4j
@Component
@Profile
(
CS
.
MQTYPE
.
ACTIVE_MQ
)
public
class
ActiveMqSend
extends
MqCommonService
{
@Autowired
private
JmsTemplate
jmsTemplate
;
@Autowired
private
SysConfigService
sysConfigService
;
@Bean
(
"activeMqSendModifyMchUserRemove"
)
public
Queue
mqQueue4ModifyMchUserRemove
(){
return
new
ActiveMQQueue
(
CS
.
MQ
.
QUEUE_MODIFY_MCH_USER_REMOVE
);
}
@Lazy
@Autowired
@Qualifier
(
"activeMqSendModifyMchUserRemove"
)
private
Queue
mqQueue4ModifyMchUserRemove
;
@Bean
(
"activeMqSendPayOrderMchNotify"
)
public
Queue
mqQueue4PayOrderMchNotify
(){
return
new
ActiveMQQueue
(
CS
.
MQ
.
QUEUE_PAYORDER_MCH_NOTIFY
);
}
@Lazy
@Autowired
@Qualifier
(
"activeMqSendPayOrderMchNotify"
)
private
Queue
mqQueue4PayOrderMchNotify
;
@Bean
(
"activeMqSendModifyIsvInfo"
)
public
ActiveMQTopic
mqTopic4ModifyIsvInfo
(){
return
new
ActiveMQTopic
(
CS
.
MQ
.
TOPIC_MODIFY_ISV_INFO
);
}
@Lazy
@Autowired
@Qualifier
(
"activeMqSendModifyIsvInfo"
)
private
ActiveMQTopic
mqTopic4ModifyIsvInfo
;
@Bean
(
"activeMqSendModifyMchApp"
)
public
ActiveMQTopic
mqTopic4ModifyMchApp
(){
return
new
ActiveMQTopic
(
CS
.
MQ
.
TOPIC_MODIFY_MCH_APP
);
}
@Lazy
@Autowired
@Qualifier
(
"activeMqSendModifyMchApp"
)
private
ActiveMQTopic
mqTopic4ModifyMchApp
;
@Bean
(
"activeMqSendModifyMchInfo"
)
public
ActiveMQTopic
mqTopic4ModifyMchInfo
(){
return
new
ActiveMQTopic
(
CS
.
MQ
.
TOPIC_MODIFY_MCH_INFO
);
}
@Lazy
@Autowired
@Qualifier
(
"activeMqSendModifyMchInfo"
)
private
ActiveMQTopic
mqTopic4ModifyMchInfo
;
@Bean
(
"activeMqSendModifySysConfig"
)
public
ActiveMQTopic
mqTopic4ModifySysConfig
(){
return
new
ActiveMQTopic
(
CS
.
MQ
.
TOPIC_MODIFY_SYS_CONFIG
);
}
@Lazy
@Autowired
@Qualifier
(
"activeMqSendModifySysConfig"
)
private
ActiveMQTopic
mqTopic4ModifySysConfig
;
@Override
public
void
send
(
String
msg
,
String
sendType
)
{
if
(
sendType
.
equals
(
CS
.
MQ
.
MQ_TYPE_PAY_ORDER_MCH_NOTIFY
))
{
// 商户订单回调
queuePayOrderMchNotify
(
msg
);
}
else
if
(
sendType
.
equals
(
CS
.
MQ
.
MQ_TYPE_MODIFY_ISV_INFO
))
{
// 服务商信息修改
topicModifyIsvInfo
(
msg
);
}
else
if
(
sendType
.
equals
(
CS
.
MQ
.
MQ_TYPE_MODIFY_MCH_APP
))
{
// 商户应用修改
topicModifyMchApp
(
msg
);
}
else
if
(
sendType
.
equals
(
CS
.
MQ
.
MQ_TYPE_MODIFY_MCH_INFO
))
{
// 商户信息修改
topicModifyMchInfo
(
msg
);
}
else
if
(
sendType
.
equals
(
CS
.
MQ
.
MQ_TYPE_MODIFY_SYS_CONFIG
))
{
// 系统配置修改
topicModifySysConfig
(
msg
);
}
else
if
(
sendType
.
equals
(
CS
.
MQ
.
MQ_TYPE_MCH_LOGIN_USER_REMOVE
))
{
// 商户登录用户清除信息
queueMchLoginUserRemove
(
msg
);
}
}
@Override
public
void
send
(
String
msg
,
long
delay
,
String
sendType
)
{
}
/** 发送商户订单回调消息 **/
public
void
queuePayOrderMchNotify
(
String
msg
)
{
this
.
jmsTemplate
.
convertAndSend
(
mqQueue4PayOrderMchNotify
,
msg
);
}
/** 发送服务商信息修改消息 **/
public
void
topicModifyIsvInfo
(
String
msg
)
{
this
.
jmsTemplate
.
convertAndSend
(
mqTopic4ModifyIsvInfo
,
msg
);
}
/** 发送商户应用修改消息 **/
public
void
topicModifyMchApp
(
String
msg
)
{
this
.
jmsTemplate
.
convertAndSend
(
mqTopic4ModifyMchApp
,
msg
);
}
/** 发送商户信息修改消息 **/
public
void
topicModifyMchInfo
(
String
msg
)
{
this
.
jmsTemplate
.
convertAndSend
(
mqTopic4ModifyMchInfo
,
msg
);
}
/** 发送系统配置修改消息 **/
public
void
topicModifySysConfig
(
String
msg
)
{
this
.
jmsTemplate
.
convertAndSend
(
mqTopic4ModifySysConfig
,
msg
);
}
/** 发送商户登录用户清除信息消息 **/
public
void
queueMchLoginUserRemove
(
String
msg
)
{
this
.
jmsTemplate
.
convertAndSend
(
mqQueue4ModifyMchUserRemove
,
msg
);
}
/** 接收 更新系统配置项的消息 **/
@JmsListener
(
destination
=
CS
.
MQ
.
TOPIC_MODIFY_SYS_CONFIG
,
containerFactory
=
"jmsListenerContainer"
)
public
void
receive
(
String
msg
)
{
log
.
info
(
"成功接收更新系统配置的订阅通知, msg={}"
,
msg
);
sysConfigService
.
initDBConfig
(
msg
);
log
.
info
(
"系统配置静态属性已重置"
);
}
}
jeepay-manager/src/main/java/com/jeequan/jeepay/mgr/mq/RabbitMqSend.java
deleted
100644 → 0
View file @
06a5cc9b
/*
* Copyright (c) 2021-2031, 河北计全科技有限公司 (https://www.jeequan.com & jeequan@126.com).
* <p>
* Licensed under the GNU LESSER GENERAL PUBLIC LICENSE 3.0;
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* <p>
* http://www.gnu.org/licenses/lgpl.html
* <p>
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
com.jeequan.jeepay.mgr.mq
;
import
com.jeequan.jeepay.core.constants.CS
;
import
com.jeequan.jeepay.core.mq.MqCommonService
;
import
com.jeequan.jeepay.service.impl.SysConfigService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.amqp.core.AmqpTemplate
;
import
org.springframework.amqp.rabbit.annotation.Exchange
;
import
org.springframework.amqp.rabbit.annotation.Queue
;
import
org.springframework.amqp.rabbit.annotation.QueueBinding
;
import
org.springframework.amqp.rabbit.annotation.RabbitListener
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.annotation.Profile
;
import
org.springframework.stereotype.Component
;
/**
*
* @author pangxiaoyu
* @site https://www.jeepay.vip
* @date 2021-06-07 07:15
*/
@Slf4j
@Component
@Profile
(
CS
.
MQTYPE
.
RABBIT_MQ
)
public
class
RabbitMqSend
extends
MqCommonService
{
@Autowired
private
AmqpTemplate
rabbitTemplate
;
@Autowired
private
SysConfigService
sysConfigService
;
@Override
public
void
send
(
String
msg
,
String
sendType
)
{
if
(
sendType
.
equals
(
CS
.
MQ
.
MQ_TYPE_PAY_ORDER_MCH_NOTIFY
))
{
// 商户订单回调
payOrderMchNotify
(
msg
);
}
else
if
(
sendType
.
equals
(
CS
.
MQ
.
MQ_TYPE_MODIFY_ISV_INFO
))
{
// 服务商信息修改
directModifyIsvInfo
(
msg
);
}
else
if
(
sendType
.
equals
(
CS
.
MQ
.
MQ_TYPE_MODIFY_MCH_APP
))
{
// 商户应用修改
directModifyMchApp
(
msg
);
}
else
if
(
sendType
.
equals
(
CS
.
MQ
.
MQ_TYPE_MODIFY_MCH_INFO
))
{
// 商户信息修改
directModifyMchInfo
(
msg
);
}
else
if
(
sendType
.
equals
(
CS
.
MQ
.
MQ_TYPE_MODIFY_SYS_CONFIG
))
{
// 系统配置修改
fanoutModifySysConfig
(
msg
);
}
else
if
(
sendType
.
equals
(
CS
.
MQ
.
MQ_TYPE_MCH_LOGIN_USER_REMOVE
))
{
// 商户登录用户清除信息
directMchLoginUserRemove
(
msg
);
}
}
@Override
public
void
send
(
String
msg
,
long
delay
,
String
sendType
)
{
}
/** 发送商户订单回调消息 **/
public
void
payOrderMchNotify
(
String
msg
)
{
rabbitTemplate
.
convertAndSend
(
CS
.
MQ
.
QUEUE_PAYORDER_MCH_NOTIFY
,
msg
);
}
/** 发送服务商信息修改消息 **/
public
void
directModifyIsvInfo
(
String
msg
)
{
rabbitTemplate
.
convertAndSend
(
CS
.
DIRECT_EXCHANGE
,
CS
.
MQ
.
TOPIC_MODIFY_ISV_INFO
,
msg
);
}
/** 发送商户应用修改消息 **/
public
void
directModifyMchApp
(
String
msg
)
{
rabbitTemplate
.
convertAndSend
(
CS
.
DIRECT_EXCHANGE
,
CS
.
MQ
.
TOPIC_MODIFY_MCH_APP
,
msg
);
}
/** 发送商户信息修改消息 **/
public
void
directModifyMchInfo
(
String
msg
)
{
rabbitTemplate
.
convertAndSend
(
CS
.
DIRECT_EXCHANGE
,
CS
.
MQ
.
TOPIC_MODIFY_MCH_INFO
,
msg
);
}
/** 发送系统配置修改消息 **/
public
void
fanoutModifySysConfig
(
String
msg
)
{
this
.
rabbitTemplate
.
convertAndSend
(
CS
.
FANOUT_EXCHANGE_SYS_CONFIG
,
CS
.
MQ
.
FANOUT_MODIFY_SYS_CONFIG
,
msg
);
}
/** 发送商户登录用户清除信息消息 **/
public
void
directMchLoginUserRemove
(
String
msg
)
{
this
.
rabbitTemplate
.
convertAndSend
(
CS
.
DIRECT_EXCHANGE
,
CS
.
MQ
.
QUEUE_MODIFY_MCH_USER_REMOVE
,
msg
);
}
/** 接收 更新系统配置项的消息 **/
@RabbitListener
(
bindings
=
{
@QueueBinding
(
value
=
@Queue
(),
exchange
=
@Exchange
(
name
=
CS
.
FANOUT_EXCHANGE_SYS_CONFIG
,
type
=
"fanout"
))})
public
void
receive
(
String
msg
)
{
log
.
info
(
"成功接收更新系统配置的订阅通知, msg={}"
,
msg
);
sysConfigService
.
initDBConfig
(
msg
);
log
.
info
(
"系统配置静态属性已重置"
);
}
}
jeepay-manager/src/main/java/com/jeequan/jeepay/mgr/mq/RocketMqSend.java
deleted
100644 → 0
View file @
06a5cc9b
/*
* Copyright (c) 2021-2031, 河北计全科技有限公司 (https://www.jeequan.com & jeequan@126.com).
* <p>
* Licensed under the GNU LESSER GENERAL PUBLIC LICENSE 3.0;
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* <p>
* http://www.gnu.org/licenses/lgpl.html
* <p>
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
com.jeequan.jeepay.mgr.mq
;
import
com.jeequan.jeepay.core.constants.CS
;
import
com.jeequan.jeepay.core.mq.MqCommonService
;
import
com.jeequan.jeepay.service.impl.SysConfigService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.rocketmq.spring.annotation.MessageModel
;
import
org.apache.rocketmq.spring.annotation.RocketMQMessageListener
;
import
org.apache.rocketmq.spring.core.RocketMQListener
;
import
org.apache.rocketmq.spring.core.RocketMQTemplate
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.annotation.Profile
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Service
;
/**
*
* @author pangxiaoyu
* @site https://www.jeepay.vip
* @date 2021-06-07 07:15
*/
@Slf4j
@Component
@Profile
(
CS
.
MQTYPE
.
ROCKET_MQ
)
public
class
RocketMqSend
extends
MqCommonService
{
@Autowired
private
RocketMQTemplate
rocketMQTemplate
;
@Autowired
private
SysConfigService
sysConfigService
;
@Override
public
void
send
(
String
msg
,
String
sendType
)
{
if
(
sendType
.
equals
(
CS
.
MQ
.
MQ_TYPE_PAY_ORDER_MCH_NOTIFY
))
{
// 商户订单回调
payOrderMchNotify
(
msg
);
}
else
if
(
sendType
.
equals
(
CS
.
MQ
.
MQ_TYPE_MODIFY_ISV_INFO
))
{
// 服务商信息修改
modifyIsvInfo
(
msg
);
}
else
if
(
sendType
.
equals
(
CS
.
MQ
.
MQ_TYPE_MODIFY_MCH_APP
))
{
// 商户应用修改
modifyMchApp
(
msg
);
}
else
if
(
sendType
.
equals
(
CS
.
MQ
.
MQ_TYPE_MODIFY_MCH_INFO
))
{
// 商户信息修改
modifyMchInfo
(
msg
);
}
else
if
(
sendType
.
equals
(
CS
.
MQ
.
MQ_TYPE_MODIFY_SYS_CONFIG
))
{
// 系统配置修改
modifySysConfig
(
msg
);
}
else
if
(
sendType
.
equals
(
CS
.
MQ
.
MQ_TYPE_MCH_LOGIN_USER_REMOVE
))
{
// 商户登录用户清除信息
mchLoginUserRemove
(
msg
);
}
}
@Override
public
void
send
(
String
msg
,
long
delay
,
String
sendType
)
{
}
/** 发送商户订单回调消息 **/
public
void
payOrderMchNotify
(
String
msg
)
{
sendMsg
(
msg
,
CS
.
MQ
.
QUEUE_PAYORDER_MCH_NOTIFY
);
}
/** 发送服务商信息修改消息 **/
public
void
modifyIsvInfo
(
String
msg
)
{
sendMsg
(
msg
,
CS
.
MQ
.
TOPIC_MODIFY_ISV_INFO
);
}
/** 发送商户应用修改消息 **/
public
void
modifyMchApp
(
String
msg
)
{
sendMsg
(
msg
,
CS
.
MQ
.
TOPIC_MODIFY_MCH_APP
);
}
/** 发送商户信息修改消息 **/
public
void
modifyMchInfo
(
String
msg
)
{
sendMsg
(
msg
,
CS
.
MQ
.
TOPIC_MODIFY_MCH_INFO
);
}
/** 发送系统配置修改消息 **/
public
void
modifySysConfig
(
String
msg
)
{
sendMsg
(
msg
,
CS
.
MQ
.
TOPIC_MODIFY_SYS_CONFIG
);
}
/** 发送商户登录用户清除信息消息 **/
public
void
mchLoginUserRemove
(
String
msg
)
{
sendMsg
(
msg
,
CS
.
MQ
.
QUEUE_MODIFY_MCH_USER_REMOVE
);
}
public
void
sendMsg
(
String
msg
,
String
group
)
{
// 这里的分组和消息名称未做区分
rocketMQTemplate
.
getProducer
().
setProducerGroup
(
group
);
this
.
rocketMQTemplate
.
convertAndSend
(
group
,
msg
);
}
/** 接收 更新系统配置项的消息 **/
@Service
@RocketMQMessageListener
(
topic
=
CS
.
MQ
.
TOPIC_MODIFY_SYS_CONFIG
,
consumerGroup
=
CS
.
MQ
.
TOPIC_MODIFY_SYS_CONFIG
,
messageModel
=
MessageModel
.
BROADCASTING
)
class
RocketMqReceive
implements
RocketMQListener
<
String
>
{
@Override
public
void
onMessage
(
String
msg
)
{
log
.
info
(
"成功接收更新系统配置的订阅通知, msg={}"
,
msg
);
sysConfigService
.
initDBConfig
(
msg
);
log
.
info
(
"系统配置静态属性已重置"
);
}
}
}
jeepay-manager/src/main/java/com/jeequan/jeepay/mgr/mq/config/JMSConfig.java
deleted
100644 → 0
View file @
06a5cc9b
/*
* Copyright (c) 2021-2031, 河北计全科技有限公司 (https://www.jeequan.com & jeequan@126.com).
* <p>
* Licensed under the GNU LESSER GENERAL PUBLIC LICENSE 3.0;
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* <p>
* http://www.gnu.org/licenses/lgpl.html
* <p>
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
com.jeequan.jeepay.mgr.mq.config
;
import
com.jeequan.jeepay.core.constants.CS
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Profile
;
import
org.springframework.jms.config.DefaultJmsListenerContainerFactory
;
import
org.springframework.jms.config.JmsListenerContainerFactory
;
import
org.springframework.stereotype.Component
;
import
javax.jms.ConnectionFactory
;
/*
* JMS消息配置项
*
* @author terrfly
* @site https://www.jeepay.vip
* @date 2021/6/8 17:10
*/
@Component
@Profile
(
CS
.
MQTYPE
.
ACTIVE_MQ
)
public
class
JMSConfig
{
/** 新增jmsListenerContainer, 用于接收topic类型的消息 **/
@Bean
public
JmsListenerContainerFactory
<?>
jmsListenerContainer
(
ConnectionFactory
factory
){
DefaultJmsListenerContainerFactory
bean
=
new
DefaultJmsListenerContainerFactory
();
bean
.
setPubSubDomain
(
true
);
bean
.
setConnectionFactory
(
factory
);
return
bean
;
}
}
jeepay-manager/src/main/java/com/jeequan/jeepay/mgr/mq/config/RabbitMqConfig.java
deleted
100644 → 0
View file @
06a5cc9b
/*
* Copyright (c) 2021-2031, 河北计全科技有限公司 (https://www.jeequan.com & jeequan@126.com).
* <p>
* Licensed under the GNU LESSER GENERAL PUBLIC LICENSE 3.0;
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* <p>
* http://www.gnu.org/licenses/lgpl.html
* <p>
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
com.jeequan.jeepay.mgr.mq.config
;
import
com.jeequan.jeepay.core.constants.CS
;
import
org.springframework.amqp.core.*
;
import
org.springframework.amqp.rabbit.annotation.EnableRabbit
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.annotation.Profile
;
/**
* RabbitMq
* 队列交换机注册
* @author xiaoyu
* @site https://www.jeepay.vip
* @date 2021/6/25 17:10
*/
@Configuration
@EnableRabbit
@Profile
(
CS
.
MQTYPE
.
RABBIT_MQ
)
public
class
RabbitMqConfig
{
@Bean
(
"modifyIsvInfo"
)
public
Queue
modifyIsvInfo
()
{
return
new
Queue
(
CS
.
MQ
.
TOPIC_MODIFY_ISV_INFO
,
true
);
}
@Bean
(
"modifyMchApp"
)
public
Queue
modifyMchApp
()
{
return
new
Queue
(
CS
.
MQ
.
TOPIC_MODIFY_MCH_APP
,
true
);
}
@Bean
(
"modifyMchInfo"
)
public
Queue
modifyMchInfo
()
{
return
new
Queue
(
CS
.
MQ
.
TOPIC_MODIFY_MCH_INFO
,
true
);
}
@Bean
(
"modifySysConfig"
)
public
Queue
modifySysConfig
()
{
return
new
Queue
(
CS
.
MQ
.
FANOUT_MODIFY_SYS_CONFIG
,
true
);
}
@Bean
(
"payOrderMchNotify"
)
public
Queue
payOrderMchNotify
()
{
return
new
Queue
(
CS
.
MQ
.
QUEUE_PAYORDER_MCH_NOTIFY
,
true
);
}
@Bean
(
"mchUserRemove"
)
public
Queue
mchUserRemove
()
{
return
new
Queue
(
CS
.
MQ
.
QUEUE_MODIFY_MCH_USER_REMOVE
,
true
);
}
//创建 fanout 交换机
@Bean
(
"fanoutExchange"
)
FanoutExchange
fanoutExchange
()
{
return
new
FanoutExchange
(
CS
.
FANOUT_EXCHANGE_SYS_CONFIG
,
true
,
false
);
}
//创建 direct 交换机
@Bean
(
"directExchange"
)
DirectExchange
directExchange
()
{
return
new
DirectExchange
(
CS
.
DIRECT_EXCHANGE
,
true
,
false
);
}
//绑定 将队列和交换机绑定, 并设置用于匹配键:TOPIC_MODIFY_ISV_INFO
@Bean
Binding
bindingIsvInfo
(
@Qualifier
(
"modifyIsvInfo"
)
Queue
modifyIsvInfo
,
@Qualifier
(
"directExchange"
)
DirectExchange
directExchange
)
{
return
BindingBuilder
.
bind
(
modifyIsvInfo
).
to
(
directExchange
).
with
(
CS
.
MQ
.
TOPIC_MODIFY_ISV_INFO
);
}
//绑定 将队列和交换机绑定, 并设置用于匹配键:TOPIC_MODIFY_MCH_APP
@Bean
Binding
bindingMchApp
(
@Qualifier
(
"modifyMchApp"
)
Queue
modifyMchApp
,
@Qualifier
(
"directExchange"
)
DirectExchange
directExchange
)
{
return
BindingBuilder
.
bind
(
modifyMchApp
).
to
(
directExchange
).
with
(
CS
.
MQ
.
TOPIC_MODIFY_MCH_APP
);
}
//绑定 将队列和交换机绑定, 并设置用于匹配键:TOPIC_MODIFY_MCH_INFO
@Bean
Binding
bindingMchInfo
(
@Qualifier
(
"modifyMchInfo"
)
Queue
modifyMchInfo
,
@Qualifier
(
"directExchange"
)
DirectExchange
directExchange
)
{
return
BindingBuilder
.
bind
(
modifyMchInfo
).
to
(
directExchange
).
with
(
CS
.
MQ
.
TOPIC_MODIFY_MCH_INFO
);
}
//绑定 将队列和交换机绑定
@Bean
Binding
bindingSysConfig
(
Queue
modifySysConfig
,
FanoutExchange
fanoutExchange
)
{
return
BindingBuilder
.
bind
(
modifySysConfig
).
to
(
fanoutExchange
);
}
//绑定 将队列和交换机绑定, 并设置用于匹配键:QUEUE_PAYORDER_MCH_NOTIFY
@Bean
Binding
bindingPayOrderMchNotify
(
@Qualifier
(
"payOrderMchNotify"
)
Queue
payOrderMchNotify
,
@Qualifier
(
"directExchange"
)
DirectExchange
directExchange
)
{
return
BindingBuilder
.
bind
(
payOrderMchNotify
).
to
(
directExchange
).
with
(
CS
.
MQ
.
QUEUE_PAYORDER_MCH_NOTIFY
);
}
//绑定 将队列和交换机绑定, 并设置用于匹配键:QUEUE_MODIFY_MCH_USER_REMOVE
@Bean
Binding
bindingMchUserRemove
(
@Qualifier
(
"mchUserRemove"
)
Queue
mchUserRemove
,
@Qualifier
(
"directExchange"
)
DirectExchange
directExchange
)
{
return
BindingBuilder
.
bind
(
mchUserRemove
).
to
(
directExchange
).
with
(
CS
.
MQ
.
QUEUE_MODIFY_MCH_USER_REMOVE
);
}
}
jeepay-merchant/src/main/java/com/jeequan/jeepay/mch/mq/ActiveMqSend.java
deleted
100644 → 0
View file @
06a5cc9b
/*
* Copyright (c) 2021-2031, 河北计全科技有限公司 (https://www.jeequan.com & jeequan@126.com).
* <p>
* Licensed under the GNU LESSER GENERAL PUBLIC LICENSE 3.0;
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* <p>
* http://www.gnu.org/licenses/lgpl.html
* <p>
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
com.jeequan.jeepay.mch.mq
;
import
com.jeequan.jeepay.core.constants.CS
;
import
com.jeequan.jeepay.core.mq.MqCommonService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.activemq.command.ActiveMQTopic
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Lazy
;
import
org.springframework.context.annotation.Profile
;
import
org.springframework.jms.core.JmsTemplate
;
import
org.springframework.stereotype.Component
;
/*
* @author terrfly
* @site https://www.jeepay.vip
* @date 2021/6/8 17:10
*/
@Slf4j
@Component
@Profile
(
CS
.
MQTYPE
.
ACTIVE_MQ
)
public
class
ActiveMqSend
extends
MqCommonService
{
@Autowired
private
JmsTemplate
jmsTemplate
;
@Bean
(
"activeMqSendModifyMchApp"
)
public
ActiveMQTopic
mqTopic4ModifyMchApp
(){
return
new
ActiveMQTopic
(
CS
.
MQ
.
TOPIC_MODIFY_MCH_APP
);
}
@Lazy
@Autowired
@Qualifier
(
"activeMqSendModifyMchApp"
)
private
ActiveMQTopic
mqTopic4ModifyMchApp
;
/** 推送消息到各个节点 **/
@Override
public
void
send
(
String
msg
,
String
sendType
)
{
if
(
sendType
.
equals
(
CS
.
MQ
.
MQ_TYPE_MODIFY_MCH_APP
))
{
// 商户应用修改
topicModifyMchApp
(
msg
);
}
}
@Override
public
void
send
(
String
msg
,
long
delay
,
String
sendType
)
{
}
/** 发送商户应用修改信息 **/
public
void
topicModifyMchApp
(
String
msg
)
{
this
.
jmsTemplate
.
convertAndSend
(
mqTopic4ModifyMchApp
,
msg
);
}
}
jeepay-merchant/src/main/java/com/jeequan/jeepay/mch/mq/RabbitMqSend.java
deleted
100644 → 0
View file @
06a5cc9b
/*
* Copyright (c) 2021-2031, 河北计全科技有限公司 (https://www.jeequan.com & jeequan@126.com).
* <p>
* Licensed under the GNU LESSER GENERAL PUBLIC LICENSE 3.0;
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* <p>
* http://www.gnu.org/licenses/lgpl.html
* <p>
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
com.jeequan.jeepay.mch.mq
;
import
com.jeequan.jeepay.core.constants.CS
;
import
com.jeequan.jeepay.core.mq.MqCommonService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.amqp.rabbit.core.RabbitTemplate
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.annotation.Profile
;
import
org.springframework.stereotype.Component
;
/**
* RabbitMq
* @author xiaoyu
* @site https://www.jeepay.vip
* @date 2021/6/25 17:10
*/
@Slf4j
@Component
@Profile
(
CS
.
MQTYPE
.
RABBIT_MQ
)
public
class
RabbitMqSend
extends
MqCommonService
{
@Autowired
private
RabbitTemplate
rabbitTemplate
;
/** 推送消息 **/
@Override
public
void
send
(
String
msg
,
String
sendType
)
{
if
(
sendType
.
equals
(
CS
.
MQ
.
MQ_TYPE_MODIFY_MCH_APP
))
{
// 商户应用修改
directModifyMchApp
(
msg
);
}
}
@Override
public
void
send
(
String
msg
,
long
delay
,
String
sendType
)
{
}
/** 发送商户应用修改信息 **/
public
void
directModifyMchApp
(
String
msg
)
{
rabbitTemplate
.
convertAndSend
(
CS
.
DIRECT_EXCHANGE
,
CS
.
MQ
.
TOPIC_MODIFY_MCH_APP
,
msg
);
}
}
jeepay-merchant/src/main/java/com/jeequan/jeepay/mch/mq/RocketMqSend.java
deleted
100644 → 0
View file @
06a5cc9b
/*
* Copyright (c) 2021-2031, 河北计全科技有限公司 (https://www.jeequan.com & jeequan@126.com).
* <p>
* Licensed under the GNU LESSER GENERAL PUBLIC LICENSE 3.0;
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* <p>
* http://www.gnu.org/licenses/lgpl.html
* <p>
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
com.jeequan.jeepay.mch.mq
;
import
com.jeequan.jeepay.core.constants.CS
;
import
com.jeequan.jeepay.core.mq.MqCommonService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.rocketmq.spring.core.RocketMQTemplate
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.annotation.Profile
;
import
org.springframework.stereotype.Component
;
/**
* RocketMQ
* @author xiaoyu
* @site https://www.jeepay.vip
* @date 2021/6/25 17:10
*/
@Slf4j
@Component
@Profile
(
CS
.
MQTYPE
.
ROCKET_MQ
)
public
class
RocketMqSend
extends
MqCommonService
{
@Autowired
private
RocketMQTemplate
rocketMQTemplate
;
/** 推送消息到各个节点 **/
@Override
public
void
send
(
String
msg
,
String
sendType
)
{
if
(
sendType
.
equals
(
CS
.
MQ
.
MQ_TYPE_MODIFY_MCH_APP
))
{
// 商户应用修改
topicModifyMchApp
(
msg
);
}
}
@Override
public
void
send
(
String
msg
,
long
delay
,
String
sendType
)
{
}
/** 发送商户应用修改信息 **/
public
void
topicModifyMchApp
(
String
msg
)
{
rocketMQTemplate
.
getProducer
().
setProducerGroup
(
CS
.
MQ
.
TOPIC_MODIFY_MCH_APP
);
rocketMQTemplate
.
convertAndSend
(
CS
.
MQ
.
TOPIC_MODIFY_MCH_APP
,
msg
);
}
}
jeepay-merchant/src/main/java/com/jeequan/jeepay/mch/mq/activemq/queue/MqQueueReceive.java
deleted
100644 → 0
View file @
06a5cc9b
/*
* Copyright (c) 2021-2031, 河北计全科技有限公司 (https://www.jeequan.com & jeequan@126.com).
* <p>
* Licensed under the GNU LESSER GENERAL PUBLIC LICENSE 3.0;
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* <p>
* http://www.gnu.org/licenses/lgpl.html
* <p>
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
com.jeequan.jeepay.mch.mq.activemq.queue
;
import
com.jeequan.jeepay.core.constants.CS
;
import
com.jeequan.jeepay.mch.mq.receive.MqReceiveCommon
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.activemq.command.ActiveMQQueue
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.annotation.Profile
;
import
org.springframework.jms.annotation.JmsListener
;
import
org.springframework.stereotype.Component
;
/**
* 商户用户登录信息清除
*
* @author pangxiaoyu
* @site https://www.jeepay.vip
* @date 2021-04-27 15:50
*/
@Slf4j
@Component
@Profile
(
CS
.
MQTYPE
.
ACTIVE_MQ
)
public
class
MqQueueReceive
extends
ActiveMQQueue
{
@Autowired
private
MqReceiveCommon
mqReceiveCommon
;
public
MqQueueReceive
(){
super
(
CS
.
MQ
.
QUEUE_MODIFY_MCH_USER_REMOVE
);
}
/**
* @author: pangxiaoyu
* @date: 2021/6/7 16:17
* @describe: 接收 商户用户登录信息清除消息
*/
@JmsListener
(
destination
=
CS
.
MQ
.
QUEUE_MODIFY_MCH_USER_REMOVE
)
public
void
receive
(
String
userIdStr
)
{
mqReceiveCommon
.
removeMchUser
(
userIdStr
);
}
}
jeepay-merchant/src/main/java/com/jeequan/jeepay/mch/mq/activemq/topic/MqTopicReceive.java
deleted
100644 → 0
View file @
06a5cc9b
/*
* Copyright (c) 2021-2031, 河北计全科技有限公司 (https://www.jeequan.com & jeequan@126.com).
* <p>
* Licensed under the GNU LESSER GENERAL PUBLIC LICENSE 3.0;
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* <p>
* http://www.gnu.org/licenses/lgpl.html
* <p>
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
com.jeequan.jeepay.mch.mq.activemq.topic
;
import
com.jeequan.jeepay.core.constants.CS
;
import
com.jeequan.jeepay.mch.mq.receive.MqReceiveCommon
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.activemq.command.ActiveMQTopic
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.annotation.Profile
;
import
org.springframework.jms.annotation.JmsListener
;
import
org.springframework.stereotype.Component
;
/**
* 更新系统配置mq
*
* @author terrfly
* @modify zhuxiao
* @site https://www.jeepay.vip
* @date 2021-04-27 15:50
*/
@Slf4j
@Component
@Profile
(
CS
.
MQTYPE
.
ACTIVE_MQ
)
public
class
MqTopicReceive
extends
ActiveMQTopic
{
@Autowired
private
MqReceiveCommon
mqReceiveCommon
;
public
MqTopicReceive
(){
super
(
CS
.
MQ
.
TOPIC_MODIFY_SYS_CONFIG
);
}
/** 接收 更新系统配置项的消息 **/
@JmsListener
(
destination
=
CS
.
MQ
.
TOPIC_MODIFY_SYS_CONFIG
,
containerFactory
=
"jmsListenerContainer"
)
public
void
receive
(
String
msg
)
{
mqReceiveCommon
.
initDbConfig
(
msg
);
}
}
jeepay-merchant/src/main/java/com/jeequan/jeepay/mch/mq/config/JMSConfig.java
deleted
100644 → 0
View file @
06a5cc9b
/*
* Copyright (c) 2021-2031, 河北计全科技有限公司 (https://www.jeequan.com & jeequan@126.com).
* <p>
* Licensed under the GNU LESSER GENERAL PUBLIC LICENSE 3.0;
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* <p>
* http://www.gnu.org/licenses/lgpl.html
* <p>
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
com.jeequan.jeepay.mch.mq.config
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.jms.config.DefaultJmsListenerContainerFactory
;
import
org.springframework.jms.config.JmsListenerContainerFactory
;
import
org.springframework.stereotype.Component
;
import
javax.jms.ConnectionFactory
;
/**
* JMS消息配置项
*
* @author terrfly
* @modify zhuxiao
* @site https://www.jeepay.vip
* @date 2021-04-27 15:50
*/
@Component
public
class
JMSConfig
{
/** 新增jmsListenerContainer, 用于接收topic类型的消息 **/
@Bean
public
JmsListenerContainerFactory
<?>
jmsListenerContainer
(
ConnectionFactory
factory
){
DefaultJmsListenerContainerFactory
bean
=
new
DefaultJmsListenerContainerFactory
();
bean
.
setPubSubDomain
(
true
);
bean
.
setConnectionFactory
(
factory
);
return
bean
;
}
}
jeepay-merchant/src/main/java/com/jeequan/jeepay/mch/mq/config/RabbitMqConfig.java
deleted
100644 → 0
View file @
06a5cc9b
/*
* Copyright (c) 2021-2031, 河北计全科技有限公司 (https://www.jeequan.com & jeequan@126.com).
* <p>
* Licensed under the GNU LESSER GENERAL PUBLIC LICENSE 3.0;
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* <p>
* http://www.gnu.org/licenses/lgpl.html
* <p>
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
com.jeequan.jeepay.mch.mq.config
;
import
com.jeequan.jeepay.core.constants.CS
;
import
org.springframework.amqp.core.Binding
;
import
org.springframework.amqp.core.BindingBuilder
;
import
org.springframework.amqp.core.DirectExchange
;
import
org.springframework.amqp.core.Queue
;
import
org.springframework.amqp.rabbit.annotation.EnableRabbit
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.annotation.Profile
;
/**
* RabbitMq
* 队列交换机注册
* @author xiaoyu
* @site https://www.jeepay.vip
* @date 2021/6/25 17:10
*/
@Profile
(
CS
.
MQTYPE
.
RABBIT_MQ
)
@Configuration
@EnableRabbit
public
class
RabbitMqConfig
{
@Bean
(
"modifyMchApp"
)
public
Queue
modifyMchApp
()
{
return
new
Queue
(
CS
.
MQ
.
TOPIC_MODIFY_MCH_APP
,
true
);
}
//创建 direct 交换机
@Bean
(
"directExchange"
)
DirectExchange
directExchange
()
{
return
new
DirectExchange
(
CS
.
DIRECT_EXCHANGE
,
true
,
false
);
}
//绑定 将队列和交换机绑定, 并设置用于匹配键:TOPIC_MODIFY_MCH_APP
@Bean
Binding
bindingMchApp
(
@Qualifier
(
"modifyMchApp"
)
Queue
modifyMchApp
,
@Qualifier
(
"directExchange"
)
DirectExchange
directExchange
)
{
return
BindingBuilder
.
bind
(
modifyMchApp
).
to
(
directExchange
).
with
(
CS
.
MQ
.
TOPIC_MODIFY_MCH_APP
);
}
}
jeepay-merchant/src/main/java/com/jeequan/jeepay/mch/mq/rabbitmq/RabbitMqReceive.java
deleted
100644 → 0
View file @
06a5cc9b
/*
* Copyright (c) 2021-2031, 河北计全科技有限公司 (https://www.jeequan.com & jeequan@126.com).
* <p>
* Licensed under the GNU LESSER GENERAL PUBLIC LICENSE 3.0;
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* <p>
* http://www.gnu.org/licenses/lgpl.html
* <p>
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
com.jeequan.jeepay.mch.mq.rabbitmq
;
import
com.jeequan.jeepay.core.constants.CS
;
import
com.jeequan.jeepay.mch.mq.receive.MqReceiveCommon
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.amqp.rabbit.annotation.Exchange
;
import
org.springframework.amqp.rabbit.annotation.Queue
;
import
org.springframework.amqp.rabbit.annotation.QueueBinding
;
import
org.springframework.amqp.rabbit.annotation.RabbitListener
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.annotation.Profile
;
import
org.springframework.stereotype.Component
;
/**
* 消息接收
* @author pangxiaoyu
* @site https://www.jeepay.vip
* @date 2021-04-27 15:50
*/
@Slf4j
@Component
@Profile
(
CS
.
MQTYPE
.
RABBIT_MQ
)
public
class
RabbitMqReceive
{
@Autowired
private
MqReceiveCommon
mqReceiveCommon
;
/**
* @author: pangxiaoyu
* @date: 2021/6/7 16:17
* @describe: 接收 商户用户登录信息清除消息
*/
@RabbitListener
(
queues
=
CS
.
MQ
.
QUEUE_MODIFY_MCH_USER_REMOVE
)
public
void
receiveRemoveMchUser
(
String
userIdStr
)
{
mqReceiveCommon
.
removeMchUser
(
userIdStr
);
}
/** 接收 更新系统配置项的消息 **/
@RabbitListener
(
bindings
=
{
@QueueBinding
(
value
=
@Queue
(),
exchange
=
@Exchange
(
name
=
CS
.
FANOUT_EXCHANGE_SYS_CONFIG
,
type
=
"fanout"
))})
public
void
receiveInitDbConfig
(
String
msg
)
{
mqReceiveCommon
.
initDbConfig
(
msg
);
}
}
jeepay-merchant/src/main/java/com/jeequan/jeepay/mch/mq/receive/MqReceiveCommon.java
deleted
100644 → 0
View file @
06a5cc9b
/*
* Copyright (c) 2021-2031, 河北计全科技有限公司 (https://www.jeequan.com & jeequan@126.com).
* <p>
* Licensed under the GNU LESSER GENERAL PUBLIC LICENSE 3.0;
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* <p>
* http://www.gnu.org/licenses/lgpl.html
* <p>
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
com.jeequan.jeepay.mch.mq.receive
;
import
com.alibaba.fastjson.JSONArray
;
import
com.jeequan.jeepay.core.cache.RedisUtil
;
import
com.jeequan.jeepay.core.constants.CS
;
import
com.jeequan.jeepay.service.impl.SysConfigService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.Collection
;
import
java.util.List
;
/**
* 处理公共接收消息方法
*
* @author xiaoyu
* @site https://www.jeepay.vip
* @date 2021/6/25 17:10
*/
@Slf4j
@Service
public
class
MqReceiveCommon
{
@Autowired
private
SysConfigService
sysConfigService
;
public
void
removeMchUser
(
String
userIdStr
)
{
log
.
info
(
"成功接收删除商户用户登录的订阅通知, msg={}"
,
userIdStr
);
// 字符串转List<Long>
List
<
Long
>
userIdList
=
JSONArray
.
parseArray
(
userIdStr
,
Long
.
class
);
// 删除redis用户缓存
if
(
userIdList
==
null
||
userIdList
.
isEmpty
()){
log
.
info
(
"用户ID为空"
);
return
;
}
for
(
Long
sysUserId
:
userIdList
)
{
Collection
<
String
>
cacheKeyList
=
RedisUtil
.
keys
(
CS
.
getCacheKeyToken
(
sysUserId
,
"*"
));
if
(
cacheKeyList
==
null
||
cacheKeyList
.
isEmpty
()){
continue
;
}
for
(
String
cacheKey
:
cacheKeyList
)
{
// 删除用户Redis信息
RedisUtil
.
del
(
cacheKey
);
continue
;
}
}
log
.
info
(
"无权限登录用户信息已清除"
);
}
public
void
initDbConfig
(
String
msg
)
{
log
.
info
(
"成功接收更新系统配置的订阅通知, msg={}"
,
msg
);
sysConfigService
.
initDBConfig
(
msg
);
log
.
info
(
"系统配置静态属性已重置"
);
}
}
jeepay-merchant/src/main/java/com/jeequan/jeepay/mch/mq/rocketmq/RocketMqReceive.java
deleted
100644 → 0
View file @
06a5cc9b
/*
* Copyright (c) 2021-2031, 河北计全科技有限公司 (https://www.jeequan.com & jeequan@126.com).
* <p>
* Licensed under the GNU LESSER GENERAL PUBLIC LICENSE 3.0;
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* <p>
* http://www.gnu.org/licenses/lgpl.html
* <p>
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
com.jeequan.jeepay.mch.mq.rocketmq
;
import
com.jeequan.jeepay.core.constants.CS
;
import
com.jeequan.jeepay.mch.mq.receive.MqReceiveCommon
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.rocketmq.spring.annotation.MessageModel
;
import
org.apache.rocketmq.spring.annotation.RocketMQMessageListener
;
import
org.apache.rocketmq.spring.core.RocketMQListener
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.annotation.Profile
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Service
;
/**
* 消息接收
* @author pangxiaoyu
* @site https://www.jeepay.vip
* @date 2021-04-27 15:50
*/
@Slf4j
@Component
@Profile
(
CS
.
MQTYPE
.
ROCKET_MQ
)
public
class
RocketMqReceive
{
@Autowired
private
MqReceiveCommon
mqReceiveCommon
;
/**
* @author: pangxiaoyu
* @date: 2021/6/7 16:17
* @describe: 接收 商户用户登录信息清除消息
*/
@Service
@RocketMQMessageListener
(
topic
=
CS
.
MQ
.
QUEUE_MODIFY_MCH_USER_REMOVE
,
consumerGroup
=
CS
.
MQ
.
QUEUE_MODIFY_MCH_USER_REMOVE
)
class
receiveRemoveMchUser
implements
RocketMQListener
<
String
>
{
@Override
public
void
onMessage
(
String
userIdStr
)
{
mqReceiveCommon
.
removeMchUser
(
userIdStr
);
}
}
/** 接收 更新系统配置项的消息 **/
@Service
@RocketMQMessageListener
(
topic
=
CS
.
MQ
.
TOPIC_MODIFY_SYS_CONFIG
,
consumerGroup
=
CS
.
MQ
.
TOPIC_MODIFY_SYS_CONFIG
,
messageModel
=
MessageModel
.
BROADCASTING
)
class
receiveInitDbConfig
implements
RocketMQListener
<
String
>
{
@Override
public
void
onMessage
(
String
msg
)
{
mqReceiveCommon
.
initDbConfig
(
msg
);
}
}
}
jeepay-payment/src/main/java/com/jeequan/jeepay/pay/mq/ActiveMqMessage.java
deleted
100644 → 0
View file @
06a5cc9b
/*
* Copyright (c) 2021-2031, 河北计全科技有限公司 (https://www.jeequan.com & jeequan@126.com).
* <p>
* Licensed under the GNU LESSER GENERAL PUBLIC LICENSE 3.0;
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* <p>
* http://www.gnu.org/licenses/lgpl.html
* <p>
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
com.jeequan.jeepay.pay.mq
;
import
com.jeequan.jeepay.core.constants.CS
;
import
com.jeequan.jeepay.core.mq.MqCommonService
;
import
com.jeequan.jeepay.pay.mq.config.MqThreadExecutor
;
import
com.jeequan.jeepay.pay.mq.receive.MqReceiveCommon
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.activemq.ScheduledMessage
;
import
org.apache.activemq.command.ActiveMQQueue
;
import
org.apache.activemq.command.ActiveMQTopic
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Lazy
;
import
org.springframework.context.annotation.Profile
;
import
org.springframework.jms.annotation.JmsListener
;
import
org.springframework.jms.core.JmsTemplate
;
import
org.springframework.scheduling.annotation.Async
;
import
org.springframework.stereotype.Component
;
import
javax.jms.Queue
;
import
javax.jms.TextMessage
;
/*
* 上游渠道订单轮询查单
* 如:微信的条码支付,没有回调接口, 需要轮询查单完成交易结果通知。
*
*
* @author terrfly
* @site https://www.jeepay.vip
* @date 2021/6/8 17:30
*/
@Slf4j
@Component
@Profile
(
CS
.
MQTYPE
.
ACTIVE_MQ
)
public
class
ActiveMqMessage
extends
MqCommonService
{
@Autowired
private
JmsTemplate
jmsTemplate
;
@Lazy
@Autowired
private
MqReceiveCommon
mqReceiveCommon
;
@Bean
(
"activeChannelOrderQuery"
)
public
Queue
mqQueue4ChannelOrderQuery
(){
return
new
ActiveMQQueue
(
CS
.
MQ
.
QUEUE_CHANNEL_ORDER_QUERY
);
}
@Lazy
@Autowired
@Qualifier
(
"activeChannelOrderQuery"
)
private
Queue
mqQueue4ChannelOrderQuery
;
@Bean
(
"activePayOrderMchNotifyInner"
)
public
Queue
mqQueue4PayOrderMchNotifyInner
(){
return
new
ActiveMQQueue
(
CS
.
MQ
.
QUEUE_PAYORDER_MCH_NOTIFY
);
}
@Lazy
@Autowired
@Qualifier
(
"activePayOrderMchNotifyInner"
)
private
Queue
mqQueue4PayOrderMchNotifyInner
;
@Bean
(
"activeMqSendModifyMchApp"
)
public
ActiveMQTopic
mqTopic4ModifyMchApp
(){
return
new
ActiveMQTopic
(
CS
.
MQ
.
TOPIC_MODIFY_MCH_APP
);
}
@Lazy
@Autowired
@Qualifier
(
"activeMqSendModifyMchApp"
)
private
ActiveMQTopic
mqTopic4ModifyMchApp
;
/**
* 发送消息
* @param msg
* @param sendType
*/
@Override
public
void
send
(
String
msg
,
String
sendType
)
{
if
(
sendType
.
equals
(
CS
.
MQ
.
MQ_TYPE_CHANNEL_ORDER_QUERY
))
{
channelOrderQuery
(
msg
);
}
else
if
(
sendType
.
equals
(
CS
.
MQ
.
MQ_TYPE_PAY_ORDER_MCH_NOTIFY
))
{
payOrderMchNotify
(
msg
);
}
else
if
(
sendType
.
equals
(
CS
.
MQ
.
MQ_TYPE_MODIFY_MCH_APP
))
{
// 商户应用修改
this
.
jmsTemplate
.
convertAndSend
(
mqTopic4ModifyMchApp
,
msg
);
}
}
/**
* 发送延迟消息
* @param msg
* @param delay
* @param sendType
*/
@Override
public
void
send
(
String
msg
,
long
delay
,
String
sendType
)
{
if
(
sendType
.
equals
(
CS
.
MQ
.
MQ_TYPE_CHANNEL_ORDER_QUERY
))
{
channelOrderQueryFixed
(
msg
,
delay
);
}
else
if
(
sendType
.
equals
(
CS
.
MQ
.
MQ_TYPE_PAY_ORDER_MCH_NOTIFY
))
{
payOrderMchNotifyFixed
(
msg
,
delay
);
}
}
/** 发送订单查询消息 **/
public
void
channelOrderQuery
(
String
msg
)
{
this
.
jmsTemplate
.
convertAndSend
(
mqQueue4ChannelOrderQuery
,
msg
);
}
/** 发送订单查询延迟消息 **/
public
void
channelOrderQueryFixed
(
String
msg
,
long
delay
)
{
jmsTemplate
.
send
(
mqQueue4ChannelOrderQuery
,
session
->
{
TextMessage
tm
=
session
.
createTextMessage
(
msg
);
tm
.
setLongProperty
(
ScheduledMessage
.
AMQ_SCHEDULED_DELAY
,
delay
);
tm
.
setLongProperty
(
ScheduledMessage
.
AMQ_SCHEDULED_PERIOD
,
1
*
1000
);
tm
.
setLongProperty
(
ScheduledMessage
.
AMQ_SCHEDULED_REPEAT
,
1
);
return
tm
;
});
}
/** 发送订单回调消息 **/
public
void
payOrderMchNotify
(
String
msg
)
{
this
.
jmsTemplate
.
convertAndSend
(
mqQueue4PayOrderMchNotifyInner
,
msg
);
}
/** 发送订单回调延迟消息 **/
public
void
payOrderMchNotifyFixed
(
String
msg
,
long
delay
)
{
jmsTemplate
.
send
(
mqQueue4PayOrderMchNotifyInner
,
session
->
{
TextMessage
tm
=
session
.
createTextMessage
(
msg
);
tm
.
setLongProperty
(
ScheduledMessage
.
AMQ_SCHEDULED_DELAY
,
delay
);
tm
.
setLongProperty
(
ScheduledMessage
.
AMQ_SCHEDULED_PERIOD
,
1
*
1000
);
tm
.
setLongProperty
(
ScheduledMessage
.
AMQ_SCHEDULED_REPEAT
,
1
);
return
tm
;
});
}
/** 接收 查单消息 **/
@JmsListener
(
destination
=
CS
.
MQ
.
QUEUE_CHANNEL_ORDER_QUERY
)
public
void
receiveChannelOrderQuery
(
String
msg
)
{
mqReceiveCommon
.
channelOrderQuery
(
msg
);
}
/** 接收 支付订单商户回调消息 **/
@Async
(
MqThreadExecutor
.
EXECUTOR_PAYORDER_MCH_NOTIFY
)
@JmsListener
(
destination
=
CS
.
MQ
.
QUEUE_PAYORDER_MCH_NOTIFY
)
public
void
receivePayOrderMchNotify
(
String
msg
)
{
mqReceiveCommon
.
payOrderMchNotify
(
msg
);
}
}
jeepay-payment/src/main/java/com/jeequan/jeepay/pay/mq/RabbitMqMessage.java
deleted
100644 → 0
View file @
06a5cc9b
/*
* Copyright (c) 2021-2031, 河北计全科技有限公司 (https://www.jeequan.com & jeequan@126.com).
* <p>
* Licensed under the GNU LESSER GENERAL PUBLIC LICENSE 3.0;
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* <p>
* http://www.gnu.org/licenses/lgpl.html
* <p>
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
com.jeequan.jeepay.pay.mq
;
import
com.jeequan.jeepay.core.constants.CS
;
import
com.jeequan.jeepay.core.mq.MqCommonService
;
import
com.jeequan.jeepay.pay.mq.receive.MqReceiveCommon
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.amqp.rabbit.annotation.RabbitListener
;
import
org.springframework.amqp.rabbit.core.RabbitTemplate
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.annotation.Lazy
;
import
org.springframework.context.annotation.Profile
;
import
org.springframework.stereotype.Component
;
/**
* RabbitMQ
* 上游渠道订单轮询查单
* 如:微信的条码支付,没有回调接口, 需要轮询查单完成交易结果通知。
*
*
* @author xiaoyu
* @site https://www.jeepay.vip
* @date 2021/6/25 17:10
*/
@Slf4j
@Component
@Profile
(
CS
.
MQTYPE
.
RABBIT_MQ
)
public
class
RabbitMqMessage
extends
MqCommonService
{
@Autowired
private
RabbitTemplate
rabbitTemplate
;
@Lazy
@Autowired
private
MqReceiveCommon
mqReceiveCommon
;
@Override
public
void
send
(
String
msg
,
String
sendType
)
{
if
(
sendType
.
equals
(
CS
.
MQ
.
MQ_TYPE_CHANNEL_ORDER_QUERY
))
{
channelOrderQuery
(
msg
);
}
else
if
(
sendType
.
equals
(
CS
.
MQ
.
MQ_TYPE_PAY_ORDER_MCH_NOTIFY
))
{
payOrderMchNotify
(
msg
);
}
else
if
(
sendType
.
equals
(
CS
.
MQ
.
MQ_TYPE_MODIFY_MCH_APP
))
{
// 商户应用修改
directModifyMchApp
(
msg
);
}
}
@Override
public
void
send
(
String
msg
,
long
delay
,
String
sendType
)
{
if
(
sendType
.
equals
(
CS
.
MQ
.
MQ_TYPE_CHANNEL_ORDER_QUERY
))
{
channelOrderQueryFixed
(
msg
,
delay
);
}
else
if
(
sendType
.
equals
(
CS
.
MQ
.
MQ_TYPE_PAY_ORDER_MCH_NOTIFY
))
{
payOrderMchNotifyFixed
(
msg
,
delay
);
}
}
/** 发送订单查询消息 **/
public
void
channelOrderQuery
(
String
msg
)
{
rabbitTemplate
.
convertAndSend
(
CS
.
MQ
.
QUEUE_CHANNEL_ORDER_QUERY
,
msg
);
}
/** 发送订单查询延迟消息 **/
public
void
channelOrderQueryFixed
(
String
msg
,
long
delay
)
{
rabbitTemplate
.
convertAndSend
(
CS
.
DELAYED_EXCHANGE
,
CS
.
MQ
.
QUEUE_CHANNEL_ORDER_QUERY
,
msg
,
a
->{
a
.
getMessageProperties
().
setDelay
(
Math
.
toIntExact
(
delay
));
return
a
;
});
}
/** 发送订单回调消息 **/
public
void
payOrderMchNotify
(
String
msg
)
{
rabbitTemplate
.
convertAndSend
(
CS
.
MQ
.
QUEUE_PAYORDER_MCH_NOTIFY
,
msg
);
}
/** 发送订单回调延迟消息 **/
public
void
payOrderMchNotifyFixed
(
String
msg
,
long
delay
)
{
rabbitTemplate
.
convertAndSend
(
CS
.
DELAYED_EXCHANGE
,
CS
.
MQ
.
QUEUE_PAYORDER_MCH_NOTIFY
,
msg
,
a
->{
a
.
getMessageProperties
().
setDelay
(
Math
.
toIntExact
(
delay
));
return
a
;
});
}
/** 发送商户应用修改消息 **/
public
void
directModifyMchApp
(
String
msg
)
{
rabbitTemplate
.
convertAndSend
(
CS
.
DIRECT_EXCHANGE
,
CS
.
MQ
.
TOPIC_MODIFY_MCH_APP
,
msg
);
}
/** 接收 查单消息 **/
@RabbitListener
(
queues
=
CS
.
MQ
.
QUEUE_CHANNEL_ORDER_QUERY
)
public
void
receiveChannelOrderQuery
(
String
msg
)
{
mqReceiveCommon
.
channelOrderQuery
(
msg
);
}
/** 接收 支付订单商户回调消息 **/
@RabbitListener
(
queues
=
CS
.
MQ
.
QUEUE_PAYORDER_MCH_NOTIFY
)
public
void
receivePayOrderMchNotify
(
String
msg
)
{
mqReceiveCommon
.
payOrderMchNotify
(
msg
);
}
}
jeepay-payment/src/main/java/com/jeequan/jeepay/pay/mq/RocketMqMessage.java
deleted
100644 → 0
View file @
06a5cc9b
/*
* Copyright (c) 2021-2031, 河北计全科技有限公司 (https://www.jeequan.com & jeequan@126.com).
* <p>
* Licensed under the GNU LESSER GENERAL PUBLIC LICENSE 3.0;
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* <p>
* http://www.gnu.org/licenses/lgpl.html
* <p>
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
com.jeequan.jeepay.pay.mq
;
import
com.jeequan.jeepay.core.constants.CS
;
import
com.jeequan.jeepay.core.mq.MqCommonService
;
import
com.jeequan.jeepay.pay.mq.receive.MqReceiveCommon
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.rocketmq.client.producer.SendCallback
;
import
org.apache.rocketmq.client.producer.SendResult
;
import
org.apache.rocketmq.spring.annotation.RocketMQMessageListener
;
import
org.apache.rocketmq.spring.core.RocketMQListener
;
import
org.apache.rocketmq.spring.core.RocketMQTemplate
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.annotation.Lazy
;
import
org.springframework.context.annotation.Profile
;
import
org.springframework.messaging.support.MessageBuilder
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Service
;
/**
* 上游渠道订单轮询查单
* 如:微信的条码支付,没有回调接口, 需要轮询查单完成交易结果通知。
*
*
* @author xiaoyu
* @site https://www.jeepay.vip
* @date 2021/6/25 17:10
*/
@Slf4j
@Component
@Profile
(
CS
.
MQTYPE
.
ROCKET_MQ
)
public
class
RocketMqMessage
extends
MqCommonService
{
@Autowired
private
RocketMQTemplate
rocketMQTemplate
;
@Lazy
@Autowired
private
MqReceiveCommon
mqReceiveCommon
;
@Override
public
void
send
(
String
msg
,
String
sendType
)
{
if
(
sendType
.
equals
(
CS
.
MQ
.
MQ_TYPE_CHANNEL_ORDER_QUERY
))
{
channelOrderQuery
(
msg
);
}
else
if
(
sendType
.
equals
(
CS
.
MQ
.
MQ_TYPE_PAY_ORDER_MCH_NOTIFY
))
{
payOrderMchNotify
(
msg
);
}
else
if
(
sendType
.
equals
(
CS
.
MQ
.
MQ_TYPE_MODIFY_MCH_INFO
))
{
// 商户信息修改
modifyMchInfo
(
msg
);
}
}
@Override
public
void
send
(
String
msg
,
long
delay
,
String
sendType
)
{
if
(
sendType
.
equals
(
CS
.
MQ
.
MQ_TYPE_CHANNEL_ORDER_QUERY
))
{
channelOrderQueryFixed
(
msg
,
delay
);
}
else
if
(
sendType
.
equals
(
CS
.
MQ
.
MQ_TYPE_PAY_ORDER_MCH_NOTIFY
))
{
payOrderMchNotifyFixed
(
msg
,
delay
);
}
}
/** 发送订单查询消息 **/
public
void
channelOrderQuery
(
String
msg
)
{
rocketMQTemplate
.
convertAndSend
(
CS
.
MQ
.
QUEUE_CHANNEL_ORDER_QUERY
,
msg
);
}
/** 发送订单查询延迟消息 **/
public
void
channelOrderQueryFixed
(
String
msg
,
long
delay
)
{
rocketMQTemplate
.
asyncSend
(
CS
.
MQ
.
QUEUE_CHANNEL_ORDER_QUERY
,
MessageBuilder
.
withPayload
(
msg
).
build
(),
new
SendCallback
()
{
@Override
public
void
onSuccess
(
SendResult
var1
)
{
log
.
info
(
"async onSucess SendResult :{}"
,
var1
);
}
@Override
public
void
onException
(
Throwable
var1
)
{
log
.
info
(
"async onException Throwable :{}"
,
var1
);
}
},
300000
,
2
);
}
/** 发送订单回调消息 **/
public
void
payOrderMchNotify
(
String
msg
)
{
rocketMQTemplate
.
convertAndSend
(
CS
.
MQ
.
QUEUE_PAYORDER_MCH_NOTIFY
,
msg
);
}
/** 发送订单回调延迟消息 **/
public
void
payOrderMchNotifyFixed
(
String
msg
,
long
delay
)
{
rocketMQTemplate
.
asyncSend
(
CS
.
MQ
.
QUEUE_PAYORDER_MCH_NOTIFY
,
MessageBuilder
.
withPayload
(
msg
).
build
(),
new
SendCallback
()
{
@Override
public
void
onSuccess
(
SendResult
var1
)
{
log
.
info
(
"async onSucess SendResult :{}"
,
var1
);
}
@Override
public
void
onException
(
Throwable
var1
)
{
log
.
info
(
"async onException Throwable :{}"
,
var1
);
}
},
300000
,
4
);
}
/** 接收 查单消息 **/
@Service
@RocketMQMessageListener
(
topic
=
CS
.
MQ
.
QUEUE_CHANNEL_ORDER_QUERY
,
consumerGroup
=
CS
.
MQ
.
QUEUE_CHANNEL_ORDER_QUERY
)
class
receiveChannelOrderQuery
implements
RocketMQListener
<
String
>
{
@Override
public
void
onMessage
(
String
msg
)
{
mqReceiveCommon
.
channelOrderQuery
(
msg
);
}
}
/** 接收 支付订单商户回调消息 **/
@Service
@RocketMQMessageListener
(
topic
=
CS
.
MQ
.
QUEUE_PAYORDER_MCH_NOTIFY
,
consumerGroup
=
CS
.
MQ
.
QUEUE_PAYORDER_MCH_NOTIFY
)
class
receivePayOrderMchNotify
implements
RocketMQListener
<
String
>
{
@Override
public
void
onMessage
(
String
msg
)
{
mqReceiveCommon
.
payOrderMchNotify
(
msg
);
}
}
/** 发送商户信息修改消息 **/
public
void
modifyMchInfo
(
String
msg
)
{
sendMsg
(
msg
,
CS
.
MQ
.
TOPIC_MODIFY_MCH_INFO
);
}
public
void
sendMsg
(
String
msg
,
String
group
)
{
// 这里的分组和消息名称未做区分
rocketMQTemplate
.
getProducer
().
setProducerGroup
(
group
);
this
.
rocketMQTemplate
.
convertAndSend
(
group
,
msg
);
}
}
jeepay-payment/src/main/java/com/jeequan/jeepay/pay/mq/activemq/topic/MqTopicReceive.java
deleted
100644 → 0
View file @
06a5cc9b
/*
* Copyright (c) 2021-2031, 河北计全科技有限公司 (https://www.jeequan.com & jeequan@126.com).
* <p>
* Licensed under the GNU LESSER GENERAL PUBLIC LICENSE 3.0;
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* <p>
* http://www.gnu.org/licenses/lgpl.html
* <p>
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
com.jeequan.jeepay.pay.mq.activemq.topic
;
import
com.jeequan.jeepay.core.constants.CS
;
import
com.jeequan.jeepay.pay.mq.receive.MqReceiveCommon
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.annotation.Profile
;
import
org.springframework.jms.annotation.JmsListener
;
import
org.springframework.stereotype.Component
;
/*
* 接收mq消息
*
* @author terrfly
* @site https://www.jeepay.vip
* @date 2021/6/8 17:31
*/
@Slf4j
@Component
@Profile
(
CS
.
MQTYPE
.
ACTIVE_MQ
)
public
class
MqTopicReceive
{
@Autowired
private
MqReceiveCommon
mqReceiveCommon
;
/** 接收 更新服务商信息的消息 **/
@JmsListener
(
destination
=
CS
.
MQ
.
TOPIC_MODIFY_ISV_INFO
,
containerFactory
=
"jmsListenerContainer"
)
public
void
receiveModifyIsvInfo
(
String
isvNo
)
{
mqReceiveCommon
.
modifyIsvInfo
(
isvNo
);
}
/** 接收 [商户配置信息] 的消息
* 已知推送节点:
* 1. 更新商户基本资料和状态
* 2. 删除商户时
* **/
@JmsListener
(
destination
=
CS
.
MQ
.
TOPIC_MODIFY_MCH_INFO
,
containerFactory
=
"jmsListenerContainer"
)
public
void
receiveModifyMchInfo
(
String
mchNo
)
{
mqReceiveCommon
.
modifyMchInfo
(
mchNo
);
}
/** 接收 [商户应用支付参数配置信息] 的消息
* 已知推送节点:
* 1. 更新商户应用配置
* 2. 删除商户应用配置
* **/
@JmsListener
(
destination
=
CS
.
MQ
.
TOPIC_MODIFY_MCH_APP
,
containerFactory
=
"jmsListenerContainer"
)
public
void
receiveModifyMchApp
(
String
mchNoAndAppId
)
{
mqReceiveCommon
.
modifyMchApp
(
mchNoAndAppId
);
}
/** 接收 更新系统配置项的消息 **/
@JmsListener
(
destination
=
CS
.
MQ
.
TOPIC_MODIFY_SYS_CONFIG
,
containerFactory
=
"jmsListenerContainer"
)
public
void
receiveModifySysConfig
(
String
msg
)
{
mqReceiveCommon
.
initDbConfig
(
msg
);
}
}
jeepay-payment/src/main/java/com/jeequan/jeepay/pay/mq/config/JMSConfig.java
deleted
100644 → 0
View file @
06a5cc9b
/*
* Copyright (c) 2021-2031, 河北计全科技有限公司 (https://www.jeequan.com & jeequan@126.com).
* <p>
* Licensed under the GNU LESSER GENERAL PUBLIC LICENSE 3.0;
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* <p>
* http://www.gnu.org/licenses/lgpl.html
* <p>
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
com.jeequan.jeepay.pay.mq.config
;
import
com.jeequan.jeepay.core.constants.CS
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Profile
;
import
org.springframework.jms.config.DefaultJmsListenerContainerFactory
;
import
org.springframework.jms.config.JmsListenerContainerFactory
;
import
org.springframework.stereotype.Component
;
import
javax.jms.ConnectionFactory
;
/*
* JMS消息配置项
*
* @author terrfly
* @site https://www.jeepay.vip
* @date 2021/6/8 17:31
*/
@Component
@Profile
(
CS
.
MQTYPE
.
ACTIVE_MQ
)
public
class
JMSConfig
{
/** 新增jmsListenerContainer, 用于接收topic类型的消息 **/
@Bean
public
JmsListenerContainerFactory
<?>
jmsListenerContainer
(
ConnectionFactory
factory
){
DefaultJmsListenerContainerFactory
bean
=
new
DefaultJmsListenerContainerFactory
();
bean
.
setPubSubDomain
(
true
);
bean
.
setConnectionFactory
(
factory
);
return
bean
;
}
}
Prev
1
2
Next
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment