Skip to content

Commit 6116e1d

Browse files
committed
chore: 更新文档和部分依赖
1 parent 8ad6350 commit 6116e1d

File tree

3 files changed

+38
-29
lines changed

3 files changed

+38
-29
lines changed

README.md

Lines changed: 27 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,56 +1,63 @@
11
# MaaBackendCenter
22

3-
使用 Kotlin(Java) 重写的 MAA 作业服务器后端
3+
使用 Kotlin 编写的 MAA 作业服务器后端
44

55
## 开发技术栈
66

7-
- kotlin 1.9 (Java 21)
7+
- kotlin 2.1 (Java 21)
88
- SpringBoot 3
9-
- spring-security
10-
- springdoc-openapi
9+
- spring-security
10+
- springdoc-openapi
1111
- MongoDB
1212
- Redis
1313

1414
## 本地开发指南
15-
1. 使用你喜欢的 IDE 导入此项目,修改 /src/main/resources/application-template.yml 中的数据库配置以符合你自己配置的环境
16-
2. 下载安装 JDK 21 或者以上版本的 jdk,可以考虑从 [zuluJDK](https://www.azul.com/downloads/?version=java-17-lts&package=jdk) 或者 [libreicaJDK](https://bell-sw.com/pages/downloads/#/java-17-lts) 下载安装。 Jetbrains Idea 可以使用自带的 JDK 管理器进行下载。
17-
3. 你需要一个有redis和mongoDB的环境,如果你是windows用户,可以从 https://github.com/tporadowski/redis 中下载版本较旧的 redis 使用。 您也可以直接使用 `./dev-docker/docker-compose.yml` 来启动 docker 服务。
15+
16+
1. 使用你喜欢的 IDE 导入此项目,复制 `/src/main/resources/application-template.yml` 到同目录下,命名为
17+
`application-dev.yml`,修改数据库配置以符合你自己配置的环境。
18+
2. 下载安装 JDK 21 或者以上版本的
19+
jdk,可以考虑从 [zuluJDK](https://www.azul.com/downloads/?version=java-17-lts&package=jdk)
20+
或者 [libreicaJDK](https://bell-sw.com/pages/downloads/#/java-17-lts) 下载安装。 Jetbrains Idea 可以使用自带的 JDK
21+
管理器进行下载。
22+
3. 你需要一个有redis和mongoDB的环境,如果你是windows用户,可以从 https://github.com/redis-windows/redis-windows/releases
23+
中下载使用。 您也可以直接使用 `./dev-docker/docker-compose.yml` 来启动 docker 服务。
1824
4. 运行 `./gradlew bootRun`, windows 环境为 `./gradlew.bat bootRun`
19-
5. 首次运行建议修改 ArkLevelSyncTask 类的 scheduled 注解的参数,这样可以将明日方舟中的关卡数据同步到你本地的 mongodb 中,为了防止反复调用造成调试的麻烦,建议首次运行同步成功后再将代码修改回去
25+
5. 首次运行建议修改配置文件中的 `maa-copilot.task-cron.ark-level` 配置,这样可以将明日方舟中的关卡数据同步到你本地的
26+
mongodb 中,为了防止反复调用造成调试的麻烦,建议首次运行同步成功后再将配置修改回去
2027

2128
## 项目结构
2229

2330
- config # 存放 spring 配置
2431
- common # 共享的逻辑
2532
- controller # 交互层
26-
- request # 入参类型
27-
- response # 响应类型
33+
- request # 入参类型
34+
- response # 响应类型
2835
- repository # 数据仓库层,用于和数据库交互
29-
- entity # 与数据库字段对应的类型
30-
- service # 业务处理层,复杂或者公用逻辑放在这里(注:您无需为每个类型都提供对应接口,只有当接口在可见未来有多个实现的时候才考虑建立接口)
31-
- model # 应用内传输用类型放这里
36+
- entity # 与数据库字段对应的类型
37+
- service # 业务处理层,复杂或者公用逻辑放在这里
38+
- model # 应用内传输用类型放这里
3239

3340
## 编译与部署
3441

35-
1. 安装 JDK 21,可以考虑从 [zuluJDK](https://www.azul.com/downloads/?version=java-17-lts&package=jdk) 或者 [libreicaJDK](https://bell-sw.com/pages/downloads/#/java-17-lts) 下载
42+
1. 安装 JDK 21,可以考虑从 [zuluJDK](https://www.azul.com/downloads/?version=java-17-lts&package=jdk)
43+
或者 [libreicaJDK](https://bell-sw.com/pages/downloads/#/java-17-lts) 下载
3644
2. clone 此项目 `git clone https://github.com/MaaAssistantArknights/MaaBackendCenter.git`
3745
3. 进入此项目目录 `cd MaaBackendCenter`
38-
4. 编译项目 `./gradlew bootJar -x processAot`,windows 环境下请使用 `gradlew.bat bootJar -x processAot`
46+
4. 编译项目 `./gradlew bootJar`,windows 环境下请使用 `gradlew.bat bootJar`
3947
5. 获得编译后的 jar 文件 `cp ./build/libs/MaaBackendCenter-1.0-SNAPSHOT.jar .`
4048
6. 复制一份配置文件 `cp ./build/resources/main/application-template.yml ./application-prod.yml`
4149
7. 修改配置文件 `application-prod.yml`
4250
8. 运行项目 `java -jar MaaBackendCenter-1.0-SNAPSHOT.jar --spring.profiles.active=prod`
4351

4452
## native 编译(暂时废弃,如果希望协助维护,请查看native分支)
4553

46-
1. 安装 [GraalVM](https://github.com/graalvm/graalvm-ce-builds/releases)
54+
1. 安装 [GraalVM](https://www.graalvm.org/downloads/)
4755
Java21,并配置好环境变量,部分功能需要正确配置 `JAVA_HOME` 变量为 GraalVM 安装目录才能正常使用
4856
2. 如果您处于 Windows 环境下,需要安装 `Visual Studio` 并且安装 C++ 组件,Linux 环境下则需要安装 `gcc` 工具链,Mac
4957
下需要安装 `xcode`
50-
工具链,详情查看 [native-image#prerequisites](https://www.graalvm.org/22.3/reference-manual/native-image/#prerequisites)
51-
3. 通过 `gu install native-image` 安装 `native-image` AOT 编译器
52-
4. 在该项目目录下,执行 `./gradlew nativeRun` 或者 `.\gradlew.bat nativeRun` 编译并运行该项目
53-
5. 如果您希望产生 docker image,请执行 `./gradlew bootBuildImage`
58+
工具链,详情查看 [native-image#prerequisites](https://www.graalvm.org/latest/reference-manual/native-image/#prerequisites)
59+
3. 在该项目目录下,执行 `./gradlew nativeRun` 或者 `.\gradlew.bat nativeRun` 编译并运行该项目
60+
4. 如果您希望产生 docker image,请执行 `./gradlew bootBuildImage`
5461

5562
## Join us!
5663

build.gradle.kts

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,18 @@ import org.jlleitschuh.gradle.ktlint.reporter.ReporterType
44

55
plugins {
66
java
7-
id("org.springframework.boot") version "3.4.1"
7+
id("org.springframework.boot") version "3.4.3"
88
id("io.spring.dependency-management") version "1.1.7"
99
id("org.springdoc.openapi-gradle-plugin") version "1.9.0"
1010
// id("org.graalvm.buildtools.native") version "0.10.4"
1111
id("org.hidetake.swagger.generator") version "2.19.2"
1212
id("com.gorylenko.gradle-git-properties") version "2.4.2"
1313

14-
kotlin("jvm") version "2.1.0"
15-
kotlin("plugin.spring") version "2.1.0"
16-
kotlin("kapt") version "2.1.0"
14+
kotlin("jvm") version "2.1.10"
15+
kotlin("plugin.spring") version "2.1.10"
16+
kotlin("kapt") version "2.1.10"
1717

18-
id("org.jlleitschuh.gradle.ktlint") version "12.1.2"
18+
id("org.jlleitschuh.gradle.ktlint") version "12.2.0"
1919
}
2020

2121
group = "plus.maa"
@@ -43,12 +43,12 @@ repositories {
4343
}
4444

4545
dependencies {
46-
val hutoolVersion = "5.8.35"
46+
val hutoolVersion = "5.8.36"
4747
val mapstructVersion = "1.5.5.Final"
4848

4949
kapt("org.springframework.boot:spring-boot-configuration-processor")
5050

51-
testImplementation("io.mockk:mockk:1.13.16")
51+
testImplementation("io.mockk:mockk:1.13.17")
5252
testImplementation("org.springframework.boot:spring-boot-starter-test")
5353

5454
implementation("org.springframework.boot:spring-boot-starter-web")
@@ -71,7 +71,7 @@ dependencies {
7171
testImplementation("org.jetbrains.kotlinx:kotlinx-coroutines-test")
7272

7373
// kotlin-logging
74-
implementation("io.github.oshai:kotlin-logging-jvm:7.0.3")
74+
implementation("io.github.oshai:kotlin-logging-jvm:7.0.5")
7575

7676
// hutool 的邮箱工具类依赖
7777
implementation("com.sun.mail:javax.mail:1.6.2")
@@ -87,7 +87,7 @@ dependencies {
8787
implementation("org.eclipse.jgit:org.eclipse.jgit.ssh.apache.agent:7.1.0.202411261347-r")
8888
implementation("org.freemarker:freemarker:2.3.34")
8989
implementation("com.github.ben-manes.caffeine:caffeine:3.2.0")
90-
implementation("com.github.erosb:everit-json-schema:1.14.4") {
90+
implementation("com.github.erosb:everit-json-schema:1.14.5") {
9191
exclude("commons-logging")
9292
}
9393
implementation("com.google.guava:guava:33.4.0-jre")

src/main/kotlin/plus/maa/backend/common/utils/converter/CopilotConverter.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ interface CopilotConverter {
3838
@Mapping(target = "dislikeCount", ignore = true)
3939
@Mapping(target = "ratingRatio", ignore = true)
4040
@Mapping(target = "ratingLevel", ignore = true)
41+
@Mapping(target = "commentStatus", ignore = true)
4142
@BeanMapping(nullValuePropertyMappingStrategy = NullValuePropertyMappingStrategy.IGNORE)
4243
fun updateCopilotFromDto(copilotDTO: CopilotDTO, content: String, @MappingTarget copilot: Copilot, status: CopilotSetStatus)
4344

@@ -53,6 +54,7 @@ interface CopilotConverter {
5354
@Mapping(target = "uploadTime", source = "now")
5455
@Mapping(target = "firstUploadTime", source = "now")
5556
@Mapping(target = "uploaderId", source = "userId")
57+
@Mapping(target = "commentStatus", ignore = true)
5658
fun toCopilot(
5759
copilotDto: CopilotDTO,
5860
copilotId: Long,

0 commit comments

Comments
 (0)