jpy
2023-05-27 48cde94624bec615f9df9a481339d5b71be311e5
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
package com.moral.api.controller;
 
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.moral.api.entity.Device;
import com.moral.api.entity.Organization;
import com.moral.api.mapper.DeviceMapper;
import com.moral.api.mapper.OrganizationMapper;
import com.moral.api.service.AlarmInfoService;
import com.moral.api.service.HistoryHourlyService;
import com.moral.constant.Constants;
import com.moral.constant.ResponseCodeEnum;
import com.moral.constant.ResultMessage;
import com.moral.util.WebUtils;
import io.swagger.annotations.Api;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
 
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;
 
/**
 * @program: screen
 * @description: 设备小时数据
 * @author: lizijie
 * @create: 2021-11-10 16:05
 **/
@Slf4j
@Api(tags = {"设备小时数据"})
@RestController
@CrossOrigin(origins = "*", maxAge = 3600)
@RequestMapping("/historyHourly")
public class HistoryHourlyController {
 
    @Resource
    private OrganizationMapper organizationMapper;
 
    @Resource
    private DeviceMapper deviceMapper;
 
    @Resource
    private HistoryHourlyService historyHourlyService;
 
    @RequestMapping(value = "getLastHourDataByOrgIdAndSensorCode", method = RequestMethod.GET)
    @ResponseBody
    public ResultMessage getLastHourDataByOrgIdAndSensorCode(HttpServletRequest request){
        Map<String, Object> parameters = WebUtils.getParametersStartingWith(request,null);
        Object orgid = parameters.get("organization_id");
        Object sensorCode = parameters.get("sensor_code");
        if (ObjectUtils.isEmpty(orgid) || ObjectUtils.isEmpty(sensorCode)){
            return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
        }
        Organization organization = organizationMapper.selectById(Integer.parseInt(orgid.toString()));
        if (ObjectUtils.isEmpty(organization)){
            return ResultMessage.fail(ResponseCodeEnum.ORGANIZATION_NOT_EXIST.getCode(), ResponseCodeEnum.ORGANIZATION_NOT_EXIST.getMsg());
        }
        Map<String, Object> resultMap = historyHourlyService.getLastHourDataByOrgIdAndSensorCode(parameters);
        return ResultMessage.ok(resultMap);
    }
 
    @RequestMapping(value = "getLastTwelveHourDataByOrgIdAndSensorCode", method = RequestMethod.GET)
    @ResponseBody
    public ResultMessage getLastTwelveHourDataByOrgIdAndSensorCode(HttpServletRequest request){
        Map<String, Object> parameters = WebUtils.getParametersStartingWith(request,null);
        Object orgid = parameters.get("organization_id");
        Object sensorCode = parameters.get("sensor_code");
        if (ObjectUtils.isEmpty(orgid) || ObjectUtils.isEmpty(sensorCode)){
            return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
        }
        Organization organization = organizationMapper.selectById(Integer.parseInt(orgid.toString()));
        if (ObjectUtils.isEmpty(organization)){
            return ResultMessage.fail(ResponseCodeEnum.ORGANIZATION_NOT_EXIST.getCode(), ResponseCodeEnum.ORGANIZATION_NOT_EXIST.getMsg());
        }
        Map<String, Object> resultMap = historyHourlyService.getLastTwelveHourDataByOrgIdAndSensorCode(parameters);
        return ResultMessage.ok(resultMap);
    }
 
    @RequestMapping(value = "getHourCompleteDataByMacSensorCodeDate", method = RequestMethod.GET)
    @ResponseBody
    public ResultMessage getHourCompleteDataByMacSensorCodeDate(HttpServletRequest request){
        Map<String, Object> parameters = WebUtils.getParametersStartingWith(request,null);
        Object mac = parameters.get("mac");
        Object sensorCode = parameters.get("sensor_code");
        Object date = parameters.get("date");
        if (ObjectUtils.isEmpty(mac) || ObjectUtils.isEmpty(sensorCode) || ObjectUtils.isEmpty(date)){
            return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
        }
        QueryWrapper<Device> deviceQueryWrapper = new QueryWrapper<>();
        deviceQueryWrapper.eq("is_delete",Constants.NOT_DELETE);
        deviceQueryWrapper.eq("mac",mac);
        Device device = deviceMapper.selectOne(deviceQueryWrapper);
        if (ObjectUtils.isEmpty(device)){
            return ResultMessage.fail(ResponseCodeEnum.ORGANIZATION_NOT_EXIST.getCode(), ResponseCodeEnum.ORGANIZATION_NOT_EXIST.getMsg());
        }
        List<Map<String, Object>> resultList = historyHourlyService.getHourCompleteDataByMacSensorCodeDate(parameters);
        return ResultMessage.ok(resultList);
    }
 
}