From 26918a7ed2992f3f6d4c82c7c6d819423c529acb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8D=92?= Date: Thu, 6 Nov 2025 18:31:59 +0800 Subject: [PATCH] 1 --- .../jarvis/TencentDocController.java | 36 +++++++++++++++---- 1 file changed, 30 insertions(+), 6 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/jarvis/TencentDocController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/jarvis/TencentDocController.java index 1cb5e92..ddcefee 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/jarvis/TencentDocController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/jarvis/TencentDocController.java @@ -969,17 +969,17 @@ public class TencentDocController extends BaseController { // 使用 batchUpdate 一次性更新多个字段 JSONArray requests = new JSONArray(); - // 1. 更新物流单号 - requests.add(buildUpdateCellRequest(sheetId, row - 1, logisticsLinkColumn, logisticsLink)); + // 1. 更新物流单号(超链接类型) + requests.add(buildUpdateCellRequest(sheetId, row - 1, logisticsLinkColumn, logisticsLink, true)); // 2. 更新"是否安排"列(如果存在) if (arrangedColumn != null) { - requests.add(buildUpdateCellRequest(sheetId, row - 1, arrangedColumn, "2")); + requests.add(buildUpdateCellRequest(sheetId, row - 1, arrangedColumn, "2", false)); } // 3. 更新"标记"列(如果存在) if (markColumn != null) { - requests.add(buildUpdateCellRequest(sheetId, row - 1, markColumn, today)); + requests.add(buildUpdateCellRequest(sheetId, row - 1, markColumn, today, false)); } // 构建完整的 batchUpdate 请求体 @@ -1080,7 +1080,7 @@ public class TencentDocController extends BaseController { } /** - * 构建单个单元格的更新请求(用于 batchUpdate) + * 构建单个单元格的更新请求(用于 batchUpdate)- 普通文本 * * @param sheetId 工作表ID * @param rowIndex 行索引(从0开始) @@ -1089,6 +1089,20 @@ public class TencentDocController extends BaseController { * @return updateRangeRequest 对象 */ private JSONObject buildUpdateCellRequest(String sheetId, int rowIndex, int columnIndex, String value) { + return buildUpdateCellRequest(sheetId, rowIndex, columnIndex, value, false); + } + + /** + * 构建单个单元格的更新请求(用于 batchUpdate)- 支持超链接 + * + * @param sheetId 工作表ID + * @param rowIndex 行索引(从0开始) + * @param columnIndex 列索引(从0开始) + * @param value 要写入的值(文本或链接URL) + * @param isLink 是否为超链接类型 + * @return updateRangeRequest 对象 + */ + private JSONObject buildUpdateCellRequest(String sheetId, int rowIndex, int columnIndex, String value, boolean isLink) { // 构建 updateRangeRequest JSONObject updateRangeRequest = new JSONObject(); updateRangeRequest.put("sheetId", sheetId); @@ -1106,7 +1120,17 @@ public class TencentDocController extends BaseController { // 构建单元格数据 JSONObject cellData = new JSONObject(); JSONObject cellValue = new JSONObject(); - cellValue.put("text", value); + + if (isLink) { + // 写入超链接类型 + JSONObject link = new JSONObject(); + link.put("url", value); + cellValue.put("link", link); + } else { + // 写入普通文本 + cellValue.put("text", value); + } + cellData.put("cellValue", cellValue); cellValues.add(cellData);