package com.moral.api.controller; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.moral.api.pojo.dto.historyFiveMinutely.DeviceAndFiveMinuteDataDTO; import com.moral.api.pojo.form.historyFiveMinutely.QueryDeviceAndFiveMinuteDataForm; import com.moral.api.pojo.vo.historyFiveMinutely.DeviceAndFiveMinuteDataVO; import com.moral.api.pojo.vo.historyFiveMinutely.QueryFiveDataByMacVO; import com.moral.api.service.HistoryFiveMinutelyService; import com.moral.constant.ResponseCodeEnum; import com.moral.constant.ResultMessage; import com.moral.util.WebUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.CrossOrigin; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; /** * @ClassName HistoryFiveMinutely * @Description TODO * @Author 陈凯裕 * @Date 2021/7/15 16:42 * @Version TODO **/ @Slf4j @Api(tags = {"五分钟数据控制器"}) @RestController @CrossOrigin(origins = "*", maxAge = 3600) @RequestMapping("/historyFiveMinutely") public class HistoryFiveMinutelyController { @Autowired HistoryFiveMinutelyService historyFiveMinutelyService; /** * @Description: 查询组织区域对应的设备以及对应因子的五分钟数据 * @Param: [form] * @return: com.moral.constant.ResultMessage * @Author: 陈凯裕 * @Date: 2022/3/10 */ @GetMapping("queryDeviceAndData") public ResultMessage queryDeviceAndData(QueryDeviceAndFiveMinuteDataForm form){ //判断是否缺少参数 if (!form.valid()) return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); //处理查询业务 List> dto = historyFiveMinutelyService.queryDeviceAndFiveMinuteData(form); Map>> dtoResult = new HashMap<>(); dtoResult.put("devices",dto); //转换前端参数 //DeviceAndFiveMinuteDataVO vo = DeviceAndFiveMinuteDataVO.convert(dto); return new ResultMessage(ResponseCodeEnum.SUCCESS.getCode(), ResponseCodeEnum.SUCCESS.getMsg(), dtoResult); } /** * @Description: 查询弹窗五分钟数据接口 * @Param: [mac] * @return: com.moral.constant.ResultMessage * @Author: 陈凯裕 * @Date: 2022/3/10 */ @GetMapping("queryPopDataByMac") public ResultMessage queryPopDataByMac(HttpServletRequest request){ Map params = WebUtils.getParametersStartingWith(request, null); Map popDataByMac = historyFiveMinutelyService.getPopDataByMac(params); if (popDataByMac==null){ return ResultMessage.fail(ResponseCodeEnum.TARGET_IS_NULL.getCode(), ResponseCodeEnum.TARGET_IS_NULL.getMsg()); } return ResultMessage.ok(popDataByMac); } @GetMapping("queryFiveDataByMac") @ApiOperation("新五分钟数据弹框") public ResultMessage queryFiveDataByMac(@RequestParam @ApiParam(value = "mac",name = "mac号") String mac, @RequestParam @ApiParam(value = "chooseTime",name = "选取历史数据") String chooseTime, @RequestParam @ApiParam(value = "time",name = "时间") String time){ QueryFiveDataByMacVO queryFiveDataByMacVO = historyFiveMinutelyService.queryFiveDataByMac(mac, chooseTime, time); if (ObjectUtils.isEmpty(queryFiveDataByMacVO)){ return ResultMessage.fail(ResponseCodeEnum.TARGET_IS_NULL.getCode(), ResponseCodeEnum.TARGET_IS_NULL.getMsg()); } return ResultMessage.ok(queryFiveDataByMacVO); } }