diff --git a/pom.xml b/pom.xml
index e813b18..14fd1f8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -24,10 +24,10 @@
spring-boot-starter-thymeleaf
-
- org.springframework.kafka
- spring-kafka
-
+
+
+
+
@@ -50,7 +50,7 @@
org.springframework.boot
spring-boot-starter-security
-
+ 3.3.6
org.springframework.boot
diff --git a/src/main/java/com/example/demo/controller/AdminController.java b/src/main/java/com/example/demo/controller/AdminController.java
index d51bdd9..9a8e068 100644
--- a/src/main/java/com/example/demo/controller/AdminController.java
+++ b/src/main/java/com/example/demo/controller/AdminController.java
@@ -24,6 +24,17 @@ public class AdminController {
private final AdminService adminService;
+ @PostMapping("/add")
+ public Result add(@RequestBody Admin admin){
+ try {
+ return Result.success(adminService.add(admin));
+ } catch (Exception e) {
+ e.printStackTrace();
+ log.error(e.getMessage());
+ return Result.error(e.getMessage());
+ }
+ }
+
@PostMapping("/search")
public Result search(@RequestBody Page page){
if(ObjectUtils.isEmpty(page.getPageNum())){
@@ -34,6 +45,16 @@ public class AdminController {
}
}
+ @PostMapping("/area")
+
+ public Result area(){
+ return Result.success(adminService.area());
+ }
+ @PostMapping("/store")
+ public Result store(){
+ return Result.success(adminService.store());
+ }
+
@PostMapping("/login")
public Result login(@RequestBody Admin admin){
@@ -73,5 +94,25 @@ public class AdminController {
}
}
+ @PostMapping("/update")
+ public Result update(@RequestBody Admin admin){
+ try {
+ return Result.success(adminService.edit(admin));
+ } catch (Exception e) {
+ e.printStackTrace();
+ log.error(e.getMessage());
+ return Result.error(e.getMessage());
+ }
+ }
+ @PostMapping("/selectNo")
+ public Result selectNo(@RequestBody Admin admin){
+ try {
+ return Result.success(adminService.selectNo(admin));
+ } catch (Exception e) {
+ e.printStackTrace();
+ log.error(e.getMessage());
+ return Result.error(e.getMessage());
+ }
+ }
}
diff --git a/src/main/java/com/example/demo/controller/ConsumeController.java b/src/main/java/com/example/demo/controller/ConsumeController.java
index 8172131..cb24134 100644
--- a/src/main/java/com/example/demo/controller/ConsumeController.java
+++ b/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 {
@@ -38,14 +38,14 @@ public class ConsumeController {
ObjectMapper objectMapper = new ObjectMapper();
String detailJson = objectMapper.writeValueAsString(detailY);
- // 发送消息到 Kafka 队列
- kafkaProducer.sendMessage("consume-topic", detailJson);
-
- return Result.success("Request added to Kafka queue");
+// // 发送消息到 Kafka 队列
+// kafkaProducer.sendMessage("consume-topic", detailJson);
+ consumeService.insert(detailY);
} catch (Exception e) {
log.error(Arrays.toString(e.getStackTrace()));
return Result.error(e.getMessage());
}
+ return Result.success();
}
@PostMapping("/select")
diff --git a/src/main/java/com/example/demo/controller/KafkaConfig.java b/src/main/java/com/example/demo/controller/KafkaConfig.java
index 4dd1d94..cff361d 100644
--- a/src/main/java/com/example/demo/controller/KafkaConfig.java
+++ b/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 {
+//}
diff --git a/src/main/java/com/example/demo/controller/KafkaConsumer.java b/src/main/java/com/example/demo/controller/KafkaConsumer.java
index 373a98a..5f40597 100644
--- a/src/main/java/com/example/demo/controller/KafkaConsumer.java
+++ b/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
- List rechargeList = objectMapper.readValue(message, new TypeReference>() {});
-
- // 遍历并处理每个充值记录
- 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
+// List rechargeList = objectMapper.readValue(message, new TypeReference>() {});
+//
+// // 遍历并处理每个充值记录
+// 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);
+// }
+// }
+//}
diff --git a/src/main/java/com/example/demo/controller/KafkaProducer.java b/src/main/java/com/example/demo/controller/KafkaProducer.java
index 3893bb1..23015cc 100644
--- a/src/main/java/com/example/demo/controller/KafkaProducer.java
+++ b/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 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 kafkaTemplate;
+//
+// public void sendMessage(String topic, String message) {
+// kafkaTemplate.send(topic, message);
+// }
+//}
diff --git a/src/main/java/com/example/demo/controller/PermissionController.java b/src/main/java/com/example/demo/controller/PermissionController.java
new file mode 100644
index 0000000..e5717be
--- /dev/null
+++ b/src/main/java/com/example/demo/controller/PermissionController.java
@@ -0,0 +1,24 @@
+package com.example.demo.controller;
+
+
+import com.example.demo.domain.vo.Result;
+import com.example.demo.sevice.PermissionService;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.CrossOrigin;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("/permission")
+@RequiredArgsConstructor
+@Slf4j
+@CrossOrigin
+public class PermissionController {
+ private final PermissionService permissionService;
+
+ @RequestMapping("/getPermission")
+ public Result getPermission() {
+ return Result.success(permissionService.getPermission());
+ }
+}
diff --git a/src/main/java/com/example/demo/controller/RechargeController.java b/src/main/java/com/example/demo/controller/RechargeController.java
index 1c808b1..52e751e 100644
--- a/src/main/java/com/example/demo/controller/RechargeController.java
+++ b/src/main/java/com/example/demo/controller/RechargeController.java
@@ -3,8 +3,9 @@ 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.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@@ -24,12 +25,13 @@ import java.util.stream.Collectors;
@RequiredArgsConstructor
@Slf4j
@CrossOrigin
+@JsonIgnoreProperties(ignoreUnknown = true)
public class RechargeController {
private final RechargeService rechargeService;
private final ObjectMapper objectMapper; // 添加这一行
- @Autowired
- private KafkaProducer kafkaProducer;
+// @Autowired
+// private KafkaProducer kafkaProducer;
@PostMapping("/addmore")
public Result add(@RequestBody Map requestBody) {
try {
@@ -41,7 +43,7 @@ public class RechargeController {
// 提取并转换所有的 Recharge 对象
List recharges = requestBody.entrySet().stream()
- .filter(entry -> !entry.getKey().equals("token"))
+ .filter(entry -> !entry.getKey().equals("token") && entry.getValue() instanceof Map)
.map(entry -> {
try {
return objectMapper.convertValue(entry.getValue(), Recharge.class);
@@ -60,8 +62,8 @@ public class RechargeController {
// 将 Recharge 对象转换为 JSON 字符串
String rechargeJson = objectMapper.writeValueAsString(recharges);
- // 发送消息到 Kafka 队列
- kafkaProducer.sendMessage("rechargeadd-topic", rechargeJson);
+ // 发送消息到 Kafka 队列(如果需要)
+ // kafkaProducer.sendMessage("rechargeadd-topic", rechargeJson);
return rechargeService.addRecharges(recharges);
} catch (Exception e) {
@@ -77,15 +79,16 @@ public class RechargeController {
// 将 Recharge 对象转换为 JSON 字符串
ObjectMapper objectMapper = new ObjectMapper();
String rechargeJson = objectMapper.writeValueAsString(recharge);
-
- // 发送消息到 Kafka 队列
- kafkaProducer.sendMessage("recharge-topic", rechargeJson);
-
- return Result.success("Request added to Kafka queue");
+ rechargeService.add(recharge);
+//// // 发送消息到 Kafka 队列
+//// kafkaProducer.sendMessage("recharge-topic", rechargeJson);
+//
+// return Result.success("Request added to Kafka queue");
} catch (Exception e) {
log.error(Arrays.toString(e.getStackTrace()));
return Result.error(e.getMessage());
}
+ return Result.success();
}
@PostMapping("/edit")
diff --git a/src/main/java/com/example/demo/domain/entity/Admin.java b/src/main/java/com/example/demo/domain/entity/Admin.java
index 17b96b8..d5f3e60 100644
--- a/src/main/java/com/example/demo/domain/entity/Admin.java
+++ b/src/main/java/com/example/demo/domain/entity/Admin.java
@@ -1,3 +1,74 @@
+//package com.example.demo.domain.entity;
+//
+//import com.fasterxml.jackson.annotation.JsonFormat;
+//import com.fasterxml.jackson.annotation.JsonIgnore;
+//import lombok.Data;
+//import lombok.NoArgsConstructor;
+//import org.springframework.format.annotation.DateTimeFormat;
+//import org.springframework.security.core.GrantedAuthority;
+//import org.springframework.security.core.authority.SimpleGrantedAuthority;
+//import org.springframework.security.core.userdetails.UserDetails;
+//
+//import java.io.Serializable;
+//import java.util.*;
+//
+//@Data
+//@NoArgsConstructor
+//public class Admin implements UserDetails, Serializable {
+// private Integer adminId;
+// private String name;
+// private String username;
+// private String password;
+// private String permission;
+// private String area;
+// private String adminFlag;
+// private String store;
+// private String token;
+// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+// @DateTimeFormat(pattern = "yyyy-MM-dd")
+// private Date createTime;
+// private String jwcode;
+// @Override
+// @JsonIgnore
+// public Collection extends GrantedAuthority> getAuthorities() {
+// Set authorities = new HashSet<>();
+// if (permission != null) {
+// int permValue = permission.intValue();
+// if (permValue == 1) {
+// authorities.add(new SimpleGrantedAuthority("ROLE_SUPER_ADMIN"));
+// } else if (permValue == 2) {
+// authorities.add(new SimpleGrantedAuthority("ROLE_ADMIN"));
+// } else if (permValue == 3) {
+// authorities.add(new SimpleGrantedAuthority("ROLE_AUDITORS"));
+// }
+// }
+// return authorities;
+// }
+// @Override
+// @JsonIgnore
+// public boolean isAccountNonExpired() {
+// return UserDetails.super.isAccountNonExpired();
+// }
+//
+// @Override
+// @JsonIgnore
+// public boolean isAccountNonLocked() {
+// return UserDetails.super.isAccountNonLocked();
+// }
+//
+// @Override
+// @JsonIgnore
+// public boolean isCredentialsNonExpired() {
+// return UserDetails.super.isCredentialsNonExpired();
+// }
+//
+// @Override
+// @JsonIgnore
+// public boolean isEnabled() {
+// return UserDetails.super.isEnabled();
+// }
+//}
+//
package com.example.demo.domain.entity;
import com.fasterxml.jackson.annotation.JsonFormat;
@@ -19,7 +90,7 @@ public class Admin implements UserDetails, Serializable {
private String name;
private String username;
private String password;
- private Integer permission;
+ private String permission;
private String area;
private String adminFlag;
private String store;
@@ -28,41 +99,53 @@ public class Admin implements UserDetails, Serializable {
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date createTime;
private String jwcode;
+
@Override
@JsonIgnore
public Collection extends GrantedAuthority> getAuthorities() {
- Setauthorities = new HashSet<>();
- if(permission == 1){
- authorities.add(new SimpleGrantedAuthority("ROLE_SUPER_ADMIN"));
- }else if(permission == 2){
- authorities.add(new SimpleGrantedAuthority("ROLE_ADMIN"));
- }else if(permission == 3){
- authorities.add(new SimpleGrantedAuthority("ROLE_AUDITORS"));
- }
- return authorities;
+ Set authorities = new HashSet<>();
+ Optional.ofNullable(permission)
+ .map(Integer::valueOf)
+ .ifPresent(permValue -> {
+ switch (permValue) {
+ case 1:
+ authorities.add(new SimpleGrantedAuthority("ROLE_SUPER_ADMIN"));
+ break;
+ case 2:
+ authorities.add(new SimpleGrantedAuthority("ROLE_ADMIN"));
+ break;
+ case 3:
+ authorities.add(new SimpleGrantedAuthority("ROLE_AUDITORS"));
+ break;
+ default:
+ // 可以添加默认角色或处理未知权限
+ break;
+ }
+ });
+ return authorities;
}
+
@Override
@JsonIgnore
public boolean isAccountNonExpired() {
- return UserDetails.super.isAccountNonExpired();
+ return true; // 默认账户未过期
}
@Override
@JsonIgnore
public boolean isAccountNonLocked() {
- return UserDetails.super.isAccountNonLocked();
+ return true; // 默认账户未锁定
}
@Override
@JsonIgnore
public boolean isCredentialsNonExpired() {
- return UserDetails.super.isCredentialsNonExpired();
+ return true; // 默认凭证未过期
}
@Override
@JsonIgnore
public boolean isEnabled() {
- return UserDetails.super.isEnabled();
+ return true; // 默认账户启用
}
-}
-
+}
\ No newline at end of file
diff --git a/src/main/java/com/example/demo/domain/entity/Permission.java b/src/main/java/com/example/demo/domain/entity/Permission.java
new file mode 100644
index 0000000..ce46180
--- /dev/null
+++ b/src/main/java/com/example/demo/domain/entity/Permission.java
@@ -0,0 +1,11 @@
+package com.example.demo.domain.entity;
+
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@NoArgsConstructor
+public class Permission {
+ private Integer permissionId;
+ private String permissionName;
+}
diff --git a/src/main/java/com/example/demo/domain/entity/Recharge.java b/src/main/java/com/example/demo/domain/entity/Recharge.java
index 91f79ef..87bee95 100644
--- a/src/main/java/com/example/demo/domain/entity/Recharge.java
+++ b/src/main/java/com/example/demo/domain/entity/Recharge.java
@@ -1,6 +1,7 @@
package com.example.demo.domain.entity;
import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;
@@ -10,8 +11,9 @@ import java.util.Date;
@Data
@NoArgsConstructor
-
+@JsonIgnoreProperties(ignoreUnknown = true)
public class Recharge {
+ private String Rate;
private Integer rechargeId;
private String jwcode;
private Integer activityId;
@@ -35,13 +37,10 @@ public class Recharge {
private String orderCode;
private String token;
private Integer rateId;
- private Integer line;
+ private Integer line;
private String showInput;
private String imageUrl;
- private String rate;
private String isInputInvalid;
private String inputErrorMessage;
-
-
}
diff --git a/src/main/java/com/example/demo/mapper/AdminMapper.java b/src/main/java/com/example/demo/mapper/AdminMapper.java
index a443c2f..e07fd69 100644
--- a/src/main/java/com/example/demo/mapper/AdminMapper.java
+++ b/src/main/java/com/example/demo/mapper/AdminMapper.java
@@ -11,9 +11,9 @@ import java.util.List;
public interface AdminMapper {
@Insert({
"insert into admin",
- "(name,jwcode,password,permission,area,admin_flag,create_time)",
+ "(name,jwcode,password,permission,area,admin_flag,create_time,remark)",
"values",
- "(#{name},#{jwcode},,#{password},#{permission},#{area},#{admin_flag},now())"
+ "(#{name},#{jwcode},,#{password},#{permission},#{area},#{admin_flag},now(),#{remark})"
})
@Options(useGeneratedKeys = true,keyColumn = "admin_id",keyProperty = "adminId")
int insert(Admin admin);
@@ -46,13 +46,40 @@ public interface AdminMapper {
""
})
List select(Admin admin);
+
+ @Select({
+ "select DISTINCT store from admin"
+ })
+ List selectStore();
+ @Select({
+ "select DISTINCT area from admin"
+ })
+ List selectArea();
+
+ @Select({
+// "