智慧保安后台管理-外网项目备份
zhongrj
2022-08-18 38d775fa2ccd433c727a5b7cec8bed02493df1ec
mq 相关配置去除,启动配置修改
6 files modified
446 ■■■■ changed files
src/main/java/org/springblade/modules/rabbitmq/config/MQConfig.java 128 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/rabbitmq/config/MQreceiver.java 68 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/rabbitmq/config/MQsender.java 74 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/rabbitmq/controller/SendMessageController.java 162 ●●●● patch | view | raw | blame | history
src/main/resources/application-test.yml 12 ●●●● patch | view | raw | blame | history
src/main/resources/application.yml 2 ●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/rabbitmq/config/MQConfig.java
@@ -1,64 +1,64 @@
package org.springblade.modules.rabbitmq.config;
import org.springframework.amqp.core.*;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
 * rabbitmq 配置文件
 * @author zhongrj
 * @since 2022-04-08
 */
@Configuration
public class MQConfig {
    public static final String QUEUE = "queue";
    public static final String TOPIC_QUEUE1= "topic.queue1";
    public static final String TOPIC_QUEUE2 = "topic.queue2";
    public static final String TOPIC_EXCHANGE = "topicExchange";
    public static final String FANOUT_EXCHANGE = "fanoutxchage";
    public static final String TASK_QUEUE = "task_queue";
    @Bean
    public Queue taskQueue(){
        return new Queue(TASK_QUEUE,true);
    }
    //Direct模式
    @Bean
    public Queue queue(){
        return new Queue(QUEUE,true);
    }
    //topic交换机模式
    @Bean
    public Queue topicQueue1(){
        return new Queue(TOPIC_QUEUE1,true);
    }
    @Bean
    public Queue topicQueue2(){
        return new Queue(TOPIC_QUEUE2,true);
    }
    @Bean
    public TopicExchange topicExchange(){
        return new TopicExchange(TOPIC_EXCHANGE);
    }
    @Bean
    public Binding topicBinding1(){
        return BindingBuilder.bind(topicQueue1()).to(topicExchange()).with("topic.key1");
    }
    @Bean
    public Binding topicBinding2(){
        return BindingBuilder.bind(topicQueue2()).to(topicExchange()).with("topic.#");
    }
    //Fanout模式,广播模式
    @Bean
    public FanoutExchange fanoutExchange(){
        return new FanoutExchange(FANOUT_EXCHANGE);
    }
}
//package org.springblade.modules.rabbitmq.config;
//
//import org.springframework.amqp.core.*;
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//
///**
// * rabbitmq 配置文件
// * @author zhongrj
// * @since 2022-04-08
// */
//@Configuration
//public class MQConfig {
//    public static final String QUEUE = "queue";
//    public static final String TOPIC_QUEUE1= "topic.queue1";
//    public static final String TOPIC_QUEUE2 = "topic.queue2";
//    public static final String TOPIC_EXCHANGE = "topicExchange";
//    public static final String FANOUT_EXCHANGE = "fanoutxchage";
//    public static final String TASK_QUEUE = "task_queue";
//
//    @Bean
//    public Queue taskQueue(){
//        return new Queue(TASK_QUEUE,true);
//    }
//
//    //Direct模式
//    @Bean
//    public Queue queue(){
//        return new Queue(QUEUE,true);
//    }
//
//    //topic交换机模式
//    @Bean
//    public Queue topicQueue1(){
//        return new Queue(TOPIC_QUEUE1,true);
//    }
//
//    @Bean
//    public Queue topicQueue2(){
//        return new Queue(TOPIC_QUEUE2,true);
//    }
//
//    @Bean
//    public TopicExchange topicExchange(){
//        return new TopicExchange(TOPIC_EXCHANGE);
//    }
//
//    @Bean
//    public Binding topicBinding1(){
//        return BindingBuilder.bind(topicQueue1()).to(topicExchange()).with("topic.key1");
//    }
//
//    @Bean
//    public Binding topicBinding2(){
//        return BindingBuilder.bind(topicQueue2()).to(topicExchange()).with("topic.#");
//    }
//
//    //Fanout模式,广播模式
//
//    @Bean
//    public FanoutExchange fanoutExchange(){
//        return new FanoutExchange(FANOUT_EXCHANGE);
//    }
//}
src/main/java/org/springblade/modules/rabbitmq/config/MQreceiver.java
@@ -1,34 +1,34 @@
package org.springblade.modules.rabbitmq.config;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springblade.modules.rabbitmq.redis.RedisService;
import org.springblade.modules.rabbitmq.vo.TaskMessage;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.data.redis.core.script.RedisScript;
import org.springframework.stereotype.Service;
/**
 * 队列消息接收
 * @author zhongrj
 * @since 2022-04-12
 */
@Service
public class MQreceiver {
    private static Logger log = LoggerFactory.getLogger(MQreceiver.class);
    @RabbitListener(queues = MQConfig.TASK_QUEUE)
    public void receive(String message){
        log.info("receive message:"+message);
        TaskMessage taskMessage = RedisService.stringToBean(message, TaskMessage.class);
        System.out.println("用户" + taskMessage.getManId() + "抢到了任务:"+ taskMessage.getTaskId());
    }
}
//package org.springblade.modules.rabbitmq.config;
//
//import org.slf4j.Logger;
//import org.slf4j.LoggerFactory;
//import org.springblade.modules.rabbitmq.redis.RedisService;
//import org.springblade.modules.rabbitmq.vo.TaskMessage;
//import org.springframework.amqp.rabbit.annotation.RabbitListener;
//import org.springframework.data.redis.core.script.RedisScript;
//import org.springframework.stereotype.Service;
//
///**
// * 队列消息接收
// * @author zhongrj
// * @since 2022-04-12
// */
//@Service
//public class MQreceiver {
//
//
//    private static Logger log = LoggerFactory.getLogger(MQreceiver.class);
//
//
//    @RabbitListener(queues = MQConfig.TASK_QUEUE)
//    public void receive(String message){
//
//        log.info("receive message:"+message);
//
//
//        TaskMessage taskMessage = RedisService.stringToBean(message, TaskMessage.class);
//
//        System.out.println("用户" + taskMessage.getManId() + "抢到了任务:"+ taskMessage.getTaskId());
//
//    }
//}
src/main/java/org/springblade/modules/rabbitmq/config/MQsender.java
@@ -1,37 +1,37 @@
package org.springblade.modules.rabbitmq.config;
import org.springblade.modules.rabbitmq.redis.RedisService;
import org.springblade.modules.rabbitmq.vo.TaskMessage;
import org.springframework.amqp.core.AmqpTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
 * 消息发送
 * @author zhongrj
 * @since 2022-04-12
 *
 */
@Service
public class MQsender {
    @Autowired
    AmqpTemplate amqpTemplate;
    public void send(Object message){
        String msg = RedisService.beanToString(message);
        amqpTemplate.convertAndSend(MQConfig.QUEUE,msg);
    }
    public void sendTaskMessage(TaskMessage message){
        String msg = RedisService.beanToString(message);
        amqpTemplate.convertAndSend(MQConfig.TASK_QUEUE,msg);
    }
    public void sendTopic(Object message){
        String msg = RedisService.beanToString(message);
        amqpTemplate.convertAndSend(MQConfig.TOPIC_EXCHANGE,"topic.key1",msg+"1");
    }
}
//package org.springblade.modules.rabbitmq.config;
//
//import org.springblade.modules.rabbitmq.redis.RedisService;
//import org.springblade.modules.rabbitmq.vo.TaskMessage;
//import org.springframework.amqp.core.AmqpTemplate;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Service;
//
///**
// * 消息发送
// * @author zhongrj
// * @since 2022-04-12
// *
// */
//@Service
//public class MQsender {
//
//    @Autowired
//    AmqpTemplate amqpTemplate;
//
//
//    public void send(Object message){
//        String msg = RedisService.beanToString(message);
//        amqpTemplate.convertAndSend(MQConfig.QUEUE,msg);
//    }
//
//    public void sendTaskMessage(TaskMessage message){
//        String msg = RedisService.beanToString(message);
//        amqpTemplate.convertAndSend(MQConfig.TASK_QUEUE,msg);
//    }
//
//    public void sendTopic(Object message){
//        String msg = RedisService.beanToString(message);
//        amqpTemplate.convertAndSend(MQConfig.TOPIC_EXCHANGE,"topic.key1",msg+"1");
//    }
//
//}
src/main/java/org/springblade/modules/rabbitmq/controller/SendMessageController.java
@@ -1,81 +1,81 @@
package org.springblade.modules.rabbitmq.controller;
import lombok.AllArgsConstructor;
import org.springblade.modules.rabbitmq.config.MQsender;
import org.springblade.modules.rabbitmq.redis.TaskKey;
import org.springblade.modules.rabbitmq.redis.RedisService;
import org.springblade.modules.rabbitmq.vo.Man;
import org.springblade.modules.rabbitmq.vo.Task;
import org.springblade.modules.rabbitmq.vo.TaskMessage;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Random;
/**
 * 消息发送
 * @author zhongrj
 */
@RestController
@AllArgsConstructor
@RequestMapping("/rabbitmq")
public class SendMessageController {
    private static int count = 0;
    private final MQsender mQsender;
    private final RedisService redisService;
    @GetMapping("/sendDirectMessage")
    public String sendDirectMessage() {
        String messageData = "test message, hello!";
        mQsender.send(messageData);
        return "ok";
    }
    /**
     * 模拟抢单
     * @return
     */
    @GetMapping("/createTask")
    public String createTask(Long id ,Integer num) {
        //创建任务
        Task task = new Task();
        task.setId(id);
        task.setNum(num);
        task.setTaskName("测试");
        //将任务数量和对应的id 存入redis
        redisService.set(TaskKey.getTaskStock,""+task.getId(),task.getNum());
        //返回
        return "ok";
    }
    /**
     * 模拟抢单(不同人员同时抢)
     * @return
     */
    @GetMapping("/testSend")
    public String testSend(Long id) {
        //模拟创建人员
        Man man = new Man();
        man.setId(System.currentTimeMillis() + new Random().nextInt(1000000));
        man.setUsername("task"+ count);
        // 预减库存
        long stack = redisService.decr(TaskKey.getTaskStock,""+id);
        if (stack<0){
            return "已结束";
        }
        //入队列
        TaskMessage taskMessage = new TaskMessage();
        taskMessage.setTaskId(id);
        taskMessage.setManId(man.getId());
        //发送消息
        mQsender.sendTaskMessage(taskMessage);
        //返回
        return "ok";
    }
}
//package org.springblade.modules.rabbitmq.controller;
//
//import lombok.AllArgsConstructor;
//import org.springblade.modules.rabbitmq.config.MQsender;
//import org.springblade.modules.rabbitmq.redis.TaskKey;
//import org.springblade.modules.rabbitmq.redis.RedisService;
//import org.springblade.modules.rabbitmq.vo.Man;
//import org.springblade.modules.rabbitmq.vo.Task;
//import org.springblade.modules.rabbitmq.vo.TaskMessage;
//import org.springframework.web.bind.annotation.GetMapping;
//import org.springframework.web.bind.annotation.RequestMapping;
//import org.springframework.web.bind.annotation.RestController;
//
//import java.util.Random;
//
///**
// * 消息发送
// * @author zhongrj
// */
//@RestController
//@AllArgsConstructor
//@RequestMapping("/rabbitmq")
//public class SendMessageController {
//
//    private static int count = 0;
//
//    private final MQsender mQsender;
//
//    private final RedisService redisService;
//
//
//    @GetMapping("/sendDirectMessage")
//    public String sendDirectMessage() {
//        String messageData = "test message, hello!";
//        mQsender.send(messageData);
//        return "ok";
//    }
//
//    /**
//     * 模拟抢单
//     * @return
//     */
//    @GetMapping("/createTask")
//    public String createTask(Long id ,Integer num) {
//        //创建任务
//        Task task = new Task();
//        task.setId(id);
//        task.setNum(num);
//        task.setTaskName("测试");
//        //将任务数量和对应的id 存入redis
//        redisService.set(TaskKey.getTaskStock,""+task.getId(),task.getNum());
//        //返回
//        return "ok";
//    }
//
//
//    /**
//     * 模拟抢单(不同人员同时抢)
//     * @return
//     */
//    @GetMapping("/testSend")
//    public String testSend(Long id) {
//        //模拟创建人员
//        Man man = new Man();
//        man.setId(System.currentTimeMillis() + new Random().nextInt(1000000));
//        man.setUsername("task"+ count);
//        // 预减库存
//        long stack = redisService.decr(TaskKey.getTaskStock,""+id);
//        if (stack<0){
//            return "已结束";
//        }
//        //入队列
//        TaskMessage taskMessage = new TaskMessage();
//        taskMessage.setTaskId(id);
//        taskMessage.setManId(man.getId());
//        //发送消息
//        mQsender.sendTaskMessage(taskMessage);
//        //返回
//        return "ok";
//    }
//}
src/main/resources/application-test.yml
@@ -2,10 +2,10 @@
spring:
  redis:
    ##redis 单机环境配置
    host: 192.168.0.191
    host: 127.0.0.1
    port: 6379
    password:
    database: 0
    database: 1
    ssl: false
    ##redis 集群环境配置
    #cluster:
@@ -13,9 +13,9 @@
    #  commandTimeout: 5000
  datasource:
    # MySql
    url: jdbc:mysql://192.168.0.191:3306/zhbaw?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
    url: jdbc:mysql://192.168.0.126:3306/zhbaw-test?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
    username: root
    password: root
    password: 123456
    # rabbitmq 设置
#  rabbitmq:
#    host: 192.168.0.191
@@ -54,7 +54,7 @@
#ftp 设置
ftp:
  sqlConnect: jdbc:mysql://61.131.136.25:2083/zhbaw?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
  sqlConnect: jdbc:mysql://192.168.0.126:3306/zhbaw-test?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
  ftpHost: 117.40.91.118
  ftpPort: 21
  ftpUserName: zhbain
@@ -63,7 +63,7 @@
  localPath: E:\\anbao\\
  ip: http://61.131.136.25:2081
  jsonUrl: E:\\anbao\\
  username: zhbaw
  username: root
  password: 123456
  qfqkBaseApiUrl: http://192.168.0.198:83
#  qfqkBaseApiUrl : http://61.131.136.25:2082/api
src/main/resources/application.yml
@@ -116,7 +116,7 @@
#报表配置
report:
  enabled: true
  enabled: false
  database:
    provider:
      prefix: blade-