This commit is contained in:
2025-11-06 16:04:24 +08:00
parent c99088ff57
commit 041d47e9ba
5 changed files with 45 additions and 8 deletions

View File

@@ -69,6 +69,7 @@ public class TencentDocConfigController extends BaseController {
// 2. 从Redis获取文档配置
String fileId = redisCache.getCacheObject(REDIS_KEY_PREFIX + "fileId");
String sheetId = redisCache.getCacheObject(REDIS_KEY_PREFIX + "sheetId");
Integer startRow = redisCache.getCacheObject(REDIS_KEY_PREFIX + "startRow");
// 如果Redis中没有则使用配置文件中的默认值
if (fileId == null || fileId.isEmpty()) {
@@ -77,11 +78,15 @@ public class TencentDocConfigController extends BaseController {
if (sheetId == null || sheetId.isEmpty()) {
sheetId = tencentDocConfig.getSheetId();
}
if (startRow == null) {
startRow = tencentDocConfig.getStartRow();
}
config.put("hasAccessToken", hasAccessToken);
config.put("accessTokenStatus", accessTokenStatus);
config.put("fileId", fileId);
config.put("sheetId", sheetId);
config.put("startRow", startRow);
config.put("appId", tencentDocConfig.getAppId());
config.put("apiBaseUrl", tencentDocConfig.getApiBaseUrl());
@@ -111,7 +116,7 @@ public class TencentDocConfigController extends BaseController {
* 更新配置保存到Redis180天有效期
* 注意accessToken 由系统自动管理,无需手动配置
*
* @param params 包含 fileId, sheetId
* @param params 包含 fileId, sheetId, startRow
*/
@Log(title = "腾讯文档配置", businessType = BusinessType.UPDATE)
@PostMapping
@@ -119,6 +124,7 @@ public class TencentDocConfigController extends BaseController {
try {
String fileId = params.getString("fileId");
String sheetId = params.getString("sheetId");
Integer startRow = params.getInteger("startRow");
// 验证必填字段
if (fileId == null || fileId.trim().isEmpty()) {
@@ -128,6 +134,11 @@ public class TencentDocConfigController extends BaseController {
return AjaxResult.error("工作表ID不能为空");
}
// startRow默认值为3
if (startRow == null || startRow < 1) {
startRow = 3;
}
// 检查是否已授权
boolean hasAccessToken = false;
try {
@@ -144,18 +155,22 @@ public class TencentDocConfigController extends BaseController {
// 保存到Redis180天有效期
redisCache.setCacheObject(REDIS_KEY_PREFIX + "fileId", fileId.trim(), 180, TimeUnit.DAYS);
redisCache.setCacheObject(REDIS_KEY_PREFIX + "sheetId", sheetId.trim(), 180, TimeUnit.DAYS);
redisCache.setCacheObject(REDIS_KEY_PREFIX + "startRow", startRow, 180, TimeUnit.DAYS);
// 同时更新TencentDocConfig对象内存中
tencentDocConfig.setFileId(fileId.trim());
tencentDocConfig.setSheetId(sheetId.trim());
tencentDocConfig.setStartRow(startRow);
log.info("H-TF订单自动写入配置已更新 - fileId: {}, sheetId: {}", fileId.trim(), sheetId.trim());
log.info("H-TF订单自动写入配置已更新 - fileId: {}, sheetId: {}, startRow: {}",
fileId.trim(), sheetId.trim(), startRow);
JSONObject result = new JSONObject();
result.put("message", "配置更新成功已保存到Redis180天有效期");
result.put("fileId", fileId.trim());
result.put("sheetId", sheetId.trim());
result.put("hint", "现在录入分销标识为 H-TF 的订单时,将自动追加到此腾讯文档");
result.put("startRow", startRow);
result.put("hint", "现在录入分销标识为 H-TF 的订单时,将自动追加到此腾讯文档(从第" + startRow + "行开始匹配)");
return AjaxResult.success("配置更新成功", result);
} catch (Exception e) {
@@ -225,6 +240,7 @@ public class TencentDocConfigController extends BaseController {
try {
redisCache.deleteObject(REDIS_KEY_PREFIX + "fileId");
redisCache.deleteObject(REDIS_KEY_PREFIX + "sheetId");
redisCache.deleteObject(REDIS_KEY_PREFIX + "startRow");
log.info("H-TF订单自动写入配置已清除");