lrf 8 месяцев назад
Родитель
Сommit
8adc280bbb

+ 5 - 0
pom.xml

@@ -45,6 +45,11 @@
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-validation</artifactId>
     </dependency>
+    <!--rabbitmq-->
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-amqp</artifactId>
+    </dependency>
     <!-- mybatis-plus与数据库    -->
     <dependency>
       <groupId>com.baomidou</groupId>

+ 1 - 1
src/main/java/com/free/frame/AuthenticationInterceptor.java

@@ -1,4 +1,4 @@
-package com.free.frame;
+package com.free.config;
 
 import org.springframework.web.method.HandlerMethod;
 import org.springframework.web.servlet.HandlerInterceptor;

+ 1 - 1
src/main/java/com/free/frame/CustomizationException.java

@@ -1,4 +1,4 @@
-package com.free.frame;
+package com.free.config;
 
 /**
  * 自定义异常

+ 1 - 1
src/main/java/com/free/frame/ExceptionEnum.java

@@ -1,4 +1,4 @@
-package com.free.frame;
+package com.free.config;
 
 /**
  * 自定义异常枚举

+ 1 - 1
src/main/java/com/free/frame/GlobalExceptionController.java

@@ -1,4 +1,4 @@
-package com.free.frame;
+package com.free.config;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;

+ 1 - 3
src/main/java/com/free/InterceptorConfig.java

@@ -1,4 +1,4 @@
-package com.free;
+package com.free.config;
 
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
@@ -6,8 +6,6 @@ import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
 import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
 import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
 
-import com.free.frame.AuthenticationInterceptor;
-
 @Configuration
 public class InterceptorConfig implements WebMvcConfigurer {
   @Override

+ 1 - 1
src/main/java/com/free/MyBatisPlusConfig.java

@@ -1,4 +1,4 @@
-package com.free;
+package com.free.config;
 
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;

+ 1 - 1
src/main/java/com/free/frame/ResponseFormat.java

@@ -1,4 +1,4 @@
-package com.free.frame;
+package com.free.config;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;

+ 1 - 2
src/main/java/com/free/SecurityConfig.java

@@ -1,7 +1,6 @@
-package com.free;
+package com.free.config;
 
 import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
 import org.springframework.security.config.annotation.web.builders.HttpSecurity;
 import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
 import org.springframework.security.config.annotation.web.configurers.AbstractHttpConfigurer;

+ 1 - 1
src/main/java/com/free/SwaggerConfig.java

@@ -1,4 +1,4 @@
-package com.free;
+package com.free.config;
 
 import org.springframework.context.annotation.Configuration;
 

+ 3 - 3
src/main/java/com/free/controller/LoginController.java

@@ -19,14 +19,14 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.node.ArrayNode;
 import com.free.annotation.PassToken;
+import com.free.config.CustomizationException;
+import com.free.config.ExceptionEnum;
+import com.free.config.ResponseFormat;
 import com.free.dto.LoginDTO;
 import com.free.dto.PasswordUpdateDTO;
 import com.free.entity.system.Admin;
 import com.free.entity.system.Customer;
 import com.free.entity.system.Role;
-import com.free.frame.CustomizationException;
-import com.free.frame.ExceptionEnum;
-import com.free.frame.ResponseFormat;
 import com.free.service.system.AdminService;
 import com.free.service.system.CustomerService;
 import com.free.service.system.MenusService;

+ 77 - 49
src/main/java/com/free/controller/TestController.java

@@ -1,69 +1,97 @@
 package com.free.controller;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.free.config.CustomizationException;
+import com.free.config.ExceptionEnum;
+import com.free.config.ResponseFormat;
 import com.free.entity.Test;
-import com.free.frame.CustomizationException;
-import com.free.frame.ExceptionEnum;
-import com.free.frame.ResponseFormat;
+import com.free.mq.MqListeners;
 import com.free.service.TestService;
+
+import org.springframework.amqp.rabbit.core.RabbitTemplate;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
+import java.util.UUID;
 
 @RestController
 @RequestMapping("/test")
 public class TestController {
-    @Autowired
-    private TestService testService;
+  @Autowired
+  private TestService testService;
+
+  @Autowired
+  RabbitTemplate rabbitTemplate; // 使用RabbitTemplate,这提供了接收/发送等等方法
 
-    /**
-     * 列表查询
-     * @return
-     */
-    @GetMapping()
-    public Object list() {
-        List list = testService.list();
-        return ResponseFormat.success(list);
-    }
+  @GetMapping("/mq/send")
+  public Object mqSendTest() {
+    String messageId = String.valueOf(UUID.randomUUID());
+    String messageData = "message: M A N ";
+    String createTime = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
+    Map<String, Object> manMap = new HashMap<>();
+    manMap.put("messageId", messageId);
+    manMap.put("messageData", messageData);
+    manMap.put("createTime", createTime);
+    rabbitTemplate.convertAndSend(MqListeners.exName, MqListeners.queueName + "1", manMap);
+    return ResponseFormat.success();
+  }
 
-    /**
-     * 创建数据
-     * @param test
-     * @return
-     */
-    @PostMapping()
-    public Object save(@RequestBody Test test) {
-        boolean result = testService.save(test);
-        return ResponseFormat.success((result));
-    }
+  /**
+   * 列表查询
+   * 
+   * @return
+   */
+  @GetMapping()
+  public Object list() {
+    List list = testService.list();
+    return ResponseFormat.success(list);
+  }
 
-    /**
-     * 修改数据
-     * @param id
-     * @param test
-     * @return
-     */
-    @PostMapping("/{id}")
-    public Object update(@PathVariable long id, @RequestBody Test test) {
-        QueryWrapper<Test> qw = new QueryWrapper<Test>();
-        qw.eq("id", id);
-        Long num = testService.count(qw);
-        if (num <= 0) throw new CustomizationException(ExceptionEnum.NOT_FOUND);
-        testService.updateById(test);
-        Test newData = testService.getById(id);
-        return ResponseFormat.success(newData);
-    }
+  /**
+   * 创建数据
+   * 
+   * @param test
+   * @return
+   */
+  @PostMapping()
+  public Object save(@RequestBody Test test) {
+    boolean result = testService.save(test);
+    return ResponseFormat.success((result));
+  }
 
-    @DeleteMapping("/{id}")
-    public Object delete(@PathVariable long id) {
-        QueryWrapper<Test> qw = new QueryWrapper<Test>();
-        qw.eq("id", id);
-        Long num = testService.count(qw);
-        if (num <= 0) throw new CustomizationException(ExceptionEnum.NOT_FOUND);
-        testService.removeById(id);
-        return ResponseFormat.success();
-    }
+  /**
+   * 修改数据
+   * 
+   * @param id
+   * @param test
+   * @return
+   */
+  @PostMapping("/{id}")
+  public Object update(@PathVariable long id, @RequestBody Test test) {
+    QueryWrapper<Test> qw = new QueryWrapper<Test>();
+    qw.eq("id", id);
+    Long num = testService.count(qw);
+    if (num <= 0)
+      throw new CustomizationException(ExceptionEnum.NOT_FOUND);
+    testService.updateById(test);
+    Test newData = testService.getById(id);
+    return ResponseFormat.success(newData);
+  }
 
+  @DeleteMapping("/{id}")
+  public Object delete(@PathVariable long id) {
+    QueryWrapper<Test> qw = new QueryWrapper<Test>();
+    qw.eq("id", id);
+    Long num = testService.count(qw);
+    if (num <= 0)
+      throw new CustomizationException(ExceptionEnum.NOT_FOUND);
+    testService.removeById(id);
+    return ResponseFormat.success();
+  }
 
 }

+ 3 - 3
src/main/java/com/free/controller/system/AdminController.java

@@ -20,11 +20,11 @@ import org.springframework.web.bind.annotation.RestController;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.free.config.CustomizationException;
+import com.free.config.ExceptionEnum;
+import com.free.config.ResponseFormat;
 import com.free.dto.system.AdminCreateDTO;
 import com.free.entity.system.Admin;
-import com.free.frame.CustomizationException;
-import com.free.frame.ExceptionEnum;
-import com.free.frame.ResponseFormat;
 import com.free.service.system.AdminService;
 import com.free.utils.BcryptUtil;
 

+ 3 - 3
src/main/java/com/free/controller/system/CustomerController.java

@@ -20,11 +20,11 @@ import org.springframework.web.bind.annotation.RestController;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.free.config.CustomizationException;
+import com.free.config.ExceptionEnum;
+import com.free.config.ResponseFormat;
 import com.free.dto.system.CustomerCreateDTO;
 import com.free.entity.system.Customer;
-import com.free.frame.CustomizationException;
-import com.free.frame.ExceptionEnum;
-import com.free.frame.ResponseFormat;
 import com.free.service.system.CustomerService;
 import com.free.utils.BcryptUtil;
 

+ 3 - 3
src/main/java/com/free/controller/system/DictDataController.java

@@ -19,10 +19,10 @@ import org.springframework.web.bind.annotation.RestController;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.free.config.CustomizationException;
+import com.free.config.ExceptionEnum;
+import com.free.config.ResponseFormat;
 import com.free.entity.system.DictData;
-import com.free.frame.CustomizationException;
-import com.free.frame.ExceptionEnum;
-import com.free.frame.ResponseFormat;
 import com.free.service.system.DictDataService;
 
 import io.swagger.annotations.Api;

+ 3 - 3
src/main/java/com/free/controller/system/DictTypeController.java

@@ -19,10 +19,10 @@ import org.springframework.web.bind.annotation.RestController;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.free.config.CustomizationException;
+import com.free.config.ExceptionEnum;
+import com.free.config.ResponseFormat;
 import com.free.entity.system.DictType;
-import com.free.frame.CustomizationException;
-import com.free.frame.ExceptionEnum;
-import com.free.frame.ResponseFormat;
 import com.free.service.system.DictTypeService;
 
 import io.swagger.annotations.Api;

+ 3 - 3
src/main/java/com/free/controller/system/MenusController.java

@@ -20,11 +20,11 @@ import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.type.CollectionType;
 import com.free.annotation.PassToken;
+import com.free.config.CustomizationException;
+import com.free.config.ExceptionEnum;
+import com.free.config.ResponseFormat;
 import com.free.dto.system.MenusCreateDTO;
 import com.free.entity.system.Menus;
-import com.free.frame.CustomizationException;
-import com.free.frame.ExceptionEnum;
-import com.free.frame.ResponseFormat;
 import com.free.mapper.system.MenusMapper;
 import com.free.service.system.MenusService;
 import com.free.utils.Utils;

+ 3 - 3
src/main/java/com/free/controller/system/RoleController.java

@@ -23,10 +23,10 @@ import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.type.CollectionType;
 import com.free.annotation.PassToken;
+import com.free.config.CustomizationException;
+import com.free.config.ExceptionEnum;
+import com.free.config.ResponseFormat;
 import com.free.entity.system.Role;
-import com.free.frame.CustomizationException;
-import com.free.frame.ExceptionEnum;
-import com.free.frame.ResponseFormat;
 import com.free.service.system.RoleService;
 import com.free.utils.Utils;
 

+ 37 - 0
src/main/java/com/free/mq/MqListeners.java

@@ -0,0 +1,37 @@
+package com.free.mq;
+
+import org.springframework.amqp.core.BindingBuilder;
+import org.springframework.amqp.core.Binding;
+import org.springframework.amqp.core.Queue;
+import org.springframework.amqp.core.TopicExchange;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+@Configuration
+public class MqListeners {
+  /** 交换机名 */
+  public final static String exName = "chatEx";
+  /** 队列名 */
+  public final static String queueName = "chat";
+  /** 路由匹配 */
+  public final static String routerMatch = queueName + ".#";
+
+  /** 声明队列 */
+  @Bean
+  public Queue chatQueue() {
+    return new Queue(queueName, true);
+  }
+
+  /** 声明交换机 */
+  @Bean
+  TopicExchange exchange() {
+    return new TopicExchange(exName);
+  }
+
+  /** 队列绑定交换机 */
+  @Bean
+  Binding bindingExchangeMessage() {
+    return BindingBuilder.bind(chatQueue()).to(exchange()).with(routerMatch);
+  }
+
+}

+ 2 - 2
src/main/java/com/free/utils/JwtUtil.java

@@ -6,9 +6,9 @@ import com.auth0.jwt.interfaces.Claim;
 import com.auth0.jwt.interfaces.DecodedJWT;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.free.config.CustomizationException;
+import com.free.config.ExceptionEnum;
 import com.free.entity.system.LoginRecord;
-import com.free.frame.CustomizationException;
-import com.free.frame.ExceptionEnum;
 import com.free.mapper.system.LoginRecordMapper;
 import com.free.service.system.LoginRecordService;
 import com.auth0.jwt.JWT;

+ 6 - 0
src/main/resources/application.yml

@@ -9,6 +9,12 @@ spring:
     url: jdbc:mysql://192.168.1.153:3306/customer?serverTimezone=GMT%2B8
     username: root
     password: root
+  rabbitmq:
+    host: 192.168.1.153
+    port: 5672
+    username: free
+    password: free1977
+    virtual-host: customer
   devtools:
     restart:
       enabled: true