From a6b910ee314077cf5768ebbb9594d05c413d522d Mon Sep 17 00:00:00 2001 From: tongtongstudio Date: Mon, 14 Apr 2025 20:00:46 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=8E=B7=E5=8F=96patch?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=EF=BC=8C=E6=9C=AA=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DockerFile | 3 ++- .../controller/apk/CheckPatchController.java | 16 ++++++++++++++-- .../backend/entity/PatchFileInfo.java | 4 ++-- .../backend/repository/PatchInfoRepository.java | 8 +++++--- .../backend/service/DiffPathService.java | 9 +++++++++ src/main/resources/application.properties | 2 +- 6 files changed, 33 insertions(+), 9 deletions(-) diff --git a/DockerFile b/DockerFile index 92da72b..522a3ee 100644 --- a/DockerFile +++ b/DockerFile @@ -2,7 +2,8 @@ FROM eclipse-temurin:17-jdk-jammy MAINTAINER TongTongStudio RUN mv /etc/apt/sources.list /etc/apt/sources.list.bak VOLUME /tmp +RUN cd /tmp ADD bsdiff . ADD target/*.jar app.jar -EXPOSE 65534 +EXPOSE map[65534/tcp:{}] ENTRYPOINT ["java", "-jar", "/app.jar"] \ No newline at end of file diff --git a/src/main/java/com/mir4updater/backend/controller/apk/CheckPatchController.java b/src/main/java/com/mir4updater/backend/controller/apk/CheckPatchController.java index 349e586..2d8df8c 100644 --- a/src/main/java/com/mir4updater/backend/controller/apk/CheckPatchController.java +++ b/src/main/java/com/mir4updater/backend/controller/apk/CheckPatchController.java @@ -1,13 +1,25 @@ package com.mir4updater.backend.controller.apk; +import com.mir4updater.backend.entity.PatchFileInfo; +import com.mir4updater.backend.result.Result; +import com.mir4updater.backend.service.DiffPathService; import org.apache.logging.log4j.LogManager; -import org.springframework.web.bind.annotation.RestController; - import org.apache.logging.log4j.Logger; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; @RestController public class CheckPatchController { public static Logger logger = LogManager.getLogger(CheckPatchController.class); + @Autowired + DiffPathService diffPathService; + @GetMapping("/android/check_patch") + public Result checkPatch(@RequestParam("pkg") String pkg, @RequestParam(value = "version_code") Long versionCode) { + PatchFileInfo patchFileInfo = diffPathService.getPatchInfo(pkg, versionCode); + return Result.success(patchFileInfo); + } } diff --git a/src/main/java/com/mir4updater/backend/entity/PatchFileInfo.java b/src/main/java/com/mir4updater/backend/entity/PatchFileInfo.java index b486579..66d4db8 100644 --- a/src/main/java/com/mir4updater/backend/entity/PatchFileInfo.java +++ b/src/main/java/com/mir4updater/backend/entity/PatchFileInfo.java @@ -20,7 +20,7 @@ public class PatchFileInfo implements Serializable { String packageName; @Column(name = "old_version", nullable = false) - long old_version; + long oldVersion; @Column(name = "old_md5", nullable = false) String old_md5; @@ -32,7 +32,7 @@ public class PatchFileInfo implements Serializable { String old_sha256; @Column(name = "new_version", nullable = false) - long new_version; + long newVersion; @Column(name = "new_md5", nullable = false) String new_md5; diff --git a/src/main/java/com/mir4updater/backend/repository/PatchInfoRepository.java b/src/main/java/com/mir4updater/backend/repository/PatchInfoRepository.java index cf015fd..5f9cc13 100644 --- a/src/main/java/com/mir4updater/backend/repository/PatchInfoRepository.java +++ b/src/main/java/com/mir4updater/backend/repository/PatchInfoRepository.java @@ -1,7 +1,9 @@ package com.mir4updater.backend.repository; -import com.mir4updater.backend.entity.ApkInfo; +import com.mir4updater.backend.entity.PatchFileInfo; import org.springframework.data.jpa.repository.JpaRepository; -//public class PatchInfoRepository extends JpaRepository { -//} +public interface PatchInfoRepository extends JpaRepository { + public PatchFileInfo findPatchFileInfoByPackageNameAndOldVersion(String packageName, Long version); + +} diff --git a/src/main/java/com/mir4updater/backend/service/DiffPathService.java b/src/main/java/com/mir4updater/backend/service/DiffPathService.java index 3038ce7..9eb7c0d 100644 --- a/src/main/java/com/mir4updater/backend/service/DiffPathService.java +++ b/src/main/java/com/mir4updater/backend/service/DiffPathService.java @@ -1,8 +1,17 @@ package com.mir4updater.backend.service; +import com.mir4updater.backend.entity.PatchFileInfo; +import com.mir4updater.backend.repository.PatchInfoRepository; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @Service public class DiffPathService { + @Autowired + PatchInfoRepository patchInfoRepository; + + public PatchFileInfo getPatchInfo(String packageName, Long oldVersion) { + return patchInfoRepository.findPatchFileInfoByPackageNameAndOldVersion(packageName, oldVersion); + } } diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 482aa3a..8a90b7d 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1,6 +1,6 @@ spring.application.name=Mir4Updater server.port=65534 - +server.address=0.0.0.0 ## \u6570\u636E\u8FDE\u63A5\u4FE1\u606F spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.url=jdbc:mysql://127.0.0.1:3305/spring_boot?useUnicode=true&characterEncoding=utf8&useSSL=false&allowPublicKeyRetrieval=true