潘志宝
2025-02-24 87d7ae7fe628b6e8ddf7763491db8cc990892fda
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
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.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<PredictItemTreeDTO> 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<String, List<Object[]>> 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<AlarmMessageRespDTO> listAlarmMessage(@RequestParam Map<String, Object> params);
 
    @GetMapping(PREFIX + "/alarm-config/list")
    @Operation(summary = "获取预警配置列表")
    List<AlarmConfigRespDTO> listAlarmConfig(@RequestParam Map<String, Object> 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<ScheduleSuggestRespDTO> listScheduleSuggest(@RequestBody ScheduleSuggestReqDTO vo);
 
    @PostMapping(PREFIX + "/predict-model-setting/modify")
    @Operation(summary = "修改预测模型设置参数")
    Boolean modifyPredictModelSetting(@RequestBody List<PredictModelSettingReqDTO> dtos);
 
    @GetMapping(PREFIX + "/schedule-suggest/last-limit")
    @Operation(summary = "获取调度建议列表")
    List<ScheduleSuggestRespDTO> getLastLimitScheduleSuggest(@RequestParam("scheduleObj") String scheduleObj, @RequestParam("limit") Integer limit);
 
    @PostMapping(PREFIX + "/schedule-model-setting/modify")
    @Operation(summary = "修改调度模型设置参数")
    Boolean modifyScheduleModelSetting(@RequestBody List<ScheduleModelSettingReqDTO> dtos);
 
    @GetMapping(PREFIX + "/schedule-scheme/list")
    @Operation(summary = "获取调度方案列表")
    List<StScheduleSchemeDTO> listScheduleScheme(@RequestParam("triggerMethod") String triggerMethod, @RequestParam("triggerCondition") String triggerCondition);
 
    @GetMapping(PREFIX + "/chart/param/list")
    @Operation(summary = "图表配置列表")
    List<ChartParamDTO> getChartParamList(@RequestParam("chartCode") String chartCode);
 
    @PostMapping(PREFIX + "/alarm-suggest/page")
    @Operation(summary = "获取预警信息和调度建议分页列表")
    PageResult<StAlarmAndSuggestRespVO> getAlarmAndSuggestPage(@RequestBody StAlarmAndSuggestPageReqVO reqVO);
 
    @PostMapping(PREFIX + "/predict-data/doubleValue")
    @Operation(summary = "获取多个预测项Double类型数据")
    Map<String, Map<String, Double>> getPreDoubleData(PreDoubleDataReqVO reqVO);
 
    @PostMapping(PREFIX + "/predict-data/last-value")
    @Operation(summary = "获取最后预测值")
    Map<String, BigDecimal> getPredictLastValue(@RequestBody PredictLastValueReqVO reqVO);
 
    @GetMapping("/schedule-data/last")
    @Operation(summary = "调度模型最新结果查询")
    List<StScheduleRecordVO> getLastScheduleData(@RequestParam("scheduleCode") String scheduleCode,@RequestParam("limit") Integer limit);
 
    @PostMapping("/predict-data/itemNo")
    @Operation(summary = "查询时间范围内预测结果")
    Map<String,List<Object[]>> getPredictDataItemNo(@RequestBody PreDataItemNoReqVO reqVO);
 
    @GetMapping(PREFIX + "/electricityPrice/list")
    @Operation(summary = "电价时段配置列表")
    List<ElectricityPriceSegmentedDTO> getElectricityPriceList(@RequestParam("year") String year, @RequestParam("time") String time);
 
    @PostMapping(PREFIX + "/electricityPrice/create")
    @Operation(summary = "添加电价时段配置列表")
    Boolean createElectricityPrice(@RequestBody List<ElectricityPriceSegmentedDTO> list);
 
    @PostMapping(PREFIX + "/schedule/model/setting/update")
    @Operation(summary = "修改调度模型配置")
    Boolean updateScheduleModelSetting(@RequestParam("modelCode") String modelCode, @RequestParam("key") String key, @RequestParam("value") String value);
 
    @GetMapping(PREFIX + "/schedule/adjust/config-list")
    @Operation(summary = "获取模拟调整配置")
    List<StAdjustConfigDetDTO> getAdjustConfigListByModelId(@RequestParam("modelId") String modelId);
 
}