cjl
2023-11-15 28776b56db3bbd2fbbfd64394e40aa11a6b7ea29
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
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<Map<String, Object>> dto = historyFiveMinutelyService.queryDeviceAndFiveMinuteData(form);
        Map<String,List<Map<String, Object>>> 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<String, Object> params = WebUtils.getParametersStartingWith(request, null);
        Map<String, Object> 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);
    }
 
 
 
}