diff --git a/src/main/java/com/casic/controller/DeviceController.java b/src/main/java/com/casic/controller/DeviceController.java index 88dbd34..a442768 100644 --- a/src/main/java/com/casic/controller/DeviceController.java +++ b/src/main/java/com/casic/controller/DeviceController.java @@ -31,16 +31,6 @@ this.deviceService = deviceService; } - @RequestMapping("/helloWord") - public ResponseData helloWord() { - return deviceService.testMysql(); - } - - @PostMapping("/household/gas") - public ResponseData saveDataGas(@RequestBody Map receiveData) { - log.info("----------------------第三方燃气数据上报为{}", JSONObject.toJSONString(receiveData)); - return deviceService.saveDataGas(receiveData); - } @RequestMapping("/getToken") public ReturnDTO getToken(@RequestParam String code) { diff --git a/src/main/java/com/casic/controller/DeviceController.java b/src/main/java/com/casic/controller/DeviceController.java index 88dbd34..a442768 100644 --- a/src/main/java/com/casic/controller/DeviceController.java +++ b/src/main/java/com/casic/controller/DeviceController.java @@ -31,16 +31,6 @@ this.deviceService = deviceService; } - @RequestMapping("/helloWord") - public ResponseData helloWord() { - return deviceService.testMysql(); - } - - @PostMapping("/household/gas") - public ResponseData saveDataGas(@RequestBody Map receiveData) { - log.info("----------------------第三方燃气数据上报为{}", JSONObject.toJSONString(receiveData)); - return deviceService.saveDataGas(receiveData); - } @RequestMapping("/getToken") public ReturnDTO getToken(@RequestParam String code) { diff --git a/src/main/java/com/casic/service/DeviceService.java b/src/main/java/com/casic/service/DeviceService.java index 635533e..7d2ca37 100644 --- a/src/main/java/com/casic/service/DeviceService.java +++ b/src/main/java/com/casic/service/DeviceService.java @@ -4,22 +4,11 @@ import com.casic.entity.AlarmRecord; import com.casic.entity.ButaneData; import com.casic.entity.Device; -import com.casic.model.ResponseData; -import java.util.List; import java.util.Map; public interface DeviceService { - ResponseData testMysql(); - - /** - * 设备数据上报 - * - * @param receiveData - * @return - */ - ResponseData saveDataGas(Map receiveData); Page getDevices(String phone,String devCode, String shop,int pageNo, int pageSize); diff --git a/src/main/java/com/casic/controller/DeviceController.java b/src/main/java/com/casic/controller/DeviceController.java index 88dbd34..a442768 100644 --- a/src/main/java/com/casic/controller/DeviceController.java +++ b/src/main/java/com/casic/controller/DeviceController.java @@ -31,16 +31,6 @@ this.deviceService = deviceService; } - @RequestMapping("/helloWord") - public ResponseData helloWord() { - return deviceService.testMysql(); - } - - @PostMapping("/household/gas") - public ResponseData saveDataGas(@RequestBody Map receiveData) { - log.info("----------------------第三方燃气数据上报为{}", JSONObject.toJSONString(receiveData)); - return deviceService.saveDataGas(receiveData); - } @RequestMapping("/getToken") public ReturnDTO getToken(@RequestParam String code) { diff --git a/src/main/java/com/casic/service/DeviceService.java b/src/main/java/com/casic/service/DeviceService.java index 635533e..7d2ca37 100644 --- a/src/main/java/com/casic/service/DeviceService.java +++ b/src/main/java/com/casic/service/DeviceService.java @@ -4,22 +4,11 @@ import com.casic.entity.AlarmRecord; import com.casic.entity.ButaneData; import com.casic.entity.Device; -import com.casic.model.ResponseData; -import java.util.List; import java.util.Map; public interface DeviceService { - ResponseData testMysql(); - - /** - * 设备数据上报 - * - * @param receiveData - * @return - */ - ResponseData saveDataGas(Map receiveData); Page getDevices(String phone,String devCode, String shop,int pageNo, int pageSize); diff --git a/src/main/java/com/casic/service/impl/DeviceServiceImpl.java b/src/main/java/com/casic/service/impl/DeviceServiceImpl.java index 72092f0..df1bde4 100644 --- a/src/main/java/com/casic/service/impl/DeviceServiceImpl.java +++ b/src/main/java/com/casic/service/impl/DeviceServiceImpl.java @@ -1,6 +1,5 @@ package com.casic.service.impl; -import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.dao.AlarmDeviceMapper; @@ -9,8 +8,6 @@ import com.casic.entity.AlarmRecord; import com.casic.entity.ButaneData; import com.casic.entity.Device; -import com.casic.model.ResponseData; -import com.casic.service.AlarmRecordFly; import com.casic.service.DeviceService; import com.casic.util.DateUtils; import com.casic.util.SendUtil; @@ -19,12 +16,13 @@ import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import org.springframework.util.ObjectUtils; import xyz.downgoon.snowflake.Snowflake; import java.text.ParseException; -import java.util.*; -import java.util.function.Supplier; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import java.util.stream.Collectors; @Slf4j @@ -159,142 +157,6 @@ return dataPage; } - @Override - public ResponseData testMysql() { - - ResponseData responseData = new ResponseData(); - responseData.setMessage("保存成功"); - responseData.setCode(1); - return responseData; - } - - /** - * 处理上线/下线 - * 数据上报 - */ - @Override - public ResponseData saveDataGas(Map receiveData) { - ResponseData responseData = new ResponseData(); - try { - Map payloadData = receiveData; - if (receiveData.containsKey("payload")) { - payloadData = (Map) receiveData.get("payload"); - } - this.flagSelectProcessor("gas_sensor_state", payloadData, () -> gasStatusUpdate(receiveData)) - .flagSelectProcessor("heartbeat_time", payloadData, () -> dealNormalData(receiveData)); - responseData.setCode(200); - responseData.setMessage("保存成功"); - } catch (Exception dex) { - log.error("主题:燃气设备存储异常,异常信息:{}", dex.getMessage()); - responseData.setCode(500); - responseData.setMessage("保存异常"); - } - return responseData; - } - - - private DeviceServiceImpl flagSelectProcessor(String flagField, Map contentMap, Supplier cse) { - if (contentMap.containsKey(flagField)) { - cse.get(); - } - return this; - } - - /** - * 设备心跳数据保存 - * - * @param receiveData - * @return - */ - private Boolean gasStatusUpdate(Map receiveData) { - AlarmRecord alarmRecord = AlarmRecordFly.getAlarmRecord(); - Map payloadData = (Map) receiveData.get("payload"); - //判断事件类型 0正常 1低报 2高报 - String alarmSituation = payloadData.get("gas_sensor_state").toString(); - String devcode = receiveData.get("IMEI").toString(); - //构建数据 - ButaneData butaneData = ButaneData.builder() - .devcode(devcode) - .id(snowflake.nextId()) - .build(); - populateTime(receiveData, butaneData, alarmRecord); - switch (alarmSituation) { - case "0": -// butaneData.setDescn("状态正常"); -// butaneData.setStatus("0"); - break; - default: - //第一条上来,消除报警 - clearAlarmData(devcode); - //产生新的报警,消除报警 - butaneData.setDescn("可燃气体探测器报警"); - butaneData.setStatus("1"); - synchronized (alarmRecord) { - alarmRecord.setDbid(null); - alarmRecord.setDeviceCode(devcode); - alarmRecord.setDeviceId(alarmRecordsMapper.getDevcode(devcode)); - alarmRecordsMapper.insert(alarmRecord); - } - butaneDataMapper.insert(butaneData); - - try { - //推送短信至第三方 - Device device = alarmRecordsMapper.getDevice(devcode); - if (null == device) { - log.error("设备不存在,编号:" + devcode); - return false; - } - JSONObject eventObj = new JSONObject(); - eventObj.put("type", "燃气报警"); - sendUtil.sendEventBySms(device, eventObj); - } catch (Exception exception) { - exception.printStackTrace(); - } - } - return true; - } - - public Boolean dealNormalData(Map receiveData) { - String devcode = receiveData.get("IMEI").toString(); - //第一条上来,消除报警 -// clearAlarmData(devcode); - ButaneData butaneData = ButaneData.builder() - .devcode(devcode) - .id(snowflake.nextId()) - .descn("状态正常") - .status("0") - .build(); - if (!ObjectUtils.isEmpty(receiveData) && receiveData.containsKey("timestamp")) { - butaneData.setLogtime(new Date(Long.valueOf(receiveData.get("timestamp").toString()))); - } else { - butaneData.setLogtime(new Date()); - } - butaneDataMapper.insert(butaneData); - return false; - } - - private void populateTime(Map receiveData, ButaneData butaneData, AlarmRecord alarmRecord) { - if (!ObjectUtils.isEmpty(receiveData) && receiveData.containsKey("timestamp")) { - Date logtime = new Date(Long.valueOf(receiveData.get("timestamp").toString())); - butaneData.setLogtime(logtime); - alarmRecord.setRecorddate(logtime); - } else { - alarmRecord.setRecorddate(new Date()); - butaneData.setLogtime(new Date()); - } - } - - private void clearAlarmData(String devcode) { - QueryWrapper queryWrapper = new QueryWrapper(); - queryWrapper.eq("DEVICE_CODE", devcode); - try { - AlarmRecord alarmRecord = new AlarmRecord(); - alarmRecord.setActive(0); - alarmRecordsMapper.update(alarmRecord, queryWrapper); - } catch (Exception e) { - log.error("清除报警失败,设备编号为{},异常信息{}", devcode, e); - } - } @Override