From 57e5a8385de2d5ff2e43c72535b472e42d65ba91 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Fri, 14 Aug 2026 11:13:44 +0800
Subject: [PATCH] feat(stations): 添加实例别名功能支持
---
src/main/java/com/xcong/excoin/modules/station/controller/StationController.java | 23 +++++++++++++++++++++--
1 files changed, 21 insertions(+), 2 deletions(-)
diff --git a/src/main/java/com/xcong/excoin/modules/station/controller/StationController.java b/src/main/java/com/xcong/excoin/modules/station/controller/StationController.java
index b6c2a9b..3902ce7 100644
--- a/src/main/java/com/xcong/excoin/modules/station/controller/StationController.java
+++ b/src/main/java/com/xcong/excoin/modules/station/controller/StationController.java
@@ -1,6 +1,7 @@
package com.xcong.excoin.modules.station.controller;
import com.xcong.excoin.common.response.Result;
+import com.xcong.excoin.modules.station.model.InstanceInfo;
import com.xcong.excoin.modules.station.registry.InstanceRegistry;
import com.xcong.excoin.modules.station.service.StationService;
import io.swagger.annotations.Api;
@@ -9,6 +10,7 @@
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
+import java.util.Collection;
/**
* Station 管理接口 — 实例列表 / 启停 / 状态 / 事件查询
@@ -28,13 +30,30 @@
@ApiOperation("获取所有在线 JAR 实例")
@GetMapping("/list")
public Result list() {
- return Result.ok(instanceRegistry.list());
+ // 内存注册表只维护心跳信息,别名从 DB 合并(心跳重建实例对象时不会丢失)
+ Collection<InstanceInfo> instances = instanceRegistry.list();
+ for (InstanceInfo info : instances) {
+ info.setAliasName(stationService.getAlias(info.getApiKeyMd5()));
+ }
+ return Result.ok(instances);
}
@ApiOperation("获取单个实例状态")
@GetMapping("/status")
public Result status(@RequestParam String apiKeyMd5) {
- return Result.ok(instanceRegistry.get(apiKeyMd5));
+ InstanceInfo info = instanceRegistry.get(apiKeyMd5);
+ if (info != null) {
+ info.setAliasName(stationService.getAlias(apiKeyMd5));
+ }
+ return Result.ok(info);
+ }
+
+ @ApiOperation("编辑实例别名(空白 = 清除别名)")
+ @PostMapping("/alias")
+ public Result saveAlias(@RequestParam String apiKeyMd5,
+ @RequestParam(required = false) String alias) {
+ stationService.saveAlias(apiKeyMd5, alias);
+ return Result.ok("别名已保存");
}
@ApiOperation("启动指定 apiKeyMd5 的策略")
--
Gitblit v1.9.1