package com.xcong.excoin.modules.station.service; import com.baomidou.mybatisplus.extension.service.IService; import com.xcong.excoin.modules.station.entity.StrategyEventLog; import com.xcong.excoin.modules.station.entity.StrategyStatus; import com.xcong.excoin.modules.station.model.GateStatsEvent; import java.util.List; import java.util.Map; public interface StationService extends IService { /** 启动策略(通过 MQ 发送 START 到目标 JAR) */ void startStrategy(String apiKey); /** 停止策略(通过 MQ 发送 STOP 到目标 JAR) */ void stopStrategy(String apiKey); /** 启动策略(直接使用 apiKeyMd5,跳过内部 md5 计算) */ void startByMd5(String apiKeyMd5); /** 停止策略(直接使用 apiKeyMd5,跳过内部 md5 计算) */ void stopByMd5(String apiKeyMd5); /** 更新策略参数(通过 MQ 发送 UPDATE_CONFIG 到目标 JAR,仅持久化,需手动启动生效) */ void updateConfig(String apiKeyMd5, Map params); /** 保存实例别名(空白/空串 = 清除别名),持久化到 strategy_status */ void saveAlias(String apiKeyMd5, String alias); /** 查询实例别名,不存在返回 null */ String getAlias(String apiKeyMd5); /** 保存策略事件(幂等) */ void saveEvent(GateStatsEvent event); /** 查询事件日志 */ List getEvents(String apiKeyMd5); /** 查询策略实时状态 */ StrategyStatus getStrategyStatus(String apiKeyMd5); }