whyclxw
2025-05-28 e16302f9d475c7cc4dd18c5abf1a23cb5502e362
src/main/java/com/whyc/controller/InterFaceController.java
@@ -1,44 +1,157 @@
package com.whyc.controller;
import com.whyc.dto.InterfaceParam;
import com.whyc.dto.Response;
import com.whyc.pojo.BattRealdata;
import com.whyc.pojo.Fbs9100Setparam;
import com.whyc.service.InterfaceService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.security.NoSuchAlgorithmException;
import java.text.ParseException;
@RequestMapping("interface")
@RestController
@Api(tags = "第三方接口")
public class InterFaceController {
public class InterFaceController extends BaseController{
    @Resource
    private InterfaceService service;
    @GetMapping("/getBattInf")
    @ApiOperation("获取所有电池信息")
    public Response getBattinf(@RequestParam int pageNum,@RequestParam int pageSize){
        return service.getBattinf(pageNum,pageSize);
    public Response getBattinf(@RequestParam int pageNum, @RequestParam int pageSize, @RequestParam String interfaceNumber) {
        return service.getBattinf(pageNum, pageSize, interfaceNumber);
    }
    @GetMapping("/getPowerInf")
    @ApiOperation("获取所有电源信息")
    public Response getPowerInf(@RequestParam int pageNum,@RequestParam int pageSize){
        return service.getPowerInf(pageNum,pageSize);
    public Response getPowerInf(@RequestParam int pageNum, @RequestParam int pageSize, @RequestParam String interfaceNumber) {
        return service.getPowerInf(pageNum, pageSize, interfaceNumber);
    }
    @GetMapping("/getBattAlarm")
    @PostMapping("/getBattAlarm")
    @ApiOperation("获取电池告警数据")
    public Response getBattAlarm(@RequestParam int pageNum,@RequestParam int pageSize){
        return service.getBattAlarm(pageNum,pageSize);
    public Response getBattAlarm(@RequestBody InterfaceParam interfaceParam, @RequestParam String interfaceNumber) {
        return service.getBattAlarm(interfaceParam.getBattgroupIds(), interfaceNumber, null);
    }
    @GetMapping("/getPowerAlarm")
    @PostMapping("/getDevAlarm")
    @ApiOperation("获取设备告警数据")
    public Response getDevAlarm(@RequestBody InterfaceParam interfaceParam, @RequestParam String interfaceNumber) {
        return service.getDevAlarm(interfaceParam.getDeviceIds(), interfaceNumber);
    }
    @PostMapping("/getPowerAlarm")
    @ApiOperation("获取电源告警数据")
    public Response getPowerAlarm(@RequestParam int pageNum,@RequestParam int pageSize){
        return service.getPwrdevAlarm(pageNum,pageSize);
    public Response getPowerAlarm(@RequestBody InterfaceParam interfaceParam, @RequestParam String interfaceNumber) {
        return service.getPwrdevAlarm(interfaceParam.getPowerDeviceIds(), interfaceNumber);
    }
    @PostMapping("getRealTimeAlarm")
    @ApiOperation("获取实时告警数据")
    public Response getRealTimeAlarm(@RequestBody InterfaceParam interfaceParam) {
        return service.getRealTimeAlarm(interfaceParam);
    }
    @PostMapping("/getBattAlarmHistory")
    @ApiOperation("获取电池告警数据历史")
    public Response getBattAlarmHistory(@RequestBody InterfaceParam interfaceParam, @RequestParam String interfaceNumber,@RequestParam int pageNum,@RequestParam int pageSize) {
        return service.getBattAlarmHistory(interfaceParam.getBattgroupIds(), interfaceNumber,pageNum,pageSize);
    }
    @PostMapping("/getBattAlarmHistory2")
    @ApiOperation("获取电池告警数据历史-带时间筛选和存在分表")
    public Response getBattAlarmHistory2(@RequestBody InterfaceParam interfaceParam, @RequestParam String interfaceNumber,@RequestParam int pageNum,@RequestParam int pageSize) throws ParseException {
        return service.getBattAlarmHistory2(interfaceParam, interfaceNumber,pageNum,pageSize);
    }
    @PostMapping("/getDevAlarmHistory")
    @ApiOperation("获取设备告警数据历史")
    public Response getDevAlarmHistory(@RequestBody InterfaceParam interfaceParam, @RequestParam String interfaceNumber,@RequestParam int pageNum,@RequestParam int pageSize) {
        return service.getDevAlarmHistory(interfaceParam.getDeviceIds(), interfaceNumber,pageNum,pageSize);
    }
    @PostMapping("/getDevAlarmHistory2")
    @ApiOperation("获取设备告警数据历史-带时间筛选和存在分表")
    public Response getDevAlarmHistory2(@RequestBody InterfaceParam interfaceParam, @RequestParam String interfaceNumber,@RequestParam int pageNum,@RequestParam int pageSize) throws ParseException {
        return service.getDevAlarmHistory2(interfaceParam, interfaceNumber,pageNum,pageSize);
    }
    @PostMapping("/getPowerAlarmHistory")
    @ApiOperation("获取电源告警数据历史")
    public Response getPowerAlarmHistory(@RequestBody InterfaceParam interfaceParam, @RequestParam String interfaceNumber,@RequestParam int pageNum,@RequestParam int pageSize) {
        return service.getPwrdevAlarmHistory(interfaceParam.getPowerDeviceIds(), interfaceNumber,pageNum,pageSize);
    }
    @PostMapping("/getRealtime")
    @ApiOperation("获取实时状态信息")
    public Response getRealtime(@RequestBody InterfaceParam interfaceParam) {
        return service.getRealTime(interfaceParam);
    }
    @GetMapping("/getInterface")
    @ApiOperation("获取所有第三方码的信息")
    public Response getInterface(@RequestParam int pageNum, @RequestParam int pageSize) {
        return service.getInterface(pageNum, pageSize);
    }
    @GetMapping("/createInterface")
    @ApiOperation("生成第三方验证码")
    public Response createInterface(@RequestParam String interfaceName) throws NoSuchAlgorithmException {
        return service.createInterface(interfaceName);
    }
    @GetMapping("/updateInterface")
    @ApiOperation("编辑第三方验证码是否可用")
    public Response updateInterface(@RequestParam int num, @RequestParam int enable) {
        return service.updateInterface(num, enable);
    }
    @GetMapping("getBattStationInfoByStationId")
    @ApiOperation("获取电池机房信息")
    public Response getBattStationInfoByStationId(@RequestParam String stationId,@RequestParam String interfaceNumber){
        return service.getBattStationInfoByStationId(stationId,interfaceNumber);
    }
    /**
     * 核容放电:
     *  获取参数: ①sendCmdGet
     *  设置参数: ②sendCmdSet
     *  启动: ①sendCmdGet
     *  停止: ①sendCmdGet
     *
     * 内阻测试:
     *  启动: ①sendCmdGet
     *  停止: ①sendCmdGet
     */
    @ApiOperation("发送指令,获取参数(启动|停止|获取参数)")
    @GetMapping("sendCmdGet")
    public Response sendCmdGet(@RequestParam int opCmd,@RequestParam Integer testCmd,@RequestParam int devId,@RequestParam int battGroupNum,@RequestParam String interfaceNumber){
        return service.sendCmdGet(opCmd,testCmd,devId,battGroupNum,interfaceNumber);
    }
    @ApiOperation("发送指令,设置参数")
    @PostMapping("sendCmdSet")
    public Response sendCmdSet(@RequestBody Fbs9100Setparam param,@RequestParam String interfaceNumber){
        return service.sendCmdSet(param,interfaceNumber);
    }
    @PostMapping("/getBattHistoryDataList")
    @ApiOperation("获取电池历史实时数据")
    public Response getBattHistoryDataList(@RequestBody BattRealdata data, @RequestParam String interfaceNumber) throws ParseException, InterruptedException {
        return service.getBattHistoryDataList(data, interfaceNumber);
    }
    /**
     * 1.电池基本信息:电池品牌、电池型号、投入使用时间、标称容量、电池组id
     * 2.运行数据:实际容量、电池组数、负载电流、续航时长
     */
    @GetMapping("/getBattGroupDataList")
    @ApiOperation("获取电池的数据信息,以上注释包含所有细节")
    public Response getBattGroupDataList(@RequestParam String stationId, @RequestParam String interfaceNumber){
        return service.getBattGroupDataList(stationId, interfaceNumber);
    }
}