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> 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 getStationStatus() { return AjaxResult.success(stationInfoService.getStationStatus()); } @PostMapping("/syncKsolarDataTask") @ApiOperation("手动同步数据") public void syncKsolarDataTask() { stationInfoService.syncKsolarDataTask(); stationInfoService.syncHuaWeiDataTask(); } }