From 72c49f3afa22c4f84760d57001e45a4fadf2d482 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期四, 12 三月 2026 09:32:33 +0800
Subject: [PATCH] #升级JDK17
---
src/main/java/com/zy/asrs/controller/ApkBuildTaskController.java | 70 ++++++++++++++++++++++++++++------
1 files changed, 57 insertions(+), 13 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/ApkBuildTaskController.java b/src/main/java/com/zy/asrs/controller/ApkBuildTaskController.java
index c8edf43..58fd0a7 100644
--- a/src/main/java/com/zy/asrs/controller/ApkBuildTaskController.java
+++ b/src/main/java/com/zy/asrs/controller/ApkBuildTaskController.java
@@ -1,8 +1,9 @@
package com.zy.asrs.controller;
+import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
-import com.baomidou.mybatisplus.mapper.EntityWrapper;
-import com.baomidou.mybatisplus.plugins.Page;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.core.annotations.ManagerAuth;
import com.core.common.Cools;
import com.core.common.DateUtils;
@@ -13,6 +14,13 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
+import jakarta.servlet.http.HttpServletResponse;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.net.URLEncoder;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
@@ -33,7 +41,7 @@
@RequestMapping(value = "/apkBuildTask/{id}/auth")
@ManagerAuth
public R get(@PathVariable("id") Long id) {
- return R.ok(apkBuildTaskService.selectById(id));
+ return R.ok(apkBuildTaskService.getById(id));
}
/**
@@ -47,22 +55,22 @@
@RequestParam(required = false) String orderByType,
@RequestParam Map<String, Object> param) {
excludeTrash(param);
- EntityWrapper<ApkBuildTask> wrapper = new EntityWrapper<>();
+ QueryWrapper<ApkBuildTask> wrapper = new QueryWrapper<>();
convert(param, wrapper);
if (!Cools.isEmpty(orderByField)) {
- wrapper.orderBy(orderByField, "asc".equalsIgnoreCase(orderByType));
+ wrapper.orderBy(true, "asc".equalsIgnoreCase(orderByType), orderByField);
} else {
- wrapper.orderBy("id", false);
+ wrapper.orderBy(true, false, "id");
}
- return R.ok(apkBuildTaskService.selectPage(new Page<>(curr, limit), wrapper));
+ return R.ok(apkBuildTaskService.page(new Page<>(curr, limit), wrapper));
}
/**
* 鎼滅储鍙傛暟杞崲
*/
- private void convert(Map<String, Object> map, EntityWrapper<ApkBuildTask> wrapper) {
+ private void convert(Map<String, Object> map, QueryWrapper<ApkBuildTask> wrapper) {
for (Map.Entry<String, Object> entry : map.entrySet()) {
String key = entry.getKey();
Object value = entry.getValue();
@@ -89,8 +97,10 @@
public R triggerBuild(@RequestBody JSONObject param) {
try {
String buildType = param.getString("buildType");
+ String androidTarget = param.getString("android_target");
String repoAlias = param.getString("repoAlias");
String branch = param.getString("branch");
+ String serverUrl = param.getString("server_url");
if (Cools.isEmpty(buildType)) {
buildType = "release";
@@ -102,7 +112,7 @@
branch = "master";
}
- ApkBuildTask task = apkBuildTaskService.triggerBuild(buildType, repoAlias, branch);
+ ApkBuildTask task = apkBuildTaskService.triggerBuild(buildType, androidTarget, repoAlias, branch, serverUrl);
return R.ok(task);
} catch (Exception e) {
return R.error("鎵撳寘浠诲姟鍒涘缓澶辫触: " + e.getMessage());
@@ -132,9 +142,9 @@
try {
int count = apkBuildTaskService.refreshAllPendingTasks();
// 杩斿洖鎵�鏈変换鍔″垪琛�
- EntityWrapper<ApkBuildTask> wrapper = new EntityWrapper<>();
- wrapper.orderBy("id", false);
- List<ApkBuildTask> tasks = apkBuildTaskService.selectList(wrapper);
+ QueryWrapper<ApkBuildTask> wrapper = new QueryWrapper<>();
+ wrapper.orderBy(true, false, "id");
+ List<ApkBuildTask> tasks = apkBuildTaskService.list(wrapper);
Map<String, Object> result = new HashMap<>();
result.put("tasks", tasks);
result.put("refreshedCount", count);
@@ -157,6 +167,40 @@
return R.ok(result);
} catch (Exception e) {
return R.error("涓嬭浇APK澶辫触: " + e.getMessage());
+ }
+ }
+
+ @RequestMapping(value = "/apkBuildTask/downloadFile/{id}/auth", method = RequestMethod.GET)
+ @ManagerAuth
+ public void downloadApkFile(@PathVariable("id") Long id, HttpServletResponse response) {
+ try {
+ String localPath = apkBuildTaskService.downloadApk(id);
+ File file = new File(localPath);
+ if (!file.exists()) {
+ throw new RuntimeException("APK鏂囦欢涓嶅瓨鍦�");
+ }
+ String fileName = URLEncoder.encode(file.getName(), "UTF-8");
+ response.setContentType("application/vnd.android.package-archive");
+ response.setCharacterEncoding("utf-8");
+ response.setHeader("Content-Disposition", "attachment;filename=" + fileName);
+ response.setHeader("Content-Length", String.valueOf(file.length()));
+ try (InputStream inputStream = new FileInputStream(file);
+ OutputStream outputStream = response.getOutputStream()) {
+ byte[] buffer = new byte[8192];
+ int len;
+ while ((len = inputStream.read(buffer)) != -1) {
+ outputStream.write(buffer, 0, len);
+ }
+ outputStream.flush();
+ }
+ } catch (Exception e) {
+ try {
+ response.reset();
+ response.setCharacterEncoding("utf-8");
+ response.setContentType("application/json; charset=utf-8");
+ response.getWriter().print(JSON.toJSONString(R.error("涓嬭浇APK澶辫触: " + e.getMessage())));
+ } catch (IOException ignore) {
+ }
}
}
@@ -207,7 +251,7 @@
if (ids == null || ids.length == 0) {
return R.error();
}
- apkBuildTaskService.deleteBatchIds(Arrays.asList(ids));
+ apkBuildTaskService.removeByIds(Arrays.asList(ids));
return R.ok();
}
--
Gitblit v1.9.1