import request from '@/utils/request' // =========================== // 策略基础管理 // =========================== /** * 查询策略列表 */ export function listEnergyStrategy(query) { return request({ url: '/ems/energyStrategy/list', method: 'get', params: query }) } /** * 查询策略详细(通过ID) */ export function getEnergyStrategy(id) { return request({ url: '/ems/energyStrategy/' + id, method: 'get' }) } /** * 查询策略详细(通过代码) * 注意:需要后端新增此接口 */ export function getEnergyStrategyByCode(strategyCode) { return request({ url: '/ems/energyStrategy/code/' + strategyCode, method: 'get' }) } export function getSceneTypeCount(areaCode) { return request({ url: '/ems/energyStrategy/sceneCount', method: 'get', params: { areaCode } }) } /** * 新增策略 */ export function addEnergyStrategy(data) { return request({ url: '/ems/energyStrategy', method: 'post', data: data }) } /** * 修改策略 */ export function updateEnergyStrategy(data) { return request({ url: '/ems/energyStrategy', method: 'put', data: data }) } /** * 删除策略 */ export function delEnergyStrategy(id) { return request({ url: '/ems/energyStrategy/' + id, method: 'delete' }) } /** * 启用/停用策略 * 修复:匹配后端路径参数格式 */ export function changeStrategyState(strategyCode, state) { return request({ url: '/ems/energyStrategy/state/' + strategyCode + '/' + state, method: 'put' }) } // =========================== // 触发器管理 // =========================== /** * 获取策略触发器列表 * 修复:匹配后端路径参数格式 */ export function getTriggers(strategyCode) { return request({ url: '/ems/energyStrategy/trigger/' + strategyCode, method: 'get' }) } /** * 保存触发器(新增或更新) */ export function saveTrigger(data) { return request({ url: '/ems/energyStrategy/trigger', method: 'post', data: data }) } /** * 删除触发器 */ export function deleteTrigger(id) { return request({ url: '/ems/energyStrategy/trigger/' + id, method: 'delete' }) } // =========================== // 步骤管理 // =========================== /** * 获取策略步骤列表 * 修复:匹配后端路径 */ export function getStrategySteps(strategyCode) { return request({ url: '/ems/energyStrategy/step', method: 'get', params: { strategyCode } }) } /** * 新增步骤 */ export function addStrategyStep(data) { return request({ url: '/ems/energyStrategy/step', method: 'post', data: data }) } /** * 修改步骤 */ export function updateStrategyStep(data) { return request({ url: '/ems/energyStrategy/step', method: 'put', data: data }) } /** * 删除步骤 */ export function deleteStrategyStep(id) { return request({ url: '/ems/energyStrategy/step/' + id, method: 'delete' }) } /** * 批量保存步骤 */ export function saveStrategyStepBatch(steps) { return request({ url: '/ems/energyStrategy/step/batch', method: 'put', data: steps }) } // =========================== // 上下文变量管理 // 注意:需要后端新增这些接口 // =========================== /** * 获取策略上下文变量 */ export function getStrategyContext(strategyCode) { return request({ url: '/ems/energyStrategy/context', method: 'get', params: { strategyCode } }) } /** * 保存上下文变量 */ export function saveStrategyContext(data) { return request({ url: '/ems/energyStrategy/context', method: 'post', data: data }) } /** * 删除上下文变量 */ export function deleteStrategyContext(id) { return request({ url: '/ems/energyStrategy/context/' + id, method: 'delete' }) } /** * 批量保存上下文变量 */ export function saveStrategyContextBatch(strategyCode, variables) { return request({ url: '/ems/energyStrategy/context/batch', method: 'post', data: { strategyCode, variables } }) } // =========================== // 策略参数管理 // =========================== /** * 获取策略参数 */ export function getStrategyParam(strategyCode, paramGroup) { return request({ url: '/ems/energyStrategy/param', method: 'get', params: { strategyCode, paramGroup } }) } /** * 更新策略参数 */ export function updateStrategyParam(data) { return request({ url: '/ems/energyStrategy/param', method: 'put', data: data }) } /** * 获取参数选项(下拉列表) */ export function getStrategyParamOption(strategyType, paramKey) { return request({ url: '/ems/energyStrategy/param/option', method: 'get', params: { strategyType, paramKey } }) } // =========================== // 策略执行 // =========================== /** * 手动执行策略 * 修复:匹配后端路径参数格式 */ export function executeStrategy(strategyCode, params) { return request({ url: '/ems/energyStrategy/execute/' + strategyCode, method: 'post', data: params || {} }) } // =========================== // 执行日志 // =========================== /** * 获取执行日志列表 * 修复:匹配后端路径参数格式 */ export function getExecLogList(strategyCode, query) { if (strategyCode) { return request({ url: '/ems/energyStrategy/execLog/list/' + strategyCode, method: 'get', params: query }) } else { // 需要后端支持无策略码的全量查询 return request({ url: '/ems/energyStrategy/execLog/list', method: 'get', params: query }) } } /** * 获取执行日志详情(包含步骤日志) */ export function getExecLog(execId) { return request({ url: '/ems/energyStrategy/execLog/' + execId, method: 'get' }) } // =========================== // 策略模板 // 注意:需要后端新增这些接口 // =========================== /** * 获取策略模板列表 */ export function listStrategyTemplate(query) { return request({ url: '/ems/energyStrategy/template/list', method: 'get', params: query }) } /** * 获取模板详情 */ export function getStrategyTemplate(templateCode) { return request({ url: '/ems/energyStrategy/template/' + templateCode, method: 'get' }) } /** * 从模板创建策略 */ export function createFromTemplate(templateCode, strategyData) { return request({ url: '/ems/energyStrategy/template/create', method: 'post', data: { templateCode, ...strategyData } }) } /** * 删除模板 */ export function deleteStrategyTemplate(templateCode) { return request({ url: '/ems/energyStrategy/template/' + templateCode, method: 'delete' }) }