Browse Source

后端整合模块

dev
huangqizhen 4 months ago
parent
commit
e4935be7da
  1. 8
      pom.xml
  2. 8
      src/main/java/com/example/demo/controller/ConsumeController.java
  3. 18
      src/main/java/com/example/demo/controller/KafkaConfig.java
  4. 152
      src/main/java/com/example/demo/controller/KafkaConsumer.java
  5. 32
      src/main/java/com/example/demo/controller/KafkaProducer.java
  6. 8
      src/main/java/com/example/demo/controller/RechargeController.java
  7. 1
      src/main/java/com/example/demo/serviceImpl/AdminServiceImpl.java
  8. 14
      src/main/resources/application.yml

8
pom.xml

@ -15,7 +15,7 @@
<description>demo</description>
<properties>
<java.version>21</java.version>
<java.version>1.8</java.version>
</properties>
<dependencies>
<!-- Maven -->
@ -96,9 +96,9 @@
<optional>true</optional>
</dependency>
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<scope>runtime</scope>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.46</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>

8
src/main/java/com/example/demo/controller/ConsumeController.java

@ -3,7 +3,7 @@ package com.example.demo.controller;
import com.example.demo.domain.entity.Detail;
import com.example.demo.domain.entity.DetailY;
import com.example.demo.domain.vo.*;
import com.example.demo.controller.KafkaProducer;
//import com.example.demo.controller.KafkaProducer;
import com.example.demo.serviceImpl.ConsumeServiceImpl;
import com.example.demo.serviceImpl.UserServiceImpl;
import com.fasterxml.jackson.databind.ObjectMapper;
@ -28,8 +28,8 @@ public class ConsumeController {
@Autowired
private UserServiceImpl userService;
@Autowired
private KafkaProducer kafkaProducer;
// @Autowired
// private KafkaProducer kafkaProducer;
@PostMapping("/add")
public Result add(@RequestBody DetailY detailY) throws Exception {
@ -39,7 +39,7 @@ public class ConsumeController {
String detailJson = objectMapper.writeValueAsString(detailY);
// 发送消息到 Kafka 队列
kafkaProducer.sendMessage("consume-topic", detailJson);
// kafkaProducer.sendMessage("consume-topic", detailJson);
return Result.success("Request added to Kafka queue");
} catch (Exception e) {

18
src/main/java/com/example/demo/controller/KafkaConfig.java

@ -1,9 +1,9 @@
package com.example.demo.controller;
import org.springframework.context.annotation.Configuration;
import org.springframework.kafka.annotation.EnableKafka;
@Configuration
@EnableKafka
public class KafkaConfig {
}
//package com.example.demo.controller;
//
//import org.springframework.context.annotation.Configuration;
//import org.springframework.kafka.annotation.EnableKafka;
//
//@Configuration
//@EnableKafka
//public class KafkaConfig {
//}

152
src/main/java/com/example/demo/controller/KafkaConsumer.java

@ -1,76 +1,76 @@
package com.example.demo.controller;
import com.example.demo.domain.entity.Detail;
import com.example.demo.domain.entity.DetailY;
import com.example.demo.domain.entity.Recharge;
import com.example.demo.serviceImpl.ConsumeServiceImpl;
import com.example.demo.sevice.RechargeService;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.kafka.annotation.KafkaListener;
import org.springframework.stereotype.Service;
import java.io.IOException;
import java.util.List;
@Service
@Slf4j
public class KafkaConsumer {
@Autowired
private ConsumeServiceImpl consumeService;
@Autowired
private RechargeService rechargeService;
private final ObjectMapper objectMapper = new ObjectMapper();
@KafkaListener(topics = "rechargeadd_topic")
public void listenRechargeadd(String message) {
try {
// 反序列化为List<Recharge>
List<Recharge> rechargeList = objectMapper.readValue(message, new TypeReference<List<Recharge>>() {});
// 遍历并处理每个充值记录
for (Recharge recharge : rechargeList) {
processRecharge(recharge);
}
} catch (IOException e) {
// 处理反序列化异常
e.printStackTrace();
}
}
private void processRecharge(Recharge recharge) {
// 具体的业务处理逻辑
System.out.println("Processing recharge: " + recharge);
}
@KafkaListener(topics = "consume-topic", groupId = "my-group")
public void listenConsume(String message) {
try {
DetailY detailY = objectMapper.readValue(message, DetailY.class);
// 处理消费请求
Integer result = consumeService.insert(detailY);
log.info("Processed consume request with result: {}", result);
} catch (Exception e) {
log.error("Error processing consume message: {}", message, e);
}
}
@KafkaListener(topics = "recharge-topic", groupId = "my-group")
public void listenRecharge(String message) {
try {
Recharge recharge = objectMapper.readValue(message, Recharge.class);
// 处理充值请求
rechargeService.add(recharge);
log.info("Processed recharge request with id: {}", recharge.getRechargeId());
} catch (Exception e) {
log.error("Error processing recharge message: {}", message, e);
}
}
}
//package com.example.demo.controller;
//
//import com.example.demo.domain.entity.Detail;
//import com.example.demo.domain.entity.DetailY;
//import com.example.demo.domain.entity.Recharge;
//import com.example.demo.serviceImpl.ConsumeServiceImpl;
//import com.example.demo.sevice.RechargeService;
//import com.fasterxml.jackson.core.type.TypeReference;
//import com.fasterxml.jackson.databind.ObjectMapper;
//import lombok.extern.slf4j.Slf4j;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.kafka.annotation.KafkaListener;
//import org.springframework.stereotype.Service;
//
//import java.io.IOException;
//import java.util.List;
//
//@Service
//@Slf4j
//public class KafkaConsumer {
//
// @Autowired
// private ConsumeServiceImpl consumeService;
//
// @Autowired
// private RechargeService rechargeService;
//
// private final ObjectMapper objectMapper = new ObjectMapper();
//
// @KafkaListener(topics = "rechargeadd_topic")
// public void listenRechargeadd(String message) {
// try {
// // 反序列化为List<Recharge>
// List<Recharge> rechargeList = objectMapper.readValue(message, new TypeReference<List<Recharge>>() {});
//
// // 遍历并处理每个充值记录
// for (Recharge recharge : rechargeList) {
// processRecharge(recharge);
// }
// } catch (IOException e) {
// // 处理反序列化异常
// e.printStackTrace();
// }
// }
//
// private void processRecharge(Recharge recharge) {
// // 具体的业务处理逻辑
// System.out.println("Processing recharge: " + recharge);
// }
//
// @KafkaListener(topics = "consume-topic", groupId = "my-group")
// public void listenConsume(String message) {
// try {
// DetailY detailY = objectMapper.readValue(message, DetailY.class);
//
// // 处理消费请求
// Integer result = consumeService.insert(detailY);
// log.info("Processed consume request with result: {}", result);
// } catch (Exception e) {
// log.error("Error processing consume message: {}", message, e);
// }
// }
//
// @KafkaListener(topics = "recharge-topic", groupId = "my-group")
// public void listenRecharge(String message) {
// try {
// Recharge recharge = objectMapper.readValue(message, Recharge.class);
//
// // 处理充值请求
// rechargeService.add(recharge);
// log.info("Processed recharge request with id: {}", recharge.getRechargeId());
// } catch (Exception e) {
// log.error("Error processing recharge message: {}", message, e);
// }
// }
//}

32
src/main/java/com/example/demo/controller/KafkaProducer.java

@ -1,16 +1,16 @@
package com.example.demo.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.kafka.core.KafkaTemplate;
import org.springframework.stereotype.Service;
@Service
public class KafkaProducer {
@Autowired
private KafkaTemplate<String, String> kafkaTemplate;
public void sendMessage(String topic, String message) {
kafkaTemplate.send(topic, message);
}
}
//package com.example.demo.controller;
//
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.kafka.core.KafkaTemplate;
//import org.springframework.stereotype.Service;
//
//@Service
//public class KafkaProducer {
//
// @Autowired
// private KafkaTemplate<String, String> kafkaTemplate;
//
// public void sendMessage(String topic, String message) {
// kafkaTemplate.send(topic, message);
// }
//}

8
src/main/java/com/example/demo/controller/RechargeController.java

@ -3,7 +3,7 @@ package com.example.demo.controller;
import com.example.demo.domain.entity.Recharge;
import com.example.demo.domain.vo.Page;
import com.example.demo.domain.vo.Result;
import com.example.demo.controller.KafkaProducer;
//import com.example.demo.controller.KafkaProducer;
import com.example.demo.sevice.RechargeService;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.RequiredArgsConstructor;
@ -29,7 +29,7 @@ public class RechargeController {
private final RechargeService rechargeService;
private final ObjectMapper objectMapper; // 添加这一行
@Autowired
private KafkaProducer kafkaProducer;
// private KafkaProducer kafkaProducer;
@PostMapping("/addmore")
public Result add(@RequestBody Map<String, Object> requestBody) {
try {
@ -61,7 +61,7 @@ public class RechargeController {
String rechargeJson = objectMapper.writeValueAsString(recharges);
// 发送消息到 Kafka 队列
kafkaProducer.sendMessage("rechargeadd-topic", rechargeJson);
// kafkaProducer.sendMessage("rechargeadd-topic", rechargeJson);
return rechargeService.addRecharges(recharges);
} catch (Exception e) {
@ -79,7 +79,7 @@ public class RechargeController {
String rechargeJson = objectMapper.writeValueAsString(recharge);
// 发送消息到 Kafka 队列
kafkaProducer.sendMessage("recharge-topic", rechargeJson);
// kafkaProducer.sendMessage("recharge-topic", rechargeJson);
return Result.success("Request added to Kafka queue");
} catch (Exception e) {

1
src/main/java/com/example/demo/serviceImpl/AdminServiceImpl.java

@ -13,7 +13,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.annotation.CacheConfig;
import org.springframework.cache.annotation.CacheEvict;
import org.springframework.cache.annotation.CachePut;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.security.authentication.AuthenticationManager;
import org.springframework.security.authentication.BadCredentialsException;

14
src/main/resources/application.yml

@ -9,16 +9,16 @@ spring:
datasource:
hikari: # HikariCP连接池配置
maximum-pool-size: 10 # 最大连接数
maximum-pool-size: 20 # 最大连接数
minimum-idle: 5 # 最小空闲连接数
idle-timeout: 30000 # 空闲连接超时时间(毫秒)
max-lifetime: 1800000 # 连接最大存活时间(毫秒)
connection-timeout: 30000 # 连接超时时间(毫秒)
pool-name: HwgoldHikariCP # 连接池名称
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://39.101.133.168/hwgold?serverTimezone=GMT%2b8
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://39.101.133.168:3306/hwgold?characterEncoding=utf8&useSSL=false&serverTimezone=UTC
username: hwgold
password: 'AGX4Z3YMxiCG3GR2'
password: AGX4Z3YMxiCG3GR2
application:
name: demo
cache:
@ -29,7 +29,7 @@ spring:
cache-null-values: true
data:
redis:
host: 127.0.0.1
host: 39.99.159.73
port: 6379
timeout: 1000
lettuce:
@ -39,7 +39,7 @@ spring:
max-idle: 5 # 连接池中最大空闲连接
min-idle: 0 # 连接池中最小空闲连接
kafka:
bootstrap-servers: localhost:9092
# bootstrap-servers: 39.99.159.73:9092
producer:
key-serializer: org.apache.kafka.common.serialization.StringSerializer
value-serializer: org.apache.kafka.common.serialization.StringSerializer
@ -57,4 +57,4 @@ mybatis:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
upload:
path: D:/gold1/
path: /home/java/haiwaiyanfa/gold1/
Loading…
Cancel
Save