puzhibing
2026-09-30 ab268d1525563fc8f22af808a58bc13f125f2796
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
package com.ruoyi.other.controller;
 
import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.common.core.web.page.PageInfo;
import com.ruoyi.common.log.annotation.Log;
import com.ruoyi.common.log.enums.BusinessType;
import com.ruoyi.common.security.annotation.Logical;
import com.ruoyi.common.security.annotation.RequiresPermissions;
import com.ruoyi.other.api.domain.TStationInfo;
import com.ruoyi.other.query.StationInfoQuery;
import com.ruoyi.other.service.TStationInfoService;
import com.ruoyi.other.vo.StationInfoStatusVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;
 
import javax.annotation.Resource;
import java.util.Arrays;
 
@Api(tags = "管理后台-电站信息")
@RestController
@RequestMapping("/station-info")
public class TStationInfoController {
    @Resource private TStationInfoService stationInfoService;
 
 
    @GetMapping("/pageList") @ApiOperation("分页查询电站信息")
    public AjaxResult<PageInfo<TStationInfo>> pageList(StationInfoQuery query) {
        return AjaxResult.success(stationInfoService.pageList(query));
    }
 
    @RequiresPermissions(value = {"/stationInfo/add"}, logical = Logical.OR)
    @PostMapping("/add") @ApiOperation("新增电站信息")
    @Log(title = "【电站信息】新增", businessType = BusinessType.INSERT)
    public AjaxResult add(@RequestBody TStationInfo info) {
        return stationInfoService.addStationInfo(info) ? AjaxResult.success() : AjaxResult.error("新增失败");
    }
 
    @RequiresPermissions(value = {"/stationInfo/update"}, logical = Logical.OR)
    @PutMapping("/edit") @ApiOperation("编辑电站信息")
    @Log(title = "【电站信息】编辑", businessType = BusinessType.UPDATE)
    public AjaxResult edit(@RequestBody TStationInfo info) {
        return stationInfoService.updateStationInfo(info) ? AjaxResult.success() : AjaxResult.error("编辑失败");
    }
 
    @RequiresPermissions(value = {"/stationInfo/del"}, logical = Logical.OR)
    @DeleteMapping("/delete") @ApiOperation("删除电站信息")
    @Log(title = "【电站信息】删除", businessType = BusinessType.DELETE)
    public AjaxResult delete(@RequestBody Long[] ids) {
        if (ids == null || ids.length == 0) return AjaxResult.error("请选择需要删除的数据");
        if(!stationInfoService.validateDelete(ids)) {
            return AjaxResult.error("来源于第三方平台的数据,不允许删除");
        }
        return stationInfoService.removeByIds(Arrays.asList(ids)) ? AjaxResult.success() : AjaxResult.error("删除失败");
    }
 
    /**
     * 调用第三方接口获取实时功率和电站状态
     */
    @GetMapping("/getStationStatus") @ApiOperation("获取电站状态")
    public AjaxResult<StationInfoStatusVO> getStationStatus() {
        return AjaxResult.success(stationInfoService.getStationStatus());
    }
 
 
    @PostMapping("/syncKsolarDataTask") @ApiOperation("手动同步数据")
    public void syncKsolarDataTask() {
        stationInfoService.syncKsolarDataTask();
 
        stationInfoService.syncHuaWeiDataTask();
    }
}