diff --git a/pom.xml b/pom.xml
index b329f49..cac818c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -72,6 +72,21 @@
2.0.39
+
+ org.springframework.boot
+ spring-boot-starter-data-jpa
+
+
+
+ org.springframework.boot
+ spring-boot-starter-amqp
+
+
+
+ org.springframework.boot
+ spring-boot-starter-data-redis
+
+
org.projectlombok
lombok
diff --git a/src/main/java/com/bwie/Application.java b/src/main/java/com/bwie/Application.java
deleted file mode 100644
index 2045533..0000000
--- a/src/main/java/com/bwie/Application.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package com.bwie;
-
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-
-/**
- * @Author: wangxinyuan
- * @Date: 2024/4/11 下午9:08
- */
-@SpringBootApplication
-public class Application {
- public static void main(String[] args) {
- SpringApplication.run(Application.class);
- }
-}
diff --git a/src/main/java/com/bwie/ScheduledTaskApplication.java b/src/main/java/com/bwie/ScheduledTaskApplication.java
new file mode 100644
index 0000000..bd52fea
--- /dev/null
+++ b/src/main/java/com/bwie/ScheduledTaskApplication.java
@@ -0,0 +1,77 @@
+package com.bwie;
+
+import org.springframework.amqp.rabbit.core.RabbitTemplate;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.scheduling.annotation.EnableScheduling;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.time.LocalDateTime;
+import java.util.Base64;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * @Author: wangxinyuan
+ * @Date: 2024/4/14 上午9:38
+ */
+@SpringBootApplication
+@EnableScheduling
+public class ScheduledTaskApplication {
+ public static void main(String[] args) {
+ SpringApplication.run(ScheduledTaskApplication.class, args);
+ }
+
+ @Component
+ public class DataGenerator {
+
+ @Autowired
+ private RabbitTemplate rabbitTemplate;
+
+ @Scheduled(fixedRate = 5000) // 每5秒发送一次模拟数据
+ public void generateData() {
+ // 生成模拟数据
+ Map data1 = generateData1();
+ Map data2 = generateData2();
+ Map data3 = generateData3();
+
+ // 发送模拟数据到对应的消息队列
+ rabbitTemplate.convertAndSend("dandong", "data1", data1);
+ rabbitTemplate.convertAndSend("dandong", "data2", data2);
+ rabbitTemplate.convertAndSend("dandong", "data3", data3);
+
+ System.out.println("Simulated data sent to message queues.");
+ }
+
+ private Map generateData1() {
+ Map data = new HashMap<>();
+ data.put("id", "403320120240308110035393");
+ data.put("XM", "dongyc");
+ data.put("Card", "320000");
+ data.put("Age", 18);
+ data.put("Time", LocalDateTime.now().toString());
+ return data;
+ }
+
+ private Map generateData2() {
+ Map data = new HashMap<>();
+ data.put("id", "403320120240308110035393");
+ data.put("XM", "dongyc");
+ data.put("Card", "320000198020236547");
+ // Assuming base64 encoded photos
+ data.put("Photo1", Base64.getEncoder().encodeToString("photo1".getBytes()));
+ data.put("Photo2", Base64.getEncoder().encodeToString("photo2".getBytes()));
+ return data;
+ }
+
+ private Map generateData3() {
+ Map data = new HashMap<>();
+ data.put("id", "403320120240308110035393");
+ data.put("plate", "苏D12345");
+ data.put("Time", LocalDateTime.now().toString());
+ return data;
+ }
+ }
+}
diff --git a/src/main/java/com/bwie/Service/DataService.java b/src/main/java/com/bwie/Service/DataService.java
new file mode 100644
index 0000000..8b29851
--- /dev/null
+++ b/src/main/java/com/bwie/Service/DataService.java
@@ -0,0 +1,34 @@
+package com.bwie.Service;
+
+
+import com.bwie.admin.Data;
+import com.bwie.mapper.MessageMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class DataService {
+
+ @Autowired
+ private MessageMapper messageMapper;
+
+ public void saveOrUpdateMessage(Data message) {
+ // 根据消息的ID查询数据库中是否存在该消息
+ Data existingMessage = (Data) messageMapper.findById(message.getId()).orElse(null);
+
+ if (existingMessage != null) {
+ // 如果数据库中已存在该消息,则更新
+ existingMessage.setXM(message.getXM());
+ existingMessage.setAge(message.getAge());
+ existingMessage.setTime(message.getTime());
+ existingMessage.setPlate(message.getPlate());
+ existingMessage.setCard(message.getCard());
+ existingMessage.setPhoto1(message.getPhoto1());
+ existingMessage.setPhoto2(message.getPhoto2());
+ messageMapper.save(existingMessage);
+ } else {
+ // 如果数据库中不存在该消息,则插入
+ messageMapper.save(message);
+ }
+ }
+}
diff --git a/src/main/java/com/bwie/admin/Data.java b/src/main/java/com/bwie/admin/Data.java
new file mode 100644
index 0000000..cb43bda
--- /dev/null
+++ b/src/main/java/com/bwie/admin/Data.java
@@ -0,0 +1,30 @@
+package com.bwie.admin;
+
+import lombok.AllArgsConstructor;
+import lombok.NoArgsConstructor;
+
+import java.util.Date;
+
+/**
+ * @Author: wangxinyuan
+ * @Date: 2024/4/11 下午7:33
+ */
+
+@lombok.Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class Data {
+
+
+ private String id;
+ private String XM;
+ private String Age;
+ private String Time;
+ private String plate;
+ private String Card;
+ private String Photo1;
+ private String Photo2;
+
+
+
+}
diff --git a/src/main/java/com/bwie/admin/Data2.java b/src/main/java/com/bwie/admin/Data2.java
new file mode 100644
index 0000000..5a6112a
--- /dev/null
+++ b/src/main/java/com/bwie/admin/Data2.java
@@ -0,0 +1,25 @@
+package com.bwie.admin;
+
+import lombok.AllArgsConstructor;
+import lombok.NoArgsConstructor;
+
+import java.util.Date;
+
+/**
+ * @Author: wangxinyuan
+ * @Date: 2024/4/14 上午11:13
+ */
+@lombok.Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class Data2 {
+
+ private String id;
+ private String XM;
+ private String Age;
+ private String Time;
+ private String plate;
+ private String Card;
+ private String Photo1;
+ private String Photo2;
+}
diff --git a/src/main/java/com/bwie/admin/Data3.java b/src/main/java/com/bwie/admin/Data3.java
new file mode 100644
index 0000000..c6fa499
--- /dev/null
+++ b/src/main/java/com/bwie/admin/Data3.java
@@ -0,0 +1,25 @@
+package com.bwie.admin;
+
+import lombok.AllArgsConstructor;
+import lombok.NoArgsConstructor;
+
+import java.util.Date;
+
+/**
+ * @Author: wangxinyuan
+ * @Date: 2024/4/14 上午11:13
+ */
+@lombok.Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class Data3 {
+
+ private String id;
+ private String XM;
+ private String Age;
+ private String Time;
+ private String plate;
+ private String Card;
+ private String Photo1;
+ private String Photo2;
+}
diff --git a/src/main/java/com/bwie/admin/Pur.java b/src/main/java/com/bwie/admin/Pur.java
deleted file mode 100644
index d695820..0000000
--- a/src/main/java/com/bwie/admin/Pur.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package com.bwie.admin;
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-
-import com.fasterxml.jackson.annotation.JsonFormat;
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-import com.fasterxml.jackson.databind.deser.std.DateDeserializers;
-import lombok.AllArgsConstructor;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-
-import java.util.Date;
-
-/**
- * @Author: wangxinyuan
- * @Date: 2024/4/11 下午7:33
- */
-
-@Data
-@AllArgsConstructor
-@NoArgsConstructor
-public class Pur {
-
-
- private String id;
-
- private String xm;
-
- private String age;
-
- private String time;
-
- private String card;
-
- private String photo1;
-
-
-
-}
diff --git a/src/main/java/com/bwie/admin/Pur2.java b/src/main/java/com/bwie/admin/Pur2.java
deleted file mode 100644
index 807515a..0000000
--- a/src/main/java/com/bwie/admin/Pur2.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package com.bwie.admin;
-
-import lombok.AllArgsConstructor;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-
-/**
- * @Author: wangxinyuan
- * @Date: 2024/4/12 下午3:10
- */
-@Data
-@AllArgsConstructor
-@NoArgsConstructor
-public class Pur2 {
-
- private String id;
-
- private String xm;
-
-
-
- private String card;
-
- private String photo1;
-
- private String photo2;
-}
diff --git a/src/main/java/com/bwie/admin/Pur3.java b/src/main/java/com/bwie/admin/Pur3.java
deleted file mode 100644
index 64b286e..0000000
--- a/src/main/java/com/bwie/admin/Pur3.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package com.bwie.admin;
-
-import lombok.AllArgsConstructor;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-
-/**
- * @Author: wangxinyuan
- * @Date: 2024/4/12 下午3:12
- */
-@Data
-@AllArgsConstructor
-@NoArgsConstructor
-public class Pur3 {
-
- private String id;
-
-
- private String time;
-
- private String plate;
-
-
-}
diff --git a/src/main/java/com/bwie/config/RabbitmqConfig.java b/src/main/java/com/bwie/config/RabbitmqConfig.java
index 6b98815..6a42bad 100644
--- a/src/main/java/com/bwie/config/RabbitmqConfig.java
+++ b/src/main/java/com/bwie/config/RabbitmqConfig.java
@@ -4,6 +4,9 @@ import org.springframework.amqp.support.converter.Jackson2JsonMessageConverter;
import org.springframework.amqp.support.converter.MessageConverter;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
+import org.springframework.amqp.core.Queue;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
@Configuration
public class RabbitmqConfig {
@@ -12,4 +15,22 @@ public class RabbitmqConfig {
public MessageConverter jsonMessageConverter() {
return new Jackson2JsonMessageConverter();
}
+
+ @Bean
+ public Queue data1Queue() {
+ return new Queue("data1_queue", true);
+ }
+
+ @Bean
+ public Queue data2Queue() {
+ return new Queue("data2_queue", true);
+ }
+
+ @Bean
+ public Queue data3Queue() {
+ return new Queue("data3_queue", true);
+ }
+
+
+
}
diff --git a/src/main/java/com/bwie/consumer/ConsumeData2.java b/src/main/java/com/bwie/consumer/ConsumeData2.java
deleted file mode 100644
index b55b35f..0000000
--- a/src/main/java/com/bwie/consumer/ConsumeData2.java
+++ /dev/null
@@ -1,62 +0,0 @@
-//package com.bwie.consumer;
-//
-//import lombok.extern.log4j.Log4j2;
-//import org.springframework.amqp.rabbit.annotation.RabbitListener;
-//import org.springframework.beans.factory.annotation.Autowired;
-//import org.springframework.jdbc.core.JdbcTemplate;
-//import org.springframework.stereotype.Component;
-//
-//import java.sql.Timestamp;
-//
-///**
-// * @Author: wangxinyuan
-// * @Date: 2024/4/11 下午7:40
-// */
-////@Component
-//@Log4j2
-//public class ConsumeData2 {
-//
-// //@Autowired
-// private JdbcTemplate jdbcTemplate;
-//
-// //@RabbitListener(queues = "data2")
-// public void consumeData2(String message) {
-// log.info("Received data2: " + message);
-// saveDataToDatabase(message);
-// }
-//
-// private void saveDataToDatabase(String message) {
-// try {
-// String[] parts = message.split(",");
-// if (parts.length >= 9) {
-// String id = parts[0];
-// String XM = parts[1];
-// String Age = parts[2];
-// String timeStr = parts[3];
-// Timestamp Time = Timestamp.valueOf(timeStr);
-// String plate = parts[4];
-// String Card = parts[5];
-// String Photo1 = parts[7];
-// String Photo2 = parts[8];
-//
-//
-// String querySql = "SELECT * FROM pur WHERE id = ?";
-// Integer count = jdbcTemplate.queryForObject(querySql, new Object[]{id}, Integer.class);
-//
-// if (count == null || count == 0) {
-// String insertSql = "INSERT INTO pur (id, XM, Age, Time, plate, Card, Photo1, Photo2) VALUES (?, ?, ?, ?, ?, ?, ?, ?)";
-// jdbcTemplate.update(insertSql, id, XM, Age, Time, plate, Card, Photo1, Photo2);
-// log.info("Data saved to database successfully.");
-// } else {
-// String updateSql = "UPDATE pur SET XM = ?, Age = ?, Time = ?, plate = ?, Card = ?, Photo1 = ?, Photo2 = ? WHERE id = ?";
-// jdbcTemplate.update(updateSql, XM, Age, Time, plate, Card, Photo1, Photo2, id);
-// log.info("Data updated in database successfully.");
-// }
-// } else {
-// log.info("Data saved to database failed.");
-// }
-// } catch (Exception e) {
-// log.error("Error while saving data to database: " + e.getMessage());
-// }
-// }
-//}
diff --git a/src/main/java/com/bwie/consumer/ConsumeData3.java b/src/main/java/com/bwie/consumer/ConsumeData3.java
deleted file mode 100644
index 3c8d90f..0000000
--- a/src/main/java/com/bwie/consumer/ConsumeData3.java
+++ /dev/null
@@ -1,64 +0,0 @@
-//package com.bwie.consumer;
-//
-//import lombok.extern.log4j.Log4j2;
-//import org.springframework.amqp.rabbit.annotation.RabbitListener;
-//import org.springframework.beans.factory.annotation.Autowired;
-//import org.springframework.jdbc.core.JdbcTemplate;
-//import org.springframework.stereotype.Component;
-//
-//import java.sql.Timestamp;
-//
-///**
-// * @Author: wangxinyuan
-// * @Date: 2024/4/11 下午7:40
-// */
-////@Component
-//@Log4j2
-//public class ConsumeData3 {
-//
-//
-// //@Autowired
-// private JdbcTemplate jdbcTemplate;
-//
-// //@RabbitListener(queues = "data3")
-// public void consumeData3(String message) {
-// log.info("Received data3: " + message);
-// saveDataToDatabase(message);
-// }
-//
-// private void saveDataToDatabase(String message) {
-// try {
-// String[] parts = message.split(",");
-// if (parts.length >= 9) {
-// String id = parts[0];
-// String XM = parts[1];
-// String Age = parts[2];
-// String timeStr = parts[3];
-// Timestamp Time = Timestamp.valueOf(timeStr);
-// String plate = parts[4];
-// String Card = parts[5];/**/
-// String Photo1 = parts[7];
-// String Photo2 = parts[8];
-//
-//
-// String querySql = "SELECT * FROM pur WHERE id = ?";
-// Integer count = jdbcTemplate.queryForObject(querySql, new Object[]{id}, Integer.class);
-//
-//
-// if (count == null || count == 0) {
-// String insertSql = "INSERT INTO pur (id, XM, Age, Time, plate, Card, Photo1, Photo2) VALUES (?, ?, ?, ?, ?, ?, ?, ?)";
-// jdbcTemplate.update(insertSql, id, XM, Age, Time, plate, Card, Photo1, Photo2);
-// log.info("Data saved to database successfully.");
-// } else {
-// String updateSql = "UPDATE pur SET XM = ?, Age = ?, Time = ?, plate = ?, Card = ?, Photo1 = ?, Photo2 = ? WHERE id = ?";
-// jdbcTemplate.update(updateSql, XM, Age, Time, plate, Card, Photo1, Photo2, id);
-// log.info("Data updated in database successfully.");
-// }
-// } else {
-// log.info("Data saved to database failed.");
-// }
-// } catch (Exception e) {
-// log.error("Error while saving data to database: " + e.getMessage());
-// }
-// }
-//}
diff --git a/src/main/java/com/bwie/consumer/ConsumerDate1.java b/src/main/java/com/bwie/consumer/ConsumerDate1.java
deleted file mode 100644
index da3d06f..0000000
--- a/src/main/java/com/bwie/consumer/ConsumerDate1.java
+++ /dev/null
@@ -1,70 +0,0 @@
-//package com.bwie.consumer;
-//
-//import com.bwie.admin.Pur;
-//import lombok.extern.log4j.Log4j2;
-//import org.junit.jupiter.api.Test;
-//import org.springframework.amqp.rabbit.annotation.RabbitListener;
-//import org.springframework.beans.factory.annotation.Autowired;
-//import org.springframework.jdbc.core.JdbcTemplate;
-//import org.springframework.stereotype.Component;
-//
-//import java.sql.Timestamp;
-//import java.util.Date;
-//
-///**
-// * @Author: wangxinyuan
-// * @Date: 2024/4/11 下午7:40
-// */
-////@Component
-//@Log4j2
-//public class ConsumerDate1 {
-//
-//
-// //@Autowired
-// private JdbcTemplate jdbcTemplate;
-//
-// //@RabbitListener(queues = "data1")
-// public void consumeData1(String message) {
-// log.info("Received data1: " + message);
-// saveDataToDatabase(message);
-// }
-//
-//
-// private void saveDataToDatabase(String message) {
-// try {
-// String[] parts = message.split(",");
-// if (parts.length >= 9) {
-// String id = parts[0];
-// String XM = parts[1];
-// String Age = parts[2];
-// String timeStr = parts[3];
-// Timestamp Time = Timestamp.valueOf(timeStr);
-// String plate = parts[4];
-// String Card = parts[5];
-// String Photo1 = parts[7];
-// String Photo2 = parts[8];
-//
-// String querySql = "SELECT * FROM pur WHERE id = ?";
-// Integer count = jdbcTemplate.queryForObject(querySql, new Object[]{id}, Integer.class);
-//
-//
-// if (count == null || count == 0) {
-// String insertSql = "INSERT INTO pur (id, XM, Age, Time, plate, Card, Photo1, Photo2) VALUES (?, ?, ?, ?, ?, ?, ?, ?)";
-// jdbcTemplate.update(insertSql, id, XM, Age, Time, plate, Card, Photo1, Photo2);
-// log.info("Data saved to database successfully.");
-// } else {
-// String updateSql = "UPDATE pur SET XM = ?, Age = ?, Time = ?, plate = ?, Card = ?, Photo1 = ?, Photo2 = ? WHERE id = ?";
-// jdbcTemplate.update(updateSql, XM, Age, Time, plate, Card, Photo1, Photo2, id);
-// log.info("Data updated in database successfully.");
-// }
-// } else {
-// log.info("Data saved to database failed.");
-// }
-// } catch (Exception e) {
-// log.error("Error while saving data to database: " + e.getMessage());
-// }
-// }
-//
-//
-//
-//}
diff --git a/src/main/java/com/bwie/consumer/Data1Consumer.java b/src/main/java/com/bwie/consumer/Data1Consumer.java
new file mode 100644
index 0000000..dc00189
--- /dev/null
+++ b/src/main/java/com/bwie/consumer/Data1Consumer.java
@@ -0,0 +1,21 @@
+package com.bwie.consumer;
+
+import com.bwie.Service.DataService;
+import com.bwie.admin.Data;
+import org.springframework.amqp.rabbit.annotation.RabbitListener;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+@Component
+public class Data1Consumer {
+
+ @Autowired
+ private DataService messageService;
+
+ @RabbitListener(queues = "data1_queue")
+ public void consumeData1(Data message) {
+ System.out.println("Received data1 message: " + message);
+ // 保存或更新消息到数据库
+ messageService.saveOrUpdateMessage(message);
+ }
+}
diff --git a/src/main/java/com/bwie/consumer/Data2Consumer.java b/src/main/java/com/bwie/consumer/Data2Consumer.java
new file mode 100644
index 0000000..ae8629b
--- /dev/null
+++ b/src/main/java/com/bwie/consumer/Data2Consumer.java
@@ -0,0 +1,25 @@
+package com.bwie.consumer;
+
+import com.bwie.Service.DataService;
+import com.bwie.admin.Data;
+import org.springframework.amqp.rabbit.annotation.RabbitListener;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+/**
+ * @Author: wangxinyuan
+ * @Date: 2024/4/14 上午10:07
+ */
+@Component
+public class Data2Consumer {
+
+ @Autowired
+ private DataService messageService;
+
+ @RabbitListener(queues = "data2_queue")
+ public void consumeData1(Data message) {
+ System.out.println("Received data2 message: " + message);
+ // 保存或更新消息到数据库
+ messageService.saveOrUpdateMessage(message);
+ }
+}
diff --git a/src/main/java/com/bwie/consumer/Data3Consumer.java b/src/main/java/com/bwie/consumer/Data3Consumer.java
new file mode 100644
index 0000000..785db01
--- /dev/null
+++ b/src/main/java/com/bwie/consumer/Data3Consumer.java
@@ -0,0 +1,26 @@
+package com.bwie.consumer;
+
+import com.bwie.Service.DataService;
+import com.bwie.admin.Data;
+import org.springframework.amqp.rabbit.annotation.RabbitListener;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+/**
+ * @Author: wangxinyuan
+ * @Date: 2024/4/14 上午10:07
+ */
+@Component
+public class Data3Consumer {
+
+ @Autowired
+ private DataService messageService;
+
+ @RabbitListener(queues = "data3_queue")
+ public void consumeData1(Data message) {
+ System.out.println("Received data3 message: " + message);
+ // 保存或更新消息到数据库
+ messageService.saveOrUpdateMessage(message);
+ }
+
+}
diff --git a/src/main/java/com/bwie/consumer/DataConsumer.java b/src/main/java/com/bwie/consumer/DataConsumer.java
deleted file mode 100644
index ae998d2..0000000
--- a/src/main/java/com/bwie/consumer/DataConsumer.java
+++ /dev/null
@@ -1,116 +0,0 @@
-package com.bwie.consumer;
-
-
-import com.alibaba.fastjson2.JSONObject;
-import com.bwie.admin.Pur;
-import com.bwie.admin.Pur2;
-import com.bwie.admin.Pur3;
-import com.bwie.controller.PurController;
-import com.bwie.mapper.PurMapper;
-
-import lombok.extern.log4j.Log4j2;
-import org.springframework.amqp.core.Message;
-import org.springframework.amqp.rabbit.annotation.Queue;
-import org.springframework.amqp.rabbit.annotation.RabbitListener;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-import com.rabbitmq.client.Channel;
-import org.springframework.stereotype.Repository;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-import java.io.IOException;
-import java.util.List;
-import java.util.Optional;
-
-/**
- * @Author: wangxinyuan
- * @Date: 2024/4/11 下午9:24
- */
-@Component
-@Log4j2
-public class DataConsumer {
-
-
- @Autowired
- private PurController purController;
-
-
- @Autowired
- private PurMapper purMapper;
-
-
- @RabbitListener(queuesToDeclare = {@Queue(name = "data1")})
- public void consumeData1(Object data, Channel channel, Message message) throws IOException {
- Pur pur = new Pur();
- if (pur != null) {
- pur = (Pur) data;
- }
- log.info("消费的数据为:{}", JSONObject.toJSONString(pur));
- List list = purMapper.list();
- int count = 0;
- if (pur.getId() != null && !"".equals(pur.getId())) {
- for (String s : list) {
- if (pur.getId().equals(s)) {
- count++;
- }
- }
- if (count > 0) {
- purMapper.updateData1(pur);
- } else {
- purMapper.insertData1(pur);
- }
- }
- channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);
- }
-
- @RabbitListener(queuesToDeclare = {@Queue(name = "data2")})
- public void consumeData2(Object data, Channel channel, Message message) throws IOException {
- Pur2 pur2 = new Pur2();
- if (pur2 != null) {
- pur2 = (Pur2) data;
- }
- log.info("消费的数据为:{}", JSONObject.toJSONString(pur2));
- List list = purMapper.Purlist2();
- int count = 0;
- if (pur2.getId() != null && !"".equals(pur2.getId())) {
- for (String s : list) {
- if (pur2.getId().equals(s)) {
- count++;
- }
- }
- if (count > 0) {
- purMapper.updateData2(pur2);
- } else {
- purMapper.insertData2(pur2);
- }
- }
- channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);
- }
-
- @RabbitListener(queuesToDeclare = {@Queue(name = "data3")})
- public void consumeData3(Object data, Channel channel, Message message) throws IOException {
- Pur3 pur3 = new Pur3();
- if (pur3 != null) {
- pur3 = (Pur3) data;
- }
- log.info("消费的数据为:{}", JSONObject.toJSONString(pur3));
- List list = purMapper.Purlist3();
- int count = 0;
- if (pur3.getId() != null && !"".equals(pur3.getId())) {
- for (String s : list) {
- if (pur3.getId().equals(s)) {
- count++;
- }
- }
- if (count > 0) {
- purMapper.updateData3(pur3);
- } else {
- purMapper.insertData3(pur3);
- }
- }
- channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);
- }
-
-
-}
diff --git a/src/main/java/com/bwie/consumer/DataGeneratorTask.java b/src/main/java/com/bwie/consumer/DataGeneratorTask.java
new file mode 100644
index 0000000..23ffac6
--- /dev/null
+++ b/src/main/java/com/bwie/consumer/DataGeneratorTask.java
@@ -0,0 +1,50 @@
+package com.bwie.consumer;
+
+import com.bwie.admin.Data;
+import com.bwie.util.RandomUtil;
+import org.springframework.amqp.rabbit.core.RabbitTemplate;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.StringRedisTemplate;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.io.File;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.Base64;
+import java.util.UUID;
+
+/**
+ * @Author: wangxinyuan
+ * @Date: 2024/4/14 下午2:16
+ */
+@Component
+public class DataGeneratorTask {
+ @Autowired
+ private StringRedisTemplate stringRedisTemplate;
+
+ @Autowired
+ private RabbitTemplate rabbitTemplate;
+
+
+ @Scheduled(cron = "0/10 * * * * ?") // 每10秒执行一次
+ public void generateData() {
+ // 生成随机数据
+ String id = UUID.randomUUID().toString();
+ String XM = RandomUtil.generateRandomAlphabetic(8);
+ String Age = RandomUtil.generateRandomAlphabetic(2);
+ String Time = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
+ String plate = RandomUtil.generateRandomAlphabetic(7);
+ String Card = RandomUtil.generateRandomAlphabetic(18);
+
+ // 创建实体类对象
+ Data data1 = new Data(id, XM, Age, Time, plate, Card,"","");
+ Data data2 = new Data(id, XM, Age, Time, plate, Card,"","");
+ Data data3 = new Data(id, XM, Age, Time, plate, Card,"","");
+
+ // 发送消息到对应的消息队列
+ rabbitTemplate.convertAndSend("data1Queue", data1);
+ rabbitTemplate.convertAndSend("data2Queue", data2);
+ rabbitTemplate.convertAndSend("data3Queue", data3);
+ }
+}
diff --git a/src/main/java/com/bwie/controller/PurController.java b/src/main/java/com/bwie/controller/PurController.java
index bc76685..c1b9ea7 100644
--- a/src/main/java/com/bwie/controller/PurController.java
+++ b/src/main/java/com/bwie/controller/PurController.java
@@ -1,48 +1,42 @@
-package com.bwie.controller;
-
-
-import com.bwie.admin.Pur;
-
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import org.springframework.amqp.AmqpException;
-import org.springframework.amqp.rabbit.core.RabbitTemplate;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RestController;
-
-import java.util.List;
-
-/**
- * @Author: wangxinyuan
- * @Date: 2024/4/11 下午10:37
- */
-@RestController
-public class PurController {
-
- @Autowired
- private RabbitTemplate rabbitTemplate;
-
- @Autowired
- private ObjectMapper objectMapper;
-
-
-
- @GetMapping("/data1")
- @Transactional
- public void sendData1() throws JsonProcessingException {
- Pur pur = new Pur();
- pur.setId("593720128240812819055333");
- pur.setXm("dsc");
- pur.setCard("128963");
- pur.setAge("56");
- pur.setTime("2022-10-10 10:10:11");
- String message = objectMapper.writeValueAsString(pur);
- rabbitTemplate.convertAndSend("data1", "id", message);
- }
-
-}
+//package com.bwie.controller;
+//
+//
+//import com.bwie.admin.Message;
+//
+//import com.fasterxml.jackson.core.JsonProcessingException;
+//import com.fasterxml.jackson.databind.ObjectMapper;
+//import org.springframework.amqp.rabbit.core.RabbitTemplate;
+//import org.springframework.beans.factory.annotation.Autowired;
+//import org.springframework.transaction.annotation.Transactional;
+//import org.springframework.web.bind.annotation.GetMapping;
+//import org.springframework.web.bind.annotation.RestController;
+//
+///**
+// * @Author: wangxinyuan
+// * @Date: 2024/4/11 下午10:37
+// */
+//@RestController
+//public class PurController {
+//
+// @Autowired
+// private RabbitTemplate rabbitTemplate;
+//
+// @Autowired
+// private ObjectMapper objectMapper;
+//
+//
+//
+// @GetMapping("/data1")
+//// @Transactional
+// public void sendData1() throws JsonProcessingException {
+// Message pur = new Message();
+// pur.setId("593720128240812819055333");
+// pur.setXm("dsc");
+// pur.setCard("128963");
+// pur.setAge("56");
+// pur.setTime("2022-10-10 10:10:11");
+// String message = objectMapper.writeValueAsString(pur);
+// rabbitTemplate.convertAndSend("data1", "id", message);
+// }
+//
+//}
diff --git a/src/main/java/com/bwie/mapper/Data1Mapper.java b/src/main/java/com/bwie/mapper/Data1Mapper.java
new file mode 100644
index 0000000..3358a59
--- /dev/null
+++ b/src/main/java/com/bwie/mapper/Data1Mapper.java
@@ -0,0 +1,19 @@
+package com.bwie.mapper;
+
+import com.bwie.admin.Data;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * @Author: wangxinyuan
+ * @Date: 2024/4/14 上午11:17
+ */
+@Mapper
+public interface Data1Mapper {
+
+ List selectAll();
+
+
+ List selectByTime(String lastTime);
+}
diff --git a/src/main/java/com/bwie/mapper/Data2Mapper.java b/src/main/java/com/bwie/mapper/Data2Mapper.java
new file mode 100644
index 0000000..b6d5843
--- /dev/null
+++ b/src/main/java/com/bwie/mapper/Data2Mapper.java
@@ -0,0 +1,13 @@
+package com.bwie.mapper;
+
+import com.bwie.admin.Data2;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * @Author: wangxinyuan
+ * @Date: 2024/4/14 上午11:33
+ */
+@Mapper
+public interface Data2Mapper {
+ Data2 selectByData1Id(String id);
+}
diff --git a/src/main/java/com/bwie/mapper/Data3Mapper.java b/src/main/java/com/bwie/mapper/Data3Mapper.java
new file mode 100644
index 0000000..526bc9b
--- /dev/null
+++ b/src/main/java/com/bwie/mapper/Data3Mapper.java
@@ -0,0 +1,15 @@
+package com.bwie.mapper;
+
+import com.bwie.admin.Data3;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * @Author: wangxinyuan
+ * @Date: 2024/4/14 上午11:33
+ */
+@Mapper
+public interface Data3Mapper {
+
+
+ Data3 selectByData1Id(String id);
+}
diff --git a/src/main/java/com/bwie/mapper/MessageMapper.java b/src/main/java/com/bwie/mapper/MessageMapper.java
new file mode 100644
index 0000000..be16b8a
--- /dev/null
+++ b/src/main/java/com/bwie/mapper/MessageMapper.java
@@ -0,0 +1,18 @@
+package com.bwie.mapper;
+
+import com.bwie.admin.Data;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.Optional;
+
+/**
+ * @Author: wangxinyuan
+ * @Date: 2024/4/14 上午10:33
+ */
+@Mapper
+public interface MessageMapper {
+ Optional