package com.doumee.cloud.openapi; import com.doumee.api.BaseController; import com.doumee.config.annotation.LoginNoRequired; import com.doumee.core.annotation.pr.PreventRepeat; import com.doumee.core.model.ApiResponse; import com.doumee.core.utils.Constants; import com.doumee.dao.openapi.request.*; import com.doumee.dao.openapi.response.*; import com.doumee.service.business.PlatformJobService; import com.doumee.service.business.PlatformLogService; import com.doumee.service.business.PlatformService; import com.doumee.service.business.PlatformWaterGasService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.ArrayList; import java.util.List; /** * @author 江蹄蹄 * @date 2023/11/30 15:33 */ @Api(tags = "提供安防平台对接接口(数据大屏基础数据等)") @RestController @RequestMapping(Constants.CLOUD_SERVICE_URL_INDEX+"/hk/api") public class HkOpenApiController extends BaseController { @Autowired private PlatformService platformService; @Autowired private PlatformLogService platformLogService; @Autowired private PlatformJobService platformJobService; @Autowired private PlatformWaterGasService platformWaterGasService; @PreventRepeat @ApiOperation("【用水量】本月、上月和去年同月") @PostMapping("/water/dataByMonth") @LoginNoRequired public ApiResponse waterDataByMonth(@RequestBody WaterByMonthRequest param) { return ApiResponse.success(platformWaterGasService.waterDataByMonth(param)); } @PreventRepeat @ApiOperation("【用气量】本月、上月和去年同月") @PostMapping("/gas/dataByMonth") @LoginNoRequired public ApiResponse gasDataByMonth(@RequestBody GasByMonthRequest param) { return ApiResponse.success(platformWaterGasService.gasDataByMonth(param)); } @PreventRepeat @ApiOperation("【月台】按天统计运单请求参数") @PostMapping("/platform/orderNumByDate") @LoginNoRequired public ApiResponse orderNumByDate(@RequestBody PlatformOrderNumByDateRequest param) { return ApiResponse.success(platformJobService.orderNumByDate(param)); } @PreventRepeat @ApiOperation("【月台】月台状态数量统计") @PostMapping("/platform/totalNumByStatus") @LoginNoRequired public ApiResponse totalNumByStatus(@RequestBody PlatformNumByStatusRequest param) { return ApiResponse.success(platformService.getPlatformNumByStatusResponse()); } @PreventRepeat @ApiOperation("【月台】月台当前作业信息列表") @PostMapping("/platform/workingDataList") @LoginNoRequired public ApiResponse> platformWorkingDataList(@RequestBody PlatformDataListRequest param) { return ApiResponse.success(platformJobService.platformWorkingDataList(param)); } @PreventRepeat @ApiOperation("【月台】月台作业详情信息") @PostMapping("/platform/workDataInfo") @LoginNoRequired public ApiResponse platformWorkingDataList(@RequestBody PlatformDataInfoRequest param) { return ApiResponse.success(platformJobService.platformWorkingDataList(param)); } @PreventRepeat @ApiOperation("【月台】当前车辆状态数量统计") @PostMapping("/platform/carStatusNum") @LoginNoRequired public ApiResponse carStatusNum(@RequestBody CarNumByStatusRequest param) { return ApiResponse.success(platformJobService.carStatusNum(param)); } @PreventRepeat @ApiOperation("【月台】车辆事件列表数据集合(最新N条)") @PostMapping("/platform/carLogsList") @LoginNoRequired public ApiResponse> carLogsList(@RequestBody CarLogsListRequest param) { return ApiResponse.success(platformLogService.getCarLogsListResponse(param)); } @PreventRepeat @ApiOperation("【月台】排队队列列表集合") @PostMapping("/platform/queueList") @LoginNoRequired public ApiResponse queueList(@RequestBody PlatformQueuingListRequest param) { return ApiResponse.success(platformJobService.queueList(param)); } @PreventRepeat @ApiOperation("【月台】预警事件集合列表") @PostMapping("/platform/warningEventList") @LoginNoRequired public ApiResponse> warningEventList(@RequestBody PlatformWarnEventListRequest param) { return ApiResponse.success(new ArrayList<>()); } }