commit
Change-Id: I09f13f6bf4a4fe56205b8137f1179b81a3394d11
diff --git a/pom.xml b/pom.xml
index e677d09..682bcc1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -46,6 +46,10 @@
<version>3.5.8</version>
</dependency>
<dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-security</artifactId>
+ </dependency>
+ <dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
diff --git a/src/main/java/com/g9/g9backend/config/MybatisPlusConfig.java b/src/main/java/com/g9/g9backend/config/MybatisPlusConfig.java
index 31cc606..fae9926 100644
--- a/src/main/java/com/g9/g9backend/config/MybatisPlusConfig.java
+++ b/src/main/java/com/g9/g9backend/config/MybatisPlusConfig.java
@@ -1,23 +1,68 @@
package com.g9.g9backend.config;
import com.baomidou.mybatisplus.annotation.DbType;
+import com.baomidou.mybatisplus.core.toolkit.AES;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
+import org.springframework.core.env.Environment; // 正确导入 Spring 的 Environment
import org.springframework.transaction.annotation.EnableTransactionManagement;
@Configuration
@EnableTransactionManagement
-@MapperScan( { "com.g9.g9backend.mapper" })
+@MapperScan({"com.g9.g9backend.mapper"})
public class MybatisPlusConfig {
+ private final Environment environment;
+
+ public MybatisPlusConfig(Environment environment) {
+ this.environment = environment;
+ }
+
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
- MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor();
- mybatisPlusInterceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
- return mybatisPlusInterceptor;
+ MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
+ interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
+ return interceptor;
}
-}
+ // 生成 AES 密钥 (只需运行一次,生成后妥善保存)
+ public static void main(String[] args) {
+ String randomKey = AES.generateRandomKey();
+ System.out.println("生成的 AES 密钥: " + randomKey);
+ String encryptedPassword = AES.encrypt("", randomKey); // 对实际的数据库密码进行加密
+ System.out.println("加密后的密码: " + encryptedPassword);
+ }
+
+ // 注册自定义密码解码器
+ @Bean
+ public PasswordDecoder passwordDecoder() {
+ return new CustomPasswordDecoder(environment.getProperty("mybatis-plus.aes-key"));
+ }
+
+ // 自定义密码解码器接口
+ public interface PasswordDecoder {
+ String decode(String encodedPassword);
+ }
+
+ // 自定义密码解码器实现
+ public static class CustomPasswordDecoder implements PasswordDecoder {
+
+ private final String aesKey;
+
+ public CustomPasswordDecoder(String aesKey) {
+ this.aesKey = aesKey;
+ }
+
+ @Override
+ public String decode(String encodedPassword) {
+ try {
+ return AES.decrypt(encodedPassword, aesKey);
+ } catch (Exception e) {
+ throw new RuntimeException("密码解密失败", e);
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/com/g9/g9backend/controller/FileController.java b/src/main/java/com/g9/g9backend/controller/FileController.java
index 313f61e..947c4af 100644
--- a/src/main/java/com/g9/g9backend/controller/FileController.java
+++ b/src/main/java/com/g9/g9backend/controller/FileController.java
@@ -38,7 +38,7 @@
@PostMapping
public ResponseEntity<String> uploadFile(@RequestBody MultipartFile file) {
// 相对路径(可在资源根路径创建 upload 文件夹)
- String UPLOAD_DIR = "D:/nginx/nginx-1.26.2/MCPT";
+ String UPLOAD_DIR = "/app/upload";
// 获取原始文件名
String originalFilename = file.getOriginalFilename();
diff --git a/src/main/java/com/g9/g9backend/controller/ResourceController.java b/src/main/java/com/g9/g9backend/controller/ResourceController.java
index abde7ef..61f56fe 100644
--- a/src/main/java/com/g9/g9backend/controller/ResourceController.java
+++ b/src/main/java/com/g9/g9backend/controller/ResourceController.java
@@ -121,7 +121,7 @@
community.setType(postResourceDTO.getResource().getClassify());
community.setResourceId(postResourceDTO.getResource().getResourceId());
communityService.save(community);
- return ResponseEntity.ok("");
+ return ResponseEntity.ok(String.valueOf(resource.getResourceId()));
}
/**
@@ -133,7 +133,7 @@
@PostMapping("/version")
public ResponseEntity<String> uploadResourceVersion(@RequestBody ResourceVersion resourceVersion) {
resourceVersionService.save(resourceVersion);
- return ResponseEntity.ok("");
+ return ResponseEntity.ok(String.valueOf(resourceVersion.getResourceVersionId()));
}
/**
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 07ec02f..de13118 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -2,9 +2,9 @@
application:
name: G9backend
datasource:
- url: jdbc:mysql://localhost:3306/mcpt
- username: root
- password:
+ url: jdbc:mysql://202.205.102.121:3306/team9
+ username: team9
+ password: "Team99999#"
jpa:
hibernate:
ddl-auto: none