Newer
Older
kad / src / main / java / com / casic / controller / DeviceController.java
casic_zt on 10 Oct 1 KB first commit
package com.casic.controller;

import com.casic.dto.EventDTO;
import com.casic.dto.ReturnDTO;
import com.casic.service.DeviceService;
import com.casic.util.ReturnUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.web.bind.annotation.*;

import javax.ws.rs.QueryParam;

@Slf4j
@CrossOrigin
@RestController
@RequestMapping("/casic")
public class DeviceController {

    private final DeviceService deviceService;

    public DeviceController(DeviceService deviceService) {
        this.deviceService = deviceService;
    }


    @RequestMapping("/getToken")
    public ReturnDTO<Object> getToken() {
        //获取token
        return ReturnUtil.success(deviceService.getGasToken());
    }


    //获取三方接口数据,获取设备列表信息
    @RequestMapping("/getDeviceList")
    public ReturnDTO<Object> getDeviceList() {
        //获取token
        String accessToken = deviceService.getGasToken();
        if (StringUtils.isNotEmpty(accessToken)) {
            deviceService.getDeviceList();
        }
        return ReturnUtil.success(accessToken);
    }


    //获取事件订阅消息
    @PostMapping(value = "/getRqData")
    public ReturnDTO<Object> getRqData(@QueryParam("hxcloudmsg") String hxcloudmsg, @RequestBody(required = false) EventDTO eventDTO) {

        try {
            if (null != eventDTO) {
                log.info("*****************收到订阅消息:" + eventDTO.toString());
                deviceService.saveAlarm(eventDTO);
            }
        } catch (Exception e) {
//        if (eventDTO == null){
//            throw new RuntimeException("post请求体body不能为空!");
            e.printStackTrace();
        }
        return ReturnUtil.success();
    }

}