package com.iailab.module.model.api.mcs; import com.iailab.framework.common.pojo.PageResult; import com.iailab.module.model.api.mcs.dto.*; import com.iailab.module.model.api.mdk.dto.StScheduleRecordVO; import com.iailab.module.model.enums.ApiConstants; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; import java.math.BigDecimal; import java.util.Date; import java.util.List; import java.util.Map; /** * @author PanZhibao * @Description * @createTime 2024年08月26日 */ @FeignClient(name = ApiConstants.NAME) @Tag(name = "RPC 服务 - 模型配置信息接口") public interface McsApi { String PREFIX = ApiConstants.PREFIX + "/mcs"; @GetMapping(PREFIX + "/predict-item/tree") @Operation(summary = "预测项树") List getPredictItemTree(); @PostMapping(PREFIX + "/predict-data/charts") @Operation(summary = "预测数据图表") PreDataBarLineRespVO getPreDataCharts(@RequestBody PreDataBarLineReqVO reqVO); @PostMapping(PREFIX + "/predict-data/item-chart") @Operation(summary = "预测数据图表-预测项首页图表") PreDataItemChartRespVO getPreDataItemChart(@RequestBody PreDataItemChartReqVO reqVO); @PostMapping(PREFIX + "/predict-data/single-chart") @Operation(summary = "预测数据图表") PreDataSingleChartRespVO getPreDataSingleChart(@RequestBody PreDataSingleChartReqVO reqVO); @PostMapping(PREFIX + "/predict-data/cur") @Operation(summary = "获取当前预测数据") Map> getPreDataCur(@RequestBody PreDataJsonReqVO reqVO); @PostMapping(PREFIX + "/plan-data/single-chart") @Operation(summary = "计划数据图表") PlanDataSingleChartRespVO getPlanDataSingleChart(@RequestBody PreDataSingleChartReqVO reqVO); @PostMapping(PREFIX + "/alarm-message/create") @Operation(summary = "添加预警信息") Boolean createAlarmMessage(@RequestBody AlarmMessageRespDTO dto); @GetMapping(PREFIX + "/alarm-message/list") @Operation(summary = "获取预警信息列表") List listAlarmMessage(@RequestParam Map params); @GetMapping(PREFIX + "/alarm-config/list") @Operation(summary = "获取预警配置列表") List listAlarmConfig(@RequestParam Map params); @GetMapping(PREFIX + "/alarm-message/last-one") @Operation(summary = "获取最新预警信息") AlarmMessageRespDTO getLastAlarmMessage(@RequestParam("alarmObj") String alarmObj); @PostMapping(PREFIX + "/schedule-suggest/create") @Operation(summary = "添加调度建议") Boolean createScheduleSuggest(@RequestBody ScheduleSuggestRespDTO dto); @PostMapping(PREFIX + "/schedule-suggest/list") @Operation(summary = "获取调度建议列表") List listScheduleSuggest(@RequestBody ScheduleSuggestReqDTO vo); @PostMapping(PREFIX + "/predict-model-setting/modify") @Operation(summary = "修改预测模型设置参数") Boolean modifyPredictModelSetting(@RequestBody List dtos); @GetMapping(PREFIX + "/schedule-suggest/last-limit") @Operation(summary = "获取调度建议列表") List getLastLimitScheduleSuggest(@RequestParam("scheduleObj") String scheduleObj, @RequestParam("limit") Integer limit); @PostMapping(PREFIX + "/schedule-model-setting/modify") @Operation(summary = "修改调度模型设置参数") Boolean modifyScheduleModelSetting(@RequestBody List dtos); @GetMapping(PREFIX + "/schedule-scheme/list") @Operation(summary = "获取调度方案列表") List listScheduleScheme(@RequestParam("triggerMethod") String triggerMethod, @RequestParam("triggerCondition") String triggerCondition); @GetMapping(PREFIX + "/chart/param/list") @Operation(summary = "图表配置列表") List getChartParamList(@RequestParam("chartCode") String chartCode); @PostMapping(PREFIX + "/alarm-suggest/page") @Operation(summary = "获取预警信息和调度建议分页列表") PageResult getAlarmAndSuggestPage(@RequestBody StAlarmAndSuggestPageReqVO reqVO); @PostMapping(PREFIX + "/predict-data/doubleValue") @Operation(summary = "获取多个预测项Double类型数据") Map> getPreDoubleData(PreDoubleDataReqVO reqVO); @PostMapping(PREFIX + "/predict-data/last-value") @Operation(summary = "获取最后预测值") Map getPredictLastValue(@RequestBody PredictLastValueReqVO reqVO); @GetMapping("/schedule-data/last") @Operation(summary = "调度模型最新结果查询") List getLastScheduleData(@RequestParam("scheduleCode") String scheduleCode,@RequestParam("limit") Integer limit); @PostMapping("/predict-data/itemNo") @Operation(summary = "查询时间范围内预测结果") Map> getPredictDataItemNo(@RequestBody PreDataItemNoReqVO reqVO); @GetMapping(PREFIX + "/electricityPrice/list") @Operation(summary = "电价时段配置列表") List getElectricityPriceList(@RequestParam("year") String year, @RequestParam("time") String time); @PostMapping(PREFIX + "/electricityPrice/create") @Operation(summary = "添加电价时段配置列表") Boolean createElectricityPrice(@RequestBody List list); @GetMapping(PREFIX + "/schedule/model/setting/update") @Operation(summary = "修改调度模型配置") Boolean updateScheduleModelSetting(@RequestParam("modelCode") String modelCode, @RequestParam("key") String key, @RequestParam("value") String value); @GetMapping(PREFIX + "/alarm-config/update") @Operation(summary = "修改预警配置") Boolean updateAlarmConfig(@RequestParam("alarmObj")String alarmObj, @RequestParam("upperLimit")String upperLimit, @RequestParam("lowerLimit")String lowerLimit); @PostMapping(PREFIX + "/chart/param/update") @Operation(summary = "修改图表参数配置") Boolean updateChartParam(@RequestBody ChartDTO chartDTO); @GetMapping(PREFIX + "/item/output/itemId") @Operation(summary = "获取") MmItemOutputDTO getItemOutputByItemid(@RequestParam("itemid") String itemid, @RequestParam("resultstr")String resultstr, @RequestParam("resultIndex")String resultIndex); @PostMapping(PREFIX + "/item/result") @Operation(summary = "获取") List getItemResult(@RequestBody PreItemResultReqVO reqVO); @GetMapping(PREFIX + "/predict-item/itemNo") @Operation(summary = "获取") PredictItemVO getPredictItemByItemNo(@RequestParam("itemNo") String itemNo); @PostMapping(PREFIX + "/item/result/last-point") @Operation(summary = "获取") List getItemResultLastPoint(@RequestBody PreItemResultReqVO reqVO); }