123
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
package com.ruoyi.cai.mq.consumer;
|
package com.ruoyi.consumer;
|
||||||
|
|
||||||
|
import com.ruoyi.cai.mq.constant.CalculateSalesQueueHttpMqConstant;
|
||||||
import com.ruoyi.cai.service.ConsumeLogService;
|
import com.ruoyi.cai.service.ConsumeLogService;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.amqp.rabbit.annotation.Exchange;
|
import org.springframework.amqp.rabbit.annotation.Exchange;
|
||||||
@@ -13,18 +14,13 @@ import org.springframework.stereotype.Component;
|
|||||||
@Slf4j
|
@Slf4j
|
||||||
public class CalculateSalesQueueConsumer {
|
public class CalculateSalesQueueConsumer {
|
||||||
|
|
||||||
public final static String CALCULATE_SALES_QUEUE = "calculateSalesQueue";
|
|
||||||
public final static String CALCULATE_SALES_EXCHANGE = "calculateSalesExchange";
|
|
||||||
public final static String CALCULATE_SALES_KEY = "calculateSalesKey";
|
|
||||||
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ConsumeLogService consumeLogService;
|
private ConsumeLogService consumeLogService;
|
||||||
|
|
||||||
@RabbitListener(bindings = @QueueBinding(
|
@RabbitListener(bindings = @QueueBinding(
|
||||||
value = @Queue(value = CALCULATE_SALES_QUEUE, durable = "false", autoDelete = "false"),
|
value = @Queue(value = CalculateSalesQueueHttpMqConstant.CALCULATE_SALES_QUEUE, durable = "false", autoDelete = "false"),
|
||||||
exchange = @Exchange(value = CALCULATE_SALES_EXCHANGE),
|
exchange = @Exchange(value = CalculateSalesQueueHttpMqConstant.CALCULATE_SALES_EXCHANGE),
|
||||||
key = CALCULATE_SALES_KEY)
|
key = CalculateSalesQueueHttpMqConstant.CALCULATE_SALES_KEY)
|
||||||
,containerFactory = "customContainerFactory")
|
,containerFactory = "customContainerFactory")
|
||||||
public void calculateSalesQueue(String message) {
|
public void calculateSalesQueue(String message) {
|
||||||
log.info("接受到到分销处理请求: message=" + message);
|
log.info("接受到到分销处理请求: message=" + message);
|
||||||
@@ -1,8 +1,9 @@
|
|||||||
package com.ruoyi.cai.mq.consumer;
|
package com.ruoyi.consumer;
|
||||||
|
|
||||||
import com.alibaba.fastjson2.JSON;
|
import com.alibaba.fastjson2.JSON;
|
||||||
import com.alibaba.fastjson2.JSONObject;
|
import com.alibaba.fastjson2.JSONObject;
|
||||||
import com.ruoyi.cai.mq.config.HandleConfig;
|
import com.ruoyi.cai.mq.config.HandleConfig;
|
||||||
|
import com.ruoyi.cai.mq.constant.CommonHttpMqConstant;
|
||||||
import com.ruoyi.cai.mq.handle.IHandle;
|
import com.ruoyi.cai.mq.handle.IHandle;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.amqp.rabbit.annotation.Exchange;
|
import org.springframework.amqp.rabbit.annotation.Exchange;
|
||||||
@@ -15,18 +16,15 @@ import org.springframework.stereotype.Component;
|
|||||||
@Component
|
@Component
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class CommonConsumer {
|
public class CommonConsumer {
|
||||||
public final static String COMMON_QUEUE = "caiCommonQueue";
|
|
||||||
public final static String COMMON_EXCHANGE = "caiCommonExchange";
|
|
||||||
public final static String COMMON_KEY = "caiCommonKey";
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private HandleConfig handleConfig;
|
private HandleConfig handleConfig;
|
||||||
|
|
||||||
|
|
||||||
@RabbitListener(bindings = @QueueBinding(
|
@RabbitListener(bindings = @QueueBinding(
|
||||||
value = @Queue(value = COMMON_QUEUE, durable = "false", autoDelete = "false"),
|
value = @Queue(value = CommonHttpMqConstant.COMMON_QUEUE, durable = "false", autoDelete = "false"),
|
||||||
exchange = @Exchange(value = COMMON_EXCHANGE),
|
exchange = @Exchange(value = CommonHttpMqConstant.COMMON_EXCHANGE),
|
||||||
key = COMMON_KEY)
|
key = CommonHttpMqConstant.COMMON_KEY)
|
||||||
,containerFactory = "customContainerFactory")
|
,containerFactory = "customContainerFactory")
|
||||||
public void calculateSalesQueue(String message) {
|
public void calculateSalesQueue(String message) {
|
||||||
log.info("队列消息处理-开始: message=" + message);
|
log.info("队列消息处理-开始: message=" + message);
|
||||||
@@ -1,15 +1,10 @@
|
|||||||
package com.ruoyi.cai.mq.consumer;
|
package com.ruoyi.consumer;
|
||||||
|
|
||||||
import com.alibaba.fastjson2.JSON;
|
import com.alibaba.fastjson2.JSON;
|
||||||
import com.alibaba.fastjson2.JSONObject;
|
import com.alibaba.fastjson2.JSONObject;
|
||||||
import com.ruoyi.cai.manager.UserForbidManager;
|
|
||||||
import com.ruoyi.cai.mq.CommonDelayTypeEnum;
|
|
||||||
import com.ruoyi.cai.mq.config.CommonDelayMqConfig;
|
|
||||||
import com.ruoyi.cai.mq.config.HandleDelayConfig;
|
import com.ruoyi.cai.mq.config.HandleDelayConfig;
|
||||||
import com.ruoyi.cai.mq.handle.IHandle;
|
import com.ruoyi.cai.mq.constant.CommonDelayHttpMqConstant;
|
||||||
import com.ruoyi.cai.mq.handleDelay.CommonDelayDto;
|
|
||||||
import com.ruoyi.cai.mq.handleDelay.IHandleDelay;
|
import com.ruoyi.cai.mq.handleDelay.IHandleDelay;
|
||||||
import com.ruoyi.cai.service.SysPushService;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.amqp.rabbit.annotation.RabbitListener;
|
import org.springframework.amqp.rabbit.annotation.RabbitListener;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
@@ -18,14 +13,10 @@ import org.springframework.stereotype.Component;
|
|||||||
@Slf4j
|
@Slf4j
|
||||||
@Component
|
@Component
|
||||||
public class CommonDelayMqConsumer {
|
public class CommonDelayMqConsumer {
|
||||||
@Autowired
|
|
||||||
private UserForbidManager userForbidManager;
|
|
||||||
@Autowired
|
|
||||||
private SysPushService sysPushService;
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private HandleDelayConfig handleDelayConfig;
|
private HandleDelayConfig handleDelayConfig;
|
||||||
|
|
||||||
@RabbitListener(queues = CommonDelayMqConfig.QUEUE_NAME
|
@RabbitListener(queues = CommonDelayHttpMqConstant.QUEUE_NAME
|
||||||
,containerFactory = "customContainerFactory")
|
,containerFactory = "customContainerFactory")
|
||||||
public void checkTimeOutMq(String message) {
|
public void checkTimeOutMq(String message) {
|
||||||
log.info("公共延时队列消息处理-开始: message=" + message);
|
log.info("公共延时队列消息处理-开始: message=" + message);
|
||||||
@@ -1,8 +1,9 @@
|
|||||||
package com.ruoyi.cai.mq.consumer;
|
package com.ruoyi.consumer;
|
||||||
|
|
||||||
import com.alibaba.fastjson2.JSON;
|
import com.alibaba.fastjson2.JSON;
|
||||||
import com.alibaba.fastjson2.JSONObject;
|
import com.alibaba.fastjson2.JSONObject;
|
||||||
import com.ruoyi.cai.mq.config.HandleConfig;
|
import com.ruoyi.cai.mq.config.HandleConfig;
|
||||||
|
import com.ruoyi.cai.mq.constant.WindowHttpMqConstant;
|
||||||
import com.ruoyi.cai.mq.handle.IHandle;
|
import com.ruoyi.cai.mq.handle.IHandle;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.amqp.rabbit.annotation.Exchange;
|
import org.springframework.amqp.rabbit.annotation.Exchange;
|
||||||
@@ -16,19 +17,15 @@ import org.springframework.stereotype.Component;
|
|||||||
@Slf4j
|
@Slf4j
|
||||||
public class WindowConsumer {
|
public class WindowConsumer {
|
||||||
|
|
||||||
public final static String WINDOW_QUEUE = "caiWindowQueue";
|
|
||||||
public final static String WINDOW_EXCHANGE = "caiWindowExchange";
|
|
||||||
public final static String WINDOW_KEY = "caiWindowKey";
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private HandleConfig handleConfig;
|
private HandleConfig handleConfig;
|
||||||
|
|
||||||
|
|
||||||
// ,containerFactory = "customContainerFactory"
|
// ,containerFactory = "customContainerFactory"
|
||||||
@RabbitListener(bindings = @QueueBinding(
|
@RabbitListener(bindings = @QueueBinding(
|
||||||
value = @Queue(value = WINDOW_QUEUE, durable = "false", autoDelete = "false"),
|
value = @Queue(value = WindowHttpMqConstant.WINDOW_QUEUE, durable = "false", autoDelete = "false"),
|
||||||
exchange = @Exchange(value = WINDOW_EXCHANGE),
|
exchange = @Exchange(value = WindowHttpMqConstant.WINDOW_EXCHANGE),
|
||||||
key = WINDOW_KEY))
|
key = WindowHttpMqConstant.WINDOW_KEY))
|
||||||
public void calculateSalesQueue(String message) {
|
public void calculateSalesQueue(String message) {
|
||||||
log.info("飘窗检测-开始: message=" + message);
|
log.info("飘窗检测-开始: message=" + message);
|
||||||
try {
|
try {
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
package com.ruoyi.web.controller.cai.admin.init;
|
package com.ruoyi.web.controller.cai.admin.init;
|
||||||
|
|
||||||
import com.ruoyi.cai.mq.AmqpProducer;
|
import com.ruoyi.cai.mq.AmqpHttpProducer;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
@@ -15,15 +15,10 @@ import org.springframework.web.bind.annotation.RestController;
|
|||||||
public class MqControllerTest {
|
public class MqControllerTest {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private AmqpProducer amqpProducer;
|
private AmqpHttpProducer amqpHttpProducer;
|
||||||
|
|
||||||
@GetMapping("/send")
|
|
||||||
public void send(String message,Integer time){
|
|
||||||
amqpProducer.sendRoomSettleDelay(message,time);
|
|
||||||
}
|
|
||||||
|
|
||||||
@GetMapping("/send2")
|
@GetMapping("/send2")
|
||||||
public void send(String message){
|
public void send(String message){
|
||||||
amqpProducer.sendCalculateSales(message);
|
amqpHttpProducer.sendCalculateSales(message);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,8 +6,6 @@ import com.ruoyi.cai.notice.data.ImVideoAttachR;
|
|||||||
import com.ruoyi.cai.notice.data.child.ImVideoAttachData;
|
import com.ruoyi.cai.notice.data.child.ImVideoAttachData;
|
||||||
import com.ruoyi.cai.service.UserService;
|
import com.ruoyi.cai.service.UserService;
|
||||||
import com.ruoyi.cai.ws.cache.RoomDataCache;
|
import com.ruoyi.cai.ws.cache.RoomDataCache;
|
||||||
import com.ruoyi.cai.ws.job.JobResp;
|
|
||||||
import com.ruoyi.cai.ws.job.RoomCheckJobService;
|
|
||||||
import com.ruoyi.cai.ws.service.RoomService;
|
import com.ruoyi.cai.ws.service.RoomService;
|
||||||
import com.ruoyi.yunxin.Yunxin;
|
import com.ruoyi.yunxin.Yunxin;
|
||||||
import com.ruoyi.yunxin.resp.YxCommonR;
|
import com.ruoyi.yunxin.resp.YxCommonR;
|
||||||
@@ -20,14 +18,14 @@ import org.springframework.boot.test.context.SpringBootTest;
|
|||||||
@SpringBootTest
|
@SpringBootTest
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class RoomTest {
|
public class RoomTest {
|
||||||
@Autowired
|
// @Autowired
|
||||||
private RoomCheckJobService roomCheckJobService;
|
// private RoomCheckJobService roomCheckJobService;
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void test(){
|
public void test(){
|
||||||
Long roomId = 1761964822147088386L;
|
// Long roomId = 1761964822147088386L;
|
||||||
JobResp resp = roomCheckJobService.checkRoom(roomId);
|
// JobResp resp = roomCheckJobService.checkRoom(roomId);
|
||||||
log.error(JSON.toJSONString(resp));
|
// log.error(JSON.toJSONString(resp));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ import com.ruoyi.cai.enums.IgnoreDataTypeEnum;
|
|||||||
import com.ruoyi.cai.enums.SystemConfigEnum;
|
import com.ruoyi.cai.enums.SystemConfigEnum;
|
||||||
import com.ruoyi.cai.executor.ExecutorConstant;
|
import com.ruoyi.cai.executor.ExecutorConstant;
|
||||||
import com.ruoyi.cai.manager.*;
|
import com.ruoyi.cai.manager.*;
|
||||||
import com.ruoyi.cai.mq.AmqpProducer;
|
import com.ruoyi.cai.mq.AmqpHttpProducer;
|
||||||
import com.ruoyi.cai.mq.handle.dto.LoginNotifyDTO;
|
import com.ruoyi.cai.mq.handle.dto.LoginNotifyDTO;
|
||||||
import com.ruoyi.cai.service.*;
|
import com.ruoyi.cai.service.*;
|
||||||
import com.ruoyi.cai.util.RandomSjUtil;
|
import com.ruoyi.cai.util.RandomSjUtil;
|
||||||
@@ -86,7 +86,7 @@ public class CaiLoginManager {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private IgnoreDataService ignoreDataService;
|
private IgnoreDataService ignoreDataService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private AmqpProducer amqpProducer;
|
private AmqpHttpProducer amqpHttpProducer;
|
||||||
|
|
||||||
public String login(String username,String password){
|
public String login(String username,String password){
|
||||||
User user = userService.getByUsername(username);
|
User user = userService.getByUsername(username);
|
||||||
@@ -119,7 +119,7 @@ public class CaiLoginManager {
|
|||||||
loginUserDTO.setImei(ServletUtils.getImei());
|
loginUserDTO.setImei(ServletUtils.getImei());
|
||||||
loginUserDTO.setClientIP(ServletUtils.getClientIP());
|
loginUserDTO.setClientIP(ServletUtils.getClientIP());
|
||||||
loginUserDTO.setLogin(true);
|
loginUserDTO.setLogin(true);
|
||||||
amqpProducer.sendCommonMq(loginUserDTO);
|
amqpHttpProducer.sendCommonMq(loginUserDTO);
|
||||||
}
|
}
|
||||||
|
|
||||||
public String register(CaiRegisterUser caiUser) {
|
public String register(CaiRegisterUser caiUser) {
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ import com.ruoyi.cai.dto.commom.consumer.GuardConsumerResp;
|
|||||||
import com.ruoyi.cai.dto.commom.consumer.RechargeConsumerResp;
|
import com.ruoyi.cai.dto.commom.consumer.RechargeConsumerResp;
|
||||||
import com.ruoyi.cai.dto.video.VideoSettleResp;
|
import com.ruoyi.cai.dto.video.VideoSettleResp;
|
||||||
import com.ruoyi.cai.enums.SystemConfigEnum;
|
import com.ruoyi.cai.enums.SystemConfigEnum;
|
||||||
import com.ruoyi.cai.mq.AmqpProducer;
|
import com.ruoyi.cai.mq.AmqpHttpProducer;
|
||||||
import com.ruoyi.cai.mq.handle.dto.WindowGiftNotifyDTO;
|
import com.ruoyi.cai.mq.handle.dto.WindowGiftNotifyDTO;
|
||||||
import com.ruoyi.cai.mq.handle.dto.WindowRechargeNotifyDTO;
|
import com.ruoyi.cai.mq.handle.dto.WindowRechargeNotifyDTO;
|
||||||
import com.ruoyi.cai.notice.YunxinHttpService;
|
import com.ruoyi.cai.notice.YunxinHttpService;
|
||||||
@@ -37,7 +37,7 @@ public class ConsumerManager {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private UserGiftService userGiftService;
|
private UserGiftService userGiftService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private AmqpProducer amqpProducer;
|
private AmqpHttpProducer amqpHttpProducer;
|
||||||
@Autowired
|
@Autowired
|
||||||
private RechargeOrderService rechargeOrderService;
|
private RechargeOrderService rechargeOrderService;
|
||||||
@Autowired
|
@Autowired
|
||||||
@@ -57,7 +57,7 @@ public class ConsumerManager {
|
|||||||
GuardConsumerResp resp = guardTotalService.giveGuard(query);
|
GuardConsumerResp resp = guardTotalService.giveGuard(query);
|
||||||
if(resp.isSuccess()){
|
if(resp.isSuccess()){
|
||||||
try {
|
try {
|
||||||
amqpProducer.sendCalculateSales(resp.getConsumeLogId()+"");
|
amqpHttpProducer.sendCalculateSales(resp.getConsumeLogId()+"");
|
||||||
}catch (Exception e){
|
}catch (Exception e){
|
||||||
log.error("RabbitMq 发送失败, 守护分销流程流转失败!",e);
|
log.error("RabbitMq 发送失败, 守护分销流程流转失败!",e);
|
||||||
}
|
}
|
||||||
@@ -79,7 +79,7 @@ public class ConsumerManager {
|
|||||||
GiftConsumerResp resp = userGiftService.giveGift(query);
|
GiftConsumerResp resp = userGiftService.giveGift(query);
|
||||||
if(resp.isSuccess()){
|
if(resp.isSuccess()){
|
||||||
try {
|
try {
|
||||||
amqpProducer.sendCalculateSales(resp.getConsumeLogId()+"");
|
amqpHttpProducer.sendCalculateSales(resp.getConsumeLogId()+"");
|
||||||
}catch (Exception e){
|
}catch (Exception e){
|
||||||
log.error("RabbitMq 发送失败, 礼物分销流程流转失败!",e);
|
log.error("RabbitMq 发送失败, 礼物分销流程流转失败!",e);
|
||||||
}
|
}
|
||||||
@@ -107,7 +107,7 @@ public class ConsumerManager {
|
|||||||
windowGift.setToId(resp.getToUid());
|
windowGift.setToId(resp.getToUid());
|
||||||
windowGift.setGift(resp.getGift());
|
windowGift.setGift(resp.getGift());
|
||||||
windowGift.setGiftNum(query.getGiftCount());
|
windowGift.setGiftNum(query.getGiftCount());
|
||||||
amqpProducer.sendWindowMq(windowGift);
|
amqpHttpProducer.sendWindowMq(windowGift);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}catch (Exception e){
|
}catch (Exception e){
|
||||||
@@ -121,7 +121,7 @@ public class ConsumerManager {
|
|||||||
VideoSettleResp resp = accountService.videoSettle(room);
|
VideoSettleResp resp = accountService.videoSettle(room);
|
||||||
ConsumeLog consumeLog = resp.getConsumeLog();
|
ConsumeLog consumeLog = resp.getConsumeLog();
|
||||||
try {
|
try {
|
||||||
amqpProducer.sendCalculateSales(consumeLog.getId()+"");
|
amqpHttpProducer.sendCalculateSales(consumeLog.getId()+"");
|
||||||
}catch (Exception e){
|
}catch (Exception e){
|
||||||
log.error("RabbitMq 发送失败, 视频分销流程流转失败!",e);
|
log.error("RabbitMq 发送失败, 视频分销流程流转失败!",e);
|
||||||
}
|
}
|
||||||
@@ -152,7 +152,7 @@ public class ConsumerManager {
|
|||||||
log.error("充值每日实时统计失败",e);
|
log.error("充值每日实时统计失败",e);
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
amqpProducer.sendCalculateSales(resp.getConsumeLogId()+"");
|
amqpHttpProducer.sendCalculateSales(resp.getConsumeLogId()+"");
|
||||||
}catch (Exception e){
|
}catch (Exception e){
|
||||||
log.error("RabbitMq 发送失败, 充值分销流程流转失败!",e);
|
log.error("RabbitMq 发送失败, 充值分销流程流转失败!",e);
|
||||||
}
|
}
|
||||||
@@ -176,7 +176,7 @@ public class ConsumerManager {
|
|||||||
windowRecharge.setAvatar(resp.getUser().getAvatar());
|
windowRecharge.setAvatar(resp.getUser().getAvatar());
|
||||||
windowRecharge.setAmount(resp.getRechargeCoin());
|
windowRecharge.setAmount(resp.getRechargeCoin());
|
||||||
windowRecharge.setTime(LocalDateTime.now());
|
windowRecharge.setTime(LocalDateTime.now());
|
||||||
amqpProducer.sendWindowMq(windowRecharge);
|
amqpHttpProducer.sendWindowMq(windowRecharge);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}catch (Exception e){
|
}catch (Exception e){
|
||||||
|
|||||||
@@ -2,20 +2,17 @@ package com.ruoyi.cai.manager;
|
|||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.ruoyi.cai.constant.RedisHttpConstant;
|
import com.ruoyi.cai.constant.RedisHttpConstant;
|
||||||
import com.ruoyi.cai.domain.User;
|
|
||||||
import com.ruoyi.cai.dto.admin.vo.AnchorTopAdminVo;
|
|
||||||
import com.ruoyi.cai.dto.app.query.index.AnchorListQuery;
|
import com.ruoyi.cai.dto.app.query.index.AnchorListQuery;
|
||||||
import com.ruoyi.cai.dto.app.vo.AnchorListVo;
|
import com.ruoyi.cai.dto.app.vo.AnchorListVo;
|
||||||
import com.ruoyi.cai.dto.app.vo.setting.AppHomeConfig;
|
import com.ruoyi.cai.dto.app.vo.setting.AppHomeConfig;
|
||||||
import com.ruoyi.cai.enums.SystemConfigEnum;
|
import com.ruoyi.cai.enums.SystemConfigEnum;
|
||||||
import com.ruoyi.cai.enums.home.AnchorListQueryTypeEnum;
|
import com.ruoyi.cai.enums.home.AnchorListQueryTypeEnum;
|
||||||
import com.ruoyi.cai.mq.AmqpProducer;
|
import com.ruoyi.cai.mq.AmqpHttpProducer;
|
||||||
import com.ruoyi.cai.mq.handle.dto.LoginNotifyDTO;
|
import com.ruoyi.cai.mq.handle.dto.LoginNotifyDTO;
|
||||||
import com.ruoyi.cai.service.AnchorService;
|
import com.ruoyi.cai.service.AnchorService;
|
||||||
import com.ruoyi.cai.service.AnchorTopService;
|
import com.ruoyi.cai.service.AnchorTopService;
|
||||||
import com.ruoyi.cai.service.UserService;
|
import com.ruoyi.cai.service.UserService;
|
||||||
import com.ruoyi.common.core.domain.PageQuery;
|
import com.ruoyi.common.core.domain.PageQuery;
|
||||||
import com.ruoyi.common.exception.ServiceException;
|
|
||||||
import com.ruoyi.common.helper.LoginHelper;
|
import com.ruoyi.common.helper.LoginHelper;
|
||||||
import com.ruoyi.common.utils.ServletUtils;
|
import com.ruoyi.common.utils.ServletUtils;
|
||||||
import org.apache.commons.collections4.CollectionUtils;
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
@@ -24,7 +21,6 @@ import org.redisson.api.RedissonClient;
|
|||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
@@ -147,7 +143,7 @@ public class HomeManager {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private SystemConfigManager systemConfigManager;
|
private SystemConfigManager systemConfigManager;
|
||||||
@Autowired
|
@Autowired
|
||||||
private AmqpProducer amqpProducer;
|
private AmqpHttpProducer amqpHttpProducer;
|
||||||
|
|
||||||
public AppHomeConfig config() {
|
public AppHomeConfig config() {
|
||||||
AppHomeConfig config = new AppHomeConfig();
|
AppHomeConfig config = new AppHomeConfig();
|
||||||
@@ -160,7 +156,7 @@ public class HomeManager {
|
|||||||
loginUserDTO.setUserId(userId);
|
loginUserDTO.setUserId(userId);
|
||||||
loginUserDTO.setImei(ServletUtils.getImei());
|
loginUserDTO.setImei(ServletUtils.getImei());
|
||||||
loginUserDTO.setClientIP(ServletUtils.getClientIP());
|
loginUserDTO.setClientIP(ServletUtils.getClientIP());
|
||||||
amqpProducer.sendCommonMq(loginUserDTO);
|
amqpHttpProducer.sendCommonMq(loginUserDTO);
|
||||||
}
|
}
|
||||||
return config;
|
return config;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ import com.ruoyi.cai.enums.ChatTypeEnum;
|
|||||||
import com.ruoyi.cai.enums.GenderEnum;
|
import com.ruoyi.cai.enums.GenderEnum;
|
||||||
import com.ruoyi.cai.enums.UserMemberTypeEnum;
|
import com.ruoyi.cai.enums.UserMemberTypeEnum;
|
||||||
import com.ruoyi.cai.enums.im.ImImgStatusEnum;
|
import com.ruoyi.cai.enums.im.ImImgStatusEnum;
|
||||||
import com.ruoyi.cai.mq.AmqpProducer;
|
import com.ruoyi.cai.mq.AmqpHttpProducer;
|
||||||
import com.ruoyi.cai.mq.handleDelay.dto.SaveSendImImgDelayDto;
|
import com.ruoyi.cai.mq.handleDelay.dto.SaveSendImImgDelayDto;
|
||||||
import com.ruoyi.cai.service.*;
|
import com.ruoyi.cai.service.*;
|
||||||
import com.ruoyi.cai.util.FileUtils;
|
import com.ruoyi.cai.util.FileUtils;
|
||||||
@@ -50,7 +50,7 @@ public class ImService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private UserBlacklistService userBlacklistService;
|
private UserBlacklistService userBlacklistService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private AmqpProducer amqpProducer;
|
private AmqpHttpProducer amqpHttpProducer;
|
||||||
@Autowired
|
@Autowired
|
||||||
private ISysOssService sysOssService;
|
private ISysOssService sysOssService;
|
||||||
@Autowired
|
@Autowired
|
||||||
@@ -229,7 +229,7 @@ public class ImService {
|
|||||||
}
|
}
|
||||||
SaveSendImImgDelayDto dto = new SaveSendImImgDelayDto();
|
SaveSendImImgDelayDto dto = new SaveSendImImgDelayDto();
|
||||||
dto.setRecordId(saveSendImImgReq.getRecordId());
|
dto.setRecordId(saveSendImImgReq.getRecordId());
|
||||||
amqpProducer.sendCommonDelayMq(dto,5);
|
amqpHttpProducer.sendCommonDelayMq(dto,5);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -10,14 +10,11 @@ import com.ruoyi.cai.dto.admin.query.UserForbidReq;
|
|||||||
import com.ruoyi.cai.enums.ForbidStatusEnum;
|
import com.ruoyi.cai.enums.ForbidStatusEnum;
|
||||||
import com.ruoyi.cai.enums.forbid.ForbidTimeEnum;
|
import com.ruoyi.cai.enums.forbid.ForbidTimeEnum;
|
||||||
import com.ruoyi.cai.enums.forbid.ForbidTypeEnum;
|
import com.ruoyi.cai.enums.forbid.ForbidTypeEnum;
|
||||||
import com.ruoyi.cai.mq.AmqpProducer;
|
import com.ruoyi.cai.mq.AmqpHttpProducer;
|
||||||
import com.ruoyi.cai.mq.CommonDelayTypeEnum;
|
|
||||||
import com.ruoyi.cai.mq.handleDelay.CommonDelayDto;
|
|
||||||
import com.ruoyi.cai.mq.handleDelay.dto.ForbidDelayDto;
|
import com.ruoyi.cai.mq.handleDelay.dto.ForbidDelayDto;
|
||||||
import com.ruoyi.cai.service.*;
|
import com.ruoyi.cai.service.*;
|
||||||
import com.ruoyi.cai.util.CaiDateUtil;
|
import com.ruoyi.cai.util.CaiDateUtil;
|
||||||
import com.ruoyi.common.exception.ServiceException;
|
import com.ruoyi.common.exception.ServiceException;
|
||||||
import com.ruoyi.common.helper.LoginHelper;
|
|
||||||
import com.ruoyi.common.utils.ServletUtils;
|
import com.ruoyi.common.utils.ServletUtils;
|
||||||
import com.ruoyi.common.utils.StringUtils;
|
import com.ruoyi.common.utils.StringUtils;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
@@ -277,13 +274,13 @@ public class UserForbidManager {
|
|||||||
if(between > 0 && between < 60*60*12){
|
if(between > 0 && between < 60*60*12){
|
||||||
ForbidDelayDto dto = new ForbidDelayDto();
|
ForbidDelayDto dto = new ForbidDelayDto();
|
||||||
dto.setForbidId(expireId);
|
dto.setForbidId(expireId);
|
||||||
amqpProducer.sendCommonDelayMq(dto,(int)between+5);
|
amqpHttpProducer.sendCommonDelayMq(dto,(int)between+5);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private AmqpProducer amqpProducer;
|
private AmqpHttpProducer amqpHttpProducer;
|
||||||
|
|
||||||
public void checkExpire(Long id){
|
public void checkExpire(Long id){
|
||||||
UserForbid userForbid = userForbidService.getById(id);
|
UserForbid userForbid = userForbidService.getById(id);
|
||||||
|
|||||||
@@ -0,0 +1,43 @@
|
|||||||
|
package com.ruoyi.cai.mq;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSON;
|
||||||
|
import com.ruoyi.cai.mq.constant.CalculateSalesQueueHttpMqConstant;
|
||||||
|
import com.ruoyi.cai.mq.constant.CommonDelayHttpMqConstant;
|
||||||
|
import com.ruoyi.cai.mq.constant.CommonHttpMqConstant;
|
||||||
|
import com.ruoyi.cai.mq.constant.WindowHttpMqConstant;
|
||||||
|
import com.ruoyi.cai.mq.handle.CommonDTO;
|
||||||
|
import com.ruoyi.cai.mq.handleDelay.CommonDelayDto;
|
||||||
|
import org.springframework.amqp.rabbit.core.RabbitTemplate;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
@Component
|
||||||
|
public class AmqpHttpProducer {
|
||||||
|
@Autowired
|
||||||
|
private RabbitTemplate rabbitTemplate;
|
||||||
|
|
||||||
|
public void sendCalculateSales(String message){
|
||||||
|
rabbitTemplate.convertAndSend(CalculateSalesQueueHttpMqConstant.CALCULATE_SALES_EXCHANGE, CalculateSalesQueueHttpMqConstant.CALCULATE_SALES_KEY, message);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public <T extends CommonDTO> void sendCommonMq(T dto){
|
||||||
|
rabbitTemplate.convertAndSend(CommonHttpMqConstant.COMMON_EXCHANGE,
|
||||||
|
CommonHttpMqConstant.COMMON_KEY, JSON.toJSONString(dto));
|
||||||
|
}
|
||||||
|
|
||||||
|
public <T extends CommonDTO> void sendWindowMq(T dto){
|
||||||
|
rabbitTemplate.convertAndSend(WindowHttpMqConstant.WINDOW_EXCHANGE,
|
||||||
|
WindowHttpMqConstant.WINDOW_KEY, JSON.toJSONString(dto));
|
||||||
|
}
|
||||||
|
|
||||||
|
public <T extends CommonDelayDto> void sendCommonDelayMq(T dto, Integer timeout){
|
||||||
|
rabbitTemplate.convertAndSend(CommonDelayHttpMqConstant.EXCHANGE_NAME,
|
||||||
|
CommonDelayHttpMqConstant.ROUTING_KEY,
|
||||||
|
JSON.toJSONString(dto),
|
||||||
|
messagePostProcessor -> {
|
||||||
|
messagePostProcessor.getMessageProperties().setDelay(timeout*1000); // 设置延迟时间,单位毫秒
|
||||||
|
return messagePostProcessor;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,65 +0,0 @@
|
|||||||
package com.ruoyi.cai.mq;
|
|
||||||
|
|
||||||
import com.alibaba.fastjson.JSON;
|
|
||||||
import com.ruoyi.cai.mq.config.RoomCheckDelayMqConfig;
|
|
||||||
import com.ruoyi.cai.mq.config.RoomSettleDelayMqConfig;
|
|
||||||
import com.ruoyi.cai.mq.config.CommonDelayMqConfig;
|
|
||||||
import com.ruoyi.cai.mq.consumer.CalculateSalesQueueConsumer;
|
|
||||||
import com.ruoyi.cai.mq.consumer.CommonConsumer;
|
|
||||||
import com.ruoyi.cai.mq.consumer.WindowConsumer;
|
|
||||||
import com.ruoyi.cai.mq.handle.CommonDTO;
|
|
||||||
import com.ruoyi.cai.mq.handleDelay.CommonDelayDto;
|
|
||||||
import org.springframework.amqp.rabbit.core.RabbitTemplate;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.stereotype.Component;
|
|
||||||
|
|
||||||
@Component
|
|
||||||
public class AmqpProducer {
|
|
||||||
@Autowired
|
|
||||||
private RabbitTemplate rabbitTemplate;
|
|
||||||
|
|
||||||
public void sendCalculateSales(String message){
|
|
||||||
rabbitTemplate.convertAndSend(CalculateSalesQueueConsumer.CALCULATE_SALES_EXCHANGE, CalculateSalesQueueConsumer.CALCULATE_SALES_KEY, message);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public <T extends CommonDTO> void sendCommonMq(T dto){
|
|
||||||
rabbitTemplate.convertAndSend(CommonConsumer.COMMON_EXCHANGE,
|
|
||||||
CommonConsumer.COMMON_KEY, JSON.toJSONString(dto));
|
|
||||||
}
|
|
||||||
|
|
||||||
public <T extends CommonDTO> void sendWindowMq(T dto){
|
|
||||||
rabbitTemplate.convertAndSend(WindowConsumer.WINDOW_EXCHANGE,
|
|
||||||
WindowConsumer.WINDOW_KEY, JSON.toJSONString(dto));
|
|
||||||
}
|
|
||||||
|
|
||||||
public void sendRoomCheckDelay(String message, Integer timeout){
|
|
||||||
rabbitTemplate.convertAndSend(RoomCheckDelayMqConfig.EXCHANGE_NAME,
|
|
||||||
RoomCheckDelayMqConfig.ROUTING_KEY,
|
|
||||||
message,
|
|
||||||
messagePostProcessor -> {
|
|
||||||
messagePostProcessor.getMessageProperties().setDelay(timeout*1000); // 设置延迟时间,单位毫秒
|
|
||||||
return messagePostProcessor;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
public void sendRoomSettleDelay(String message, Integer timeout){
|
|
||||||
rabbitTemplate.convertAndSend(RoomSettleDelayMqConfig.EXCHANGE_NAME,
|
|
||||||
RoomSettleDelayMqConfig.ROUTING_KEY,
|
|
||||||
message,
|
|
||||||
messagePostProcessor -> {
|
|
||||||
messagePostProcessor.getMessageProperties().setDelay(timeout*1000); // 设置延迟时间,单位毫秒
|
|
||||||
return messagePostProcessor;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
public <T extends CommonDelayDto> void sendCommonDelayMq(T dto, Integer timeout){
|
|
||||||
rabbitTemplate.convertAndSend(CommonDelayMqConfig.EXCHANGE_NAME,
|
|
||||||
CommonDelayMqConfig.ROUTING_KEY,
|
|
||||||
JSON.toJSONString(dto),
|
|
||||||
messagePostProcessor -> {
|
|
||||||
messagePostProcessor.getMessageProperties().setDelay(timeout*1000); // 设置延迟时间,单位毫秒
|
|
||||||
return messagePostProcessor;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
33
ruoyi-cai/src/main/java/com/ruoyi/cai/mq/AmqpWsProducer.java
Normal file
33
ruoyi-cai/src/main/java/com/ruoyi/cai/mq/AmqpWsProducer.java
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
package com.ruoyi.cai.mq;
|
||||||
|
|
||||||
|
import com.ruoyi.cai.mq.constant.ws.RoomCheckDelayWsMqConstant;
|
||||||
|
import com.ruoyi.cai.mq.constant.ws.RoomSettleDelayWsMqConstant;
|
||||||
|
import org.springframework.amqp.rabbit.core.RabbitTemplate;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
@Component
|
||||||
|
public class AmqpWsProducer {
|
||||||
|
@Autowired
|
||||||
|
private RabbitTemplate rabbitTemplate;
|
||||||
|
|
||||||
|
public void sendRoomCheckDelay(String message, Integer timeout){
|
||||||
|
rabbitTemplate.convertAndSend(RoomCheckDelayWsMqConstant.EXCHANGE_NAME,
|
||||||
|
RoomCheckDelayWsMqConstant.ROUTING_KEY,
|
||||||
|
message,
|
||||||
|
messagePostProcessor -> {
|
||||||
|
messagePostProcessor.getMessageProperties().setDelay(timeout*1000); // 设置延迟时间,单位毫秒
|
||||||
|
return messagePostProcessor;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
public void sendRoomSettleDelay(String message, Integer timeout){
|
||||||
|
rabbitTemplate.convertAndSend(RoomSettleDelayWsMqConstant.EXCHANGE_NAME,
|
||||||
|
RoomSettleDelayWsMqConstant.ROUTING_KEY,
|
||||||
|
message,
|
||||||
|
messagePostProcessor -> {
|
||||||
|
messagePostProcessor.getMessageProperties().setDelay(timeout*1000); // 设置延迟时间,单位毫秒
|
||||||
|
return messagePostProcessor;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.ruoyi.cai.mq.config;
|
package com.ruoyi.cai.mq.config;
|
||||||
|
|
||||||
|
import com.ruoyi.cai.mq.constant.CommonDelayHttpMqConstant;
|
||||||
import org.springframework.amqp.core.*;
|
import org.springframework.amqp.core.*;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
@@ -10,15 +11,11 @@ import java.util.HashMap;
|
|||||||
@Configuration
|
@Configuration
|
||||||
public class CommonDelayMqConfig {
|
public class CommonDelayMqConfig {
|
||||||
|
|
||||||
public static final String EXCHANGE_NAME = "commonDelayExchange";
|
|
||||||
public static final String QUEUE_NAME = "commonDelayQueue";
|
|
||||||
public static final String ROUTING_KEY = "commonDelayRouting";
|
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
public CustomExchange commonDelayedExchange() {
|
public CustomExchange commonDelayedExchange() {
|
||||||
HashMap<String,Object> args = new HashMap<>();
|
HashMap<String,Object> args = new HashMap<>();
|
||||||
args.put("x-delayed-type", "direct");
|
args.put("x-delayed-type", "direct");
|
||||||
return new CustomExchange(EXCHANGE_NAME,
|
return new CustomExchange(CommonDelayHttpMqConstant.EXCHANGE_NAME,
|
||||||
"x-delayed-message", // 消息类型
|
"x-delayed-message", // 消息类型
|
||||||
true, // 是否持久化
|
true, // 是否持久化
|
||||||
false,// 是否自动删除
|
false,// 是否自动删除
|
||||||
@@ -27,14 +24,14 @@ public class CommonDelayMqConfig {
|
|||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
public Queue commonDelayedQueue() {
|
public Queue commonDelayedQueue() {
|
||||||
return QueueBuilder.durable(QUEUE_NAME)
|
return QueueBuilder.durable(CommonDelayHttpMqConstant.QUEUE_NAME)
|
||||||
.withArgument("x-delayed-type", "direct")
|
.withArgument("x-delayed-type", "direct")
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
public Binding commonDelayedBinding(Queue commonDelayedQueue,CustomExchange commonDelayedExchange) {
|
public Binding commonDelayedBinding(Queue commonDelayedQueue,CustomExchange commonDelayedExchange) {
|
||||||
return BindingBuilder.bind(commonDelayedQueue()).to(commonDelayedExchange()).with(ROUTING_KEY).noargs();
|
return BindingBuilder.bind(commonDelayedQueue()).to(commonDelayedExchange()).with(CommonDelayHttpMqConstant.ROUTING_KEY).noargs();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.ruoyi.cai.mq.config;
|
package com.ruoyi.cai.mq.config;
|
||||||
|
|
||||||
|
import com.ruoyi.cai.mq.constant.ws.RoomCheckDelayWsMqConstant;
|
||||||
import org.springframework.amqp.core.*;
|
import org.springframework.amqp.core.*;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
@@ -10,15 +11,11 @@ import java.util.HashMap;
|
|||||||
@Configuration
|
@Configuration
|
||||||
public class RoomCheckDelayMqConfig {
|
public class RoomCheckDelayMqConfig {
|
||||||
|
|
||||||
public static final String EXCHANGE_NAME = "roomCheckDelayExchange";
|
|
||||||
public static final String QUEUE_NAME = "roomCheckDelayQueue";
|
|
||||||
public static final String ROUTING_KEY = "roomCheckDelayRouting";
|
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
public CustomExchange roomCheckDelayedExchange() {
|
public CustomExchange roomCheckDelayedExchange() {
|
||||||
HashMap<String,Object> args = new HashMap<>();
|
HashMap<String,Object> args = new HashMap<>();
|
||||||
args.put("x-delayed-type", "direct");
|
args.put("x-delayed-type", "direct");
|
||||||
return new CustomExchange(EXCHANGE_NAME,
|
return new CustomExchange(RoomCheckDelayWsMqConstant.EXCHANGE_NAME,
|
||||||
"x-delayed-message", // 消息类型
|
"x-delayed-message", // 消息类型
|
||||||
true, // 是否持久化
|
true, // 是否持久化
|
||||||
false,// 是否自动删除
|
false,// 是否自动删除
|
||||||
@@ -27,14 +24,14 @@ public class RoomCheckDelayMqConfig {
|
|||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
public Queue roomCheckDelayedQueue() {
|
public Queue roomCheckDelayedQueue() {
|
||||||
return QueueBuilder.durable(QUEUE_NAME)
|
return QueueBuilder.durable(RoomCheckDelayWsMqConstant.QUEUE_NAME)
|
||||||
.withArgument("x-delayed-type", "direct")
|
.withArgument("x-delayed-type", "direct")
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
public Binding roomCheckDelayedBinding(Queue roomCheckDelayedQueue,CustomExchange roomCheckDelayedExchange) {
|
public Binding roomCheckDelayedBinding(Queue roomCheckDelayedQueue,CustomExchange roomCheckDelayedExchange) {
|
||||||
return BindingBuilder.bind(roomCheckDelayedQueue).to(roomCheckDelayedExchange).with(ROUTING_KEY).noargs();
|
return BindingBuilder.bind(roomCheckDelayedQueue).to(roomCheckDelayedExchange).with(RoomCheckDelayWsMqConstant.ROUTING_KEY).noargs();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.ruoyi.cai.mq.config;
|
package com.ruoyi.cai.mq.config;
|
||||||
|
|
||||||
|
import com.ruoyi.cai.mq.constant.ws.RoomSettleDelayWsMqConstant;
|
||||||
import org.springframework.amqp.core.*;
|
import org.springframework.amqp.core.*;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
@@ -10,15 +11,11 @@ import java.util.HashMap;
|
|||||||
@Configuration
|
@Configuration
|
||||||
public class RoomSettleDelayMqConfig {
|
public class RoomSettleDelayMqConfig {
|
||||||
|
|
||||||
public static final String EXCHANGE_NAME = "roomSettleDelayExchange";
|
|
||||||
public static final String QUEUE_NAME = "roomSettleDelayQueue";
|
|
||||||
public static final String ROUTING_KEY = "roomSettleDelayRouting";
|
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
public CustomExchange roomSettleDelayedExchange() {
|
public CustomExchange roomSettleDelayedExchange() {
|
||||||
HashMap<String,Object> args = new HashMap<>();
|
HashMap<String,Object> args = new HashMap<>();
|
||||||
args.put("x-delayed-type", "direct");
|
args.put("x-delayed-type", "direct");
|
||||||
return new CustomExchange(EXCHANGE_NAME,
|
return new CustomExchange(RoomSettleDelayWsMqConstant.EXCHANGE_NAME,
|
||||||
"x-delayed-message", // 消息类型
|
"x-delayed-message", // 消息类型
|
||||||
true, // 是否持久化
|
true, // 是否持久化
|
||||||
false,// 是否自动删除
|
false,// 是否自动删除
|
||||||
@@ -27,14 +24,14 @@ public class RoomSettleDelayMqConfig {
|
|||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
public Queue roomSettleDelayedQueue() {
|
public Queue roomSettleDelayedQueue() {
|
||||||
return QueueBuilder.durable(QUEUE_NAME)
|
return QueueBuilder.durable(RoomSettleDelayWsMqConstant.QUEUE_NAME)
|
||||||
.withArgument("x-delayed-type", "direct")
|
.withArgument("x-delayed-type", "direct")
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
public Binding roomSettleDelayedBinding(Queue roomSettleDelayedQueue,CustomExchange roomSettleDelayedExchange) {
|
public Binding roomSettleDelayedBinding(Queue roomSettleDelayedQueue,CustomExchange roomSettleDelayedExchange) {
|
||||||
return BindingBuilder.bind(roomSettleDelayedQueue).to(roomSettleDelayedExchange).with(ROUTING_KEY).noargs();
|
return BindingBuilder.bind(roomSettleDelayedQueue).to(roomSettleDelayedExchange).with(RoomSettleDelayWsMqConstant.ROUTING_KEY).noargs();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,12 @@
|
|||||||
|
package com.ruoyi.cai.mq.constant;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* HTTP服务
|
||||||
|
* 分销计算
|
||||||
|
*/
|
||||||
|
public class CalculateSalesQueueHttpMqConstant {
|
||||||
|
public final static String CALCULATE_SALES_QUEUE = "calculateSalesQueue";
|
||||||
|
public final static String CALCULATE_SALES_EXCHANGE = "calculateSalesExchange";
|
||||||
|
public final static String CALCULATE_SALES_KEY = "calculateSalesKey";
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
package com.ruoyi.cai.mq.constant;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* HTTP 公共延迟队列
|
||||||
|
*/
|
||||||
|
public class CommonDelayHttpMqConstant {
|
||||||
|
public static final String EXCHANGE_NAME = "commonDelayExchange";
|
||||||
|
public static final String QUEUE_NAME = "commonDelayQueue";
|
||||||
|
public static final String ROUTING_KEY = "commonDelayRouting";
|
||||||
|
}
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
package com.ruoyi.cai.mq.constant;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* 公共队列 HTTP服务专用
|
||||||
|
*/
|
||||||
|
public class CommonHttpMqConstant {
|
||||||
|
|
||||||
|
public final static String COMMON_QUEUE = "caiCommonQueue";
|
||||||
|
public final static String COMMON_EXCHANGE = "caiCommonExchange";
|
||||||
|
public final static String COMMON_KEY = "caiCommonKey";
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
package com.ruoyi.cai.mq.constant;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* HTTP
|
||||||
|
* 飘窗通知队列
|
||||||
|
*/
|
||||||
|
public class WindowHttpMqConstant {
|
||||||
|
public final static String WINDOW_QUEUE = "caiWindowQueue";
|
||||||
|
public final static String WINDOW_EXCHANGE = "caiWindowExchange";
|
||||||
|
public final static String WINDOW_KEY = "caiWindowKey";
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
package com.ruoyi.cai.mq.constant.ws;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* WS服务
|
||||||
|
* 房间检测延迟队列
|
||||||
|
*/
|
||||||
|
public class RoomCheckDelayWsMqConstant {
|
||||||
|
public static final String EXCHANGE_NAME = "roomCheckDelayExchange";
|
||||||
|
public static final String QUEUE_NAME = "roomCheckDelayQueue";
|
||||||
|
public static final String ROUTING_KEY = "roomCheckDelayRouting";
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
package com.ruoyi.cai.mq.constant.ws;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 每分钟扣分延迟队列
|
||||||
|
*/
|
||||||
|
public class RoomSettleDelayWsMqConstant {
|
||||||
|
public static final String EXCHANGE_NAME = "roomSettleDelayExchange";
|
||||||
|
public static final String QUEUE_NAME = "roomSettleDelayQueue";
|
||||||
|
public static final String ROUTING_KEY = "roomSettleDelayRouting";
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
package com.ruoyi.cai.rank;
|
package com.ruoyi.cai.rank;
|
||||||
|
|
||||||
import com.ruoyi.cai.constant.RedisHttpConstant;
|
import com.ruoyi.cai.constant.RedisHttpConstant;
|
||||||
import com.ruoyi.cai.mq.AmqpProducer;
|
import com.ruoyi.cai.mq.AmqpHttpProducer;
|
||||||
import com.ruoyi.cai.mq.handle.dto.RankNotifyDTO;
|
import com.ruoyi.cai.mq.handle.dto.RankNotifyDTO;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.redisson.api.RScoredSortedSet;
|
import org.redisson.api.RScoredSortedSet;
|
||||||
@@ -247,7 +247,7 @@ public class RankManager {
|
|||||||
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private AmqpProducer amqpProducer;
|
private AmqpHttpProducer amqpHttpProducer;
|
||||||
|
|
||||||
public void sendLoveRankMq(Long userId,Long value,Long traceId){
|
public void sendLoveRankMq(Long userId,Long value,Long traceId){
|
||||||
try {
|
try {
|
||||||
@@ -256,7 +256,7 @@ public class RankManager {
|
|||||||
rank.setPrice(value);
|
rank.setPrice(value);
|
||||||
rank.setTraceId(traceId);
|
rank.setTraceId(traceId);
|
||||||
rank.setRankType(1);
|
rank.setRankType(1);
|
||||||
amqpProducer.sendCommonMq(rank);
|
amqpHttpProducer.sendCommonMq(rank);
|
||||||
}catch (Exception e){
|
}catch (Exception e){
|
||||||
log.error("发送魅力榜 rank mq失败",e);
|
log.error("发送魅力榜 rank mq失败",e);
|
||||||
}
|
}
|
||||||
@@ -269,7 +269,7 @@ public class RankManager {
|
|||||||
rank.setPrice(value);
|
rank.setPrice(value);
|
||||||
rank.setTraceId(traceId);
|
rank.setTraceId(traceId);
|
||||||
rank.setRankType(2);
|
rank.setRankType(2);
|
||||||
amqpProducer.sendCommonMq(rank);
|
amqpHttpProducer.sendCommonMq(rank);
|
||||||
}catch (Exception e){
|
}catch (Exception e){
|
||||||
log.error("发送邀请榜 rank mq失败",e);
|
log.error("发送邀请榜 rank mq失败",e);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ import com.ruoyi.cai.enums.SystemConfigEnum;
|
|||||||
import com.ruoyi.cai.enums.systempush.*;
|
import com.ruoyi.cai.enums.systempush.*;
|
||||||
import com.ruoyi.cai.manager.SystemConfigManager;
|
import com.ruoyi.cai.manager.SystemConfigManager;
|
||||||
import com.ruoyi.cai.mapper.SysPushMapper;
|
import com.ruoyi.cai.mapper.SysPushMapper;
|
||||||
import com.ruoyi.cai.mq.AmqpProducer;
|
import com.ruoyi.cai.mq.AmqpHttpProducer;
|
||||||
import com.ruoyi.cai.mq.handle.dto.SysPushNotifyDTO;
|
import com.ruoyi.cai.mq.handle.dto.SysPushNotifyDTO;
|
||||||
import com.ruoyi.cai.mq.handleDelay.dto.SysPushDelayDto;
|
import com.ruoyi.cai.mq.handleDelay.dto.SysPushDelayDto;
|
||||||
import com.ruoyi.cai.notice.data.NoticeMsgR;
|
import com.ruoyi.cai.notice.data.NoticeMsgR;
|
||||||
@@ -67,7 +67,7 @@ public class SysPushServiceImpl extends ServiceImpl<SysPushMapper, SysPush> impl
|
|||||||
@Autowired
|
@Autowired
|
||||||
private SystemConfigManager systemConfigManager;
|
private SystemConfigManager systemConfigManager;
|
||||||
@Autowired
|
@Autowired
|
||||||
private AmqpProducer amqpProducer;
|
private AmqpHttpProducer amqpHttpProducer;
|
||||||
@Autowired
|
@Autowired
|
||||||
private SysPushLogService sysPushLogService;
|
private SysPushLogService sysPushLogService;
|
||||||
|
|
||||||
@@ -180,7 +180,7 @@ public class SysPushServiceImpl extends ServiceImpl<SysPushMapper, SysPush> impl
|
|||||||
long between = CaiDateUtil.diff(sysPush.getSendTime(), LocalDateTime.now());
|
long between = CaiDateUtil.diff(sysPush.getSendTime(), LocalDateTime.now());
|
||||||
SysPushDelayDto dto = new SysPushDelayDto();
|
SysPushDelayDto dto = new SysPushDelayDto();
|
||||||
dto.setSysPushId(sysPush.getId());
|
dto.setSysPushId(sysPush.getId());
|
||||||
amqpProducer.sendCommonDelayMq(dto,(int)between+2);
|
amqpHttpProducer.sendCommonDelayMq(dto,(int)between+2);
|
||||||
}catch (Exception e){
|
}catch (Exception e){
|
||||||
log.error("系统推送任务发送失败!",e);
|
log.error("系统推送任务发送失败!",e);
|
||||||
}
|
}
|
||||||
@@ -210,7 +210,7 @@ public class SysPushServiceImpl extends ServiceImpl<SysPushMapper, SysPush> impl
|
|||||||
}
|
}
|
||||||
SysPushNotifyDTO sysPush = new SysPushNotifyDTO();
|
SysPushNotifyDTO sysPush = new SysPushNotifyDTO();
|
||||||
sysPush.setSysPushId(id);
|
sysPush.setSysPushId(id);
|
||||||
amqpProducer.sendCommonMq(sysPush);
|
amqpHttpProducer.sendCommonMq(sysPush);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -413,7 +413,7 @@ public class SysPushServiceImpl extends ServiceImpl<SysPushMapper, SysPush> impl
|
|||||||
if(between > 0 && between < 60*60*12){
|
if(between > 0 && between < 60*60*12){
|
||||||
SysPushDelayDto dto = new SysPushDelayDto();
|
SysPushDelayDto dto = new SysPushDelayDto();
|
||||||
dto.setSysPushId(sysPush.getId());
|
dto.setSysPushId(sysPush.getId());
|
||||||
amqpProducer.sendCommonDelayMq(dto,(int)between+5);
|
amqpHttpProducer.sendCommonDelayMq(dto,(int)between+5);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
package com.ruoyi.cai.service.impl;
|
package com.ruoyi.cai.service.impl;
|
||||||
|
|
||||||
import cn.dev33.satoken.stp.StpUtil;
|
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
@@ -13,18 +12,14 @@ import com.ruoyi.cai.enums.forbid.ForbidTimeEnum;
|
|||||||
import com.ruoyi.cai.enums.forbid.ForbidTypeEnum;
|
import com.ruoyi.cai.enums.forbid.ForbidTypeEnum;
|
||||||
import com.ruoyi.cai.manager.ForbidCache;
|
import com.ruoyi.cai.manager.ForbidCache;
|
||||||
import com.ruoyi.cai.mapper.UserForbidMapper;
|
import com.ruoyi.cai.mapper.UserForbidMapper;
|
||||||
import com.ruoyi.cai.mq.AmqpProducer;
|
import com.ruoyi.cai.mq.AmqpHttpProducer;
|
||||||
import com.ruoyi.cai.mq.CommonDelayTypeEnum;
|
|
||||||
import com.ruoyi.cai.mq.handleDelay.CommonDelayDto;
|
|
||||||
import com.ruoyi.cai.mq.handleDelay.dto.ForbidDelayDto;
|
import com.ruoyi.cai.mq.handleDelay.dto.ForbidDelayDto;
|
||||||
import com.ruoyi.cai.mq.handleDelay.dto.SysPushDelayDto;
|
|
||||||
import com.ruoyi.cai.service.AnchorService;
|
import com.ruoyi.cai.service.AnchorService;
|
||||||
import com.ruoyi.cai.service.UserForbidService;
|
import com.ruoyi.cai.service.UserForbidService;
|
||||||
import com.ruoyi.cai.service.UserInfoService;
|
import com.ruoyi.cai.service.UserInfoService;
|
||||||
import com.ruoyi.cai.service.UserService;
|
import com.ruoyi.cai.service.UserService;
|
||||||
import com.ruoyi.cai.util.CaiDateUtil;
|
import com.ruoyi.cai.util.CaiDateUtil;
|
||||||
import com.ruoyi.common.core.domain.PageQuery;
|
import com.ruoyi.common.core.domain.PageQuery;
|
||||||
import com.ruoyi.common.enums.UserType;
|
|
||||||
import com.ruoyi.common.helper.LoginHelper;
|
import com.ruoyi.common.helper.LoginHelper;
|
||||||
import com.ruoyi.common.utils.StringUtils;
|
import com.ruoyi.common.utils.StringUtils;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
@@ -51,7 +46,7 @@ public class UserForbidServiceImpl extends ServiceImpl<UserForbidMapper, UserFor
|
|||||||
@Autowired
|
@Autowired
|
||||||
private ForbidCache forbidCache;
|
private ForbidCache forbidCache;
|
||||||
@Autowired
|
@Autowired
|
||||||
private AmqpProducer amqpProducer;
|
private AmqpHttpProducer amqpHttpProducer;
|
||||||
@Autowired
|
@Autowired
|
||||||
private UserInfoService userInfoService;
|
private UserInfoService userInfoService;
|
||||||
|
|
||||||
@@ -100,7 +95,7 @@ public class UserForbidServiceImpl extends ServiceImpl<UserForbidMapper, UserFor
|
|||||||
long between = CaiDateUtil.diff(one.getEndTime(), LocalDateTime.now());
|
long between = CaiDateUtil.diff(one.getEndTime(), LocalDateTime.now());
|
||||||
ForbidDelayDto dto = new ForbidDelayDto();
|
ForbidDelayDto dto = new ForbidDelayDto();
|
||||||
dto.setForbidId(one.getId());
|
dto.setForbidId(one.getId());
|
||||||
amqpProducer.sendCommonDelayMq(dto,(int)between+2);
|
amqpHttpProducer.sendCommonDelayMq(dto,(int)between+2);
|
||||||
}catch (Exception e){
|
}catch (Exception e){
|
||||||
log.error("用户封禁延时任务发送失败!",e);
|
log.error("用户封禁延时任务发送失败!",e);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,15 +3,15 @@ package com.ruoyi.cai.ws.handler.message;
|
|||||||
import com.alibaba.fastjson2.JSONObject;
|
import com.alibaba.fastjson2.JSONObject;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import com.ruoyi.cai.domain.UserCall;
|
import com.ruoyi.cai.domain.UserCall;
|
||||||
import com.ruoyi.cai.mq.AmqpProducer;
|
import com.ruoyi.cai.mq.AmqpWsProducer;
|
||||||
import com.ruoyi.cai.service.UserCallService;
|
import com.ruoyi.cai.service.UserCallService;
|
||||||
import com.ruoyi.cai.ws.bean.FdCtxData;
|
import com.ruoyi.cai.ws.bean.FdCtxData;
|
||||||
import com.ruoyi.cai.ws.bean.Room;
|
import com.ruoyi.cai.ws.bean.Room;
|
||||||
import com.ruoyi.cai.ws.cache.RoomDataCache;
|
import com.ruoyi.cai.ws.cache.RoomDataCache;
|
||||||
import com.ruoyi.cai.ws.constant.RoomStatusEnums;
|
import com.ruoyi.cai.ws.constant.RoomStatusEnums;
|
||||||
import com.ruoyi.cai.ws.dto.WsRMsgGen;
|
import com.ruoyi.cai.ws.dto.WsRMsgGen;
|
||||||
import com.ruoyi.cai.ws.handler.IMessageHandler;
|
|
||||||
import com.ruoyi.cai.ws.handler.AbstractMessageHandle;
|
import com.ruoyi.cai.ws.handler.AbstractMessageHandle;
|
||||||
|
import com.ruoyi.cai.ws.handler.IMessageHandler;
|
||||||
import com.ruoyi.cai.ws.service.RoomService;
|
import com.ruoyi.cai.ws.service.RoomService;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
@@ -31,7 +31,7 @@ public class AgreeMessageHandle extends AbstractMessageHandle implements IMessag
|
|||||||
@Autowired
|
@Autowired
|
||||||
private UserCallService userCallService;
|
private UserCallService userCallService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private AmqpProducer amqpProducer;
|
private AmqpWsProducer amqpWsProducer;
|
||||||
@Autowired
|
@Autowired
|
||||||
private RoomService roomService;
|
private RoomService roomService;
|
||||||
|
|
||||||
@@ -51,7 +51,7 @@ public class AgreeMessageHandle extends AbstractMessageHandle implements IMessag
|
|||||||
.eq(UserCall::getId,room.getRoomId())
|
.eq(UserCall::getId,room.getRoomId())
|
||||||
.set(UserCall::getStatus, RoomStatusEnums.STATUS_AGREE.getCode())
|
.set(UserCall::getStatus, RoomStatusEnums.STATUS_AGREE.getCode())
|
||||||
.set(UserCall::getBeginTime, LocalDateTime.now()));
|
.set(UserCall::getBeginTime, LocalDateTime.now()));
|
||||||
amqpProducer.sendRoomSettleDelay(room.getRoomId()+"",60); // 1分钟延时消息,开始扣钱
|
amqpWsProducer.sendRoomSettleDelay(room.getRoomId()+"",60); // 1分钟延时消息,开始扣钱
|
||||||
String message = "提示:禁止任何涉黄、任何微信QQ引导到其它平台行为";
|
String message = "提示:禁止任何涉黄、任何微信QQ引导到其它平台行为";
|
||||||
sendToAll(room.getRoomId(), WsRMsgGen.startVideo(room.getRoomId(),0L),WsRMsgGen.sysNotice(message));
|
sendToAll(room.getRoomId(), WsRMsgGen.startVideo(room.getRoomId(),0L),WsRMsgGen.sysNotice(message));
|
||||||
try {
|
try {
|
||||||
|
|||||||
@@ -3,7 +3,8 @@ package com.ruoyi.cai.ws.processon;
|
|||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
import com.ruoyi.cai.chat.ChatManager;
|
import com.ruoyi.cai.chat.ChatManager;
|
||||||
import com.ruoyi.cai.executor.ExecutorConstant;
|
import com.ruoyi.cai.executor.ExecutorConstant;
|
||||||
import com.ruoyi.cai.mq.AmqpProducer;
|
import com.ruoyi.cai.mq.AmqpHttpProducer;
|
||||||
|
import com.ruoyi.cai.mq.AmqpWsProducer;
|
||||||
import com.ruoyi.cai.notice.YunxinWsServiceV2;
|
import com.ruoyi.cai.notice.YunxinWsServiceV2;
|
||||||
import com.ruoyi.cai.service.AnchorService;
|
import com.ruoyi.cai.service.AnchorService;
|
||||||
import com.ruoyi.cai.service.UserService;
|
import com.ruoyi.cai.service.UserService;
|
||||||
@@ -109,7 +110,7 @@ public class OpenLogic {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private AmqpProducer amqpProducer;
|
private AmqpWsProducer amqpWsProducer;
|
||||||
|
|
||||||
public void callerConnection(WebSocketSession session,Room room,Long userId){
|
public void callerConnection(WebSocketSession session,Room room,Long userId){
|
||||||
boolean isFirst = false;
|
boolean isFirst = false;
|
||||||
@@ -123,7 +124,7 @@ public class OpenLogic {
|
|||||||
userDataCache.hMSet(room.getRoomId(), UserDataConstant.TYPE_CALLER,map);
|
userDataCache.hMSet(room.getRoomId(), UserDataConstant.TYPE_CALLER,map);
|
||||||
roomDataCache.setStatus(room.getRoomId(),RoomStatusEnums.STATUS_CALLER_CONNECT);
|
roomDataCache.setStatus(room.getRoomId(),RoomStatusEnums.STATUS_CALLER_CONNECT);
|
||||||
onlineDataCache.add(room.getRoomId());
|
onlineDataCache.add(room.getRoomId());
|
||||||
amqpProducer.sendRoomCheckDelay(room.getRoomId()+"",60);
|
amqpWsProducer.sendRoomCheckDelay(room.getRoomId()+"",60);
|
||||||
userService.updateVideoStatus(userId,1);
|
userService.updateVideoStatus(userId,1);
|
||||||
isFirst = true;
|
isFirst = true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
package com.ruoyi.cai.mq.consumer;
|
package com.ruoyi.consumer;
|
||||||
|
|
||||||
import com.ruoyi.cai.mq.AmqpProducer;
|
import com.ruoyi.cai.mq.AmqpWsProducer;
|
||||||
import com.ruoyi.cai.mq.config.RoomCheckDelayMqConfig;
|
import com.ruoyi.cai.mq.constant.ws.RoomCheckDelayWsMqConstant;
|
||||||
import com.ruoyi.cai.ws.job.JobResp;
|
import com.ruoyi.cai.ws.job.JobResp;
|
||||||
import com.ruoyi.cai.ws.job.RoomCheckJobService;
|
import com.ruoyi.job.RoomCheckJobService;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.amqp.rabbit.annotation.RabbitListener;
|
import org.springframework.amqp.rabbit.annotation.RabbitListener;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
@@ -13,11 +13,11 @@ import org.springframework.stereotype.Component;
|
|||||||
@Component
|
@Component
|
||||||
public class RoomCheckDelayMqConsumer {
|
public class RoomCheckDelayMqConsumer {
|
||||||
@Autowired
|
@Autowired
|
||||||
private AmqpProducer amqpProducer;
|
private AmqpWsProducer amqpWsProducer;
|
||||||
@Autowired
|
@Autowired
|
||||||
private RoomCheckJobService roomCheckJobService;
|
private RoomCheckJobService roomCheckJobService;
|
||||||
|
|
||||||
@RabbitListener(queues = RoomCheckDelayMqConfig.QUEUE_NAME
|
@RabbitListener(queues = RoomCheckDelayWsMqConstant.QUEUE_NAME
|
||||||
,containerFactory = "customContainerFactory")
|
,containerFactory = "customContainerFactory")
|
||||||
public void sendRoomCheck(String roomIdStr) {
|
public void sendRoomCheck(String roomIdStr) {
|
||||||
log.info("开始执行房间检测: roomId={}",roomIdStr);
|
log.info("开始执行房间检测: roomId={}",roomIdStr);
|
||||||
@@ -27,7 +27,7 @@ public class RoomCheckDelayMqConsumer {
|
|||||||
if(resp.isNextCreateJob()){
|
if(resp.isNextCreateJob()){
|
||||||
// 1分钟后继续执行
|
// 1分钟后继续执行
|
||||||
log.info("1分钟后继续执行房间检测: roomId={}",roomIdStr);
|
log.info("1分钟后继续执行房间检测: roomId={}",roomIdStr);
|
||||||
amqpProducer.sendRoomCheckDelay(roomIdStr,60);
|
amqpWsProducer.sendRoomCheckDelay(roomIdStr,60);
|
||||||
}
|
}
|
||||||
}catch (Exception e){
|
}catch (Exception e){
|
||||||
log.error("每分钟定时检测房间失败! roomId={}",roomIdStr);
|
log.error("每分钟定时检测房间失败! roomId={}",roomIdStr);
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
package com.ruoyi.cai.mq.consumer;
|
package com.ruoyi.consumer;
|
||||||
|
|
||||||
import com.ruoyi.cai.mq.AmqpProducer;
|
import com.ruoyi.cai.mq.AmqpWsProducer;
|
||||||
import com.ruoyi.cai.mq.config.RoomSettleDelayMqConfig;
|
import com.ruoyi.cai.mq.constant.ws.RoomSettleDelayWsMqConstant;
|
||||||
import com.ruoyi.cai.ws.service.SettleService;
|
import com.ruoyi.cai.ws.service.SettleService;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.amqp.rabbit.annotation.RabbitListener;
|
import org.springframework.amqp.rabbit.annotation.RabbitListener;
|
||||||
@@ -14,9 +14,9 @@ public class RoomSettleDelayMqConsumer {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private SettleService settleService;
|
private SettleService settleService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private AmqpProducer amqpProducer;
|
private AmqpWsProducer amqpWsProducer;
|
||||||
|
|
||||||
@RabbitListener(queues = RoomSettleDelayMqConfig.QUEUE_NAME
|
@RabbitListener(queues = RoomSettleDelayWsMqConstant.QUEUE_NAME
|
||||||
,containerFactory = "customContainerFactory")
|
,containerFactory = "customContainerFactory")
|
||||||
public void checkTimeOutMq(String message) {
|
public void checkTimeOutMq(String message) {
|
||||||
log.info("开始执行预扣费: " + message);
|
log.info("开始执行预扣费: " + message);
|
||||||
@@ -24,7 +24,7 @@ public class RoomSettleDelayMqConsumer {
|
|||||||
boolean next = settleService.withholdingFee(Long.valueOf(message));
|
boolean next = settleService.withholdingFee(Long.valueOf(message));
|
||||||
if(next){
|
if(next){
|
||||||
// 1分钟后继续执行
|
// 1分钟后继续执行
|
||||||
amqpProducer.sendRoomSettleDelay(message,60);
|
amqpWsProducer.sendRoomSettleDelay(message,60);
|
||||||
}
|
}
|
||||||
}catch (Exception e){
|
}catch (Exception e){
|
||||||
log.error("每分钟定时扣费失败!",e);
|
log.error("每分钟定时扣费失败!",e);
|
||||||
@@ -1,8 +1,6 @@
|
|||||||
package com.ruoyi.cai.ws.job;
|
package com.ruoyi.job;
|
||||||
|
|
||||||
import com.ruoyi.cai.ws.cache.OnlineDataCache;
|
import com.ruoyi.cai.ws.cache.OnlineDataCache;
|
||||||
import com.ruoyi.cai.ws.service.RoomService;
|
|
||||||
import com.ruoyi.cai.ws.service.SettleService;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.scheduling.annotation.Scheduled;
|
import org.springframework.scheduling.annotation.Scheduled;
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.ruoyi.cai.ws.job;
|
package com.ruoyi.job;
|
||||||
|
|
||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
@@ -13,6 +13,7 @@ import com.ruoyi.cai.ws.constant.HangUpEnums;
|
|||||||
import com.ruoyi.cai.ws.constant.RoomStatusEnums;
|
import com.ruoyi.cai.ws.constant.RoomStatusEnums;
|
||||||
import com.ruoyi.cai.ws.dto.WsR;
|
import com.ruoyi.cai.ws.dto.WsR;
|
||||||
import com.ruoyi.cai.ws.dto.WsRMsgGen;
|
import com.ruoyi.cai.ws.dto.WsRMsgGen;
|
||||||
|
import com.ruoyi.cai.ws.job.JobResp;
|
||||||
import com.ruoyi.cai.ws.service.RoomService;
|
import com.ruoyi.cai.ws.service.RoomService;
|
||||||
import com.ruoyi.cai.ws.service.SettleResp;
|
import com.ruoyi.cai.ws.service.SettleResp;
|
||||||
import com.ruoyi.cai.ws.service.SettleService;
|
import com.ruoyi.cai.ws.service.SettleService;
|
||||||
@@ -32,9 +32,9 @@ spring:
|
|||||||
driverClassName: com.mysql.cj.jdbc.Driver
|
driverClassName: com.mysql.cj.jdbc.Driver
|
||||||
# jdbc 所有参数配置参考 https://lionli.blog.csdn.net/article/details/122018562
|
# jdbc 所有参数配置参考 https://lionli.blog.csdn.net/article/details/122018562
|
||||||
# rewriteBatchedStatements=true 批处理优化 大幅提升批量插入更新删除性能(对数据库有性能损耗 使用批量操作应考虑性能问题)
|
# rewriteBatchedStatements=true 批处理优化 大幅提升批量插入更新删除性能(对数据库有性能损耗 使用批量操作应考虑性能问题)
|
||||||
url: jdbc:mysql://124.222.254.188:4306/cai-new?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true
|
url: jdbc:mysql://localhost:3306/cai-new?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true
|
||||||
username: root
|
username: root
|
||||||
password: 383200134
|
password: 123
|
||||||
# 从库数据源
|
# 从库数据源
|
||||||
slave:
|
slave:
|
||||||
lazy: true
|
lazy: true
|
||||||
@@ -67,9 +67,9 @@ spring:
|
|||||||
# 端口,默认为6379
|
# 端口,默认为6379
|
||||||
port: 9379
|
port: 9379
|
||||||
# 数据库索引
|
# 数据库索引
|
||||||
database: 15
|
database: 12
|
||||||
# 密码(如没有密码请注释掉)
|
# 密码(如没有密码请注释掉)
|
||||||
password: 383200134
|
password: 123
|
||||||
# 连接超时时间
|
# 连接超时时间
|
||||||
timeout: 15s
|
timeout: 15s
|
||||||
# 是否开启ssl
|
# 是否开启ssl
|
||||||
@@ -104,9 +104,9 @@ spring:
|
|||||||
rabbitmq:
|
rabbitmq:
|
||||||
addresses: 127.0.0.1 #ip地址
|
addresses: 127.0.0.1 #ip地址
|
||||||
username: admin # 账号
|
username: admin # 账号
|
||||||
password: 383200134 # 密码
|
password: 123 # 密码
|
||||||
port: 5672
|
port: 5672
|
||||||
virtual-host: /cai
|
virtual-host: /cai-dev
|
||||||
agora:
|
agora:
|
||||||
app-id: 58ff3a37d91d48c7a8ef7a56fb8f62d0
|
app-id: 58ff3a37d91d48c7a8ef7a56fb8f62d0
|
||||||
key: 0cca1a53262c4c74b0a8c653a9b7540e
|
key: 0cca1a53262c4c74b0a8c653a9b7540e
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ spring:
|
|||||||
# 端口,默认为6379
|
# 端口,默认为6379
|
||||||
port: 9379
|
port: 9379
|
||||||
# 数据库索引
|
# 数据库索引
|
||||||
database: 15
|
database: 12
|
||||||
# 密码(如没有密码请注释掉)
|
# 密码(如没有密码请注释掉)
|
||||||
password: 383200134
|
password: 383200134
|
||||||
# 连接超时时间
|
# 连接超时时间
|
||||||
|
|||||||
Reference in New Issue
Block a user