From d37ea253722849fbd23a5f617d9204af9246d38d Mon Sep 17 00:00:00 2001 From: wuyw <373811525@qq.com> Date: Sun, 18 Aug 2024 00:06:26 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=AE=89=E9=98=B2=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E5=AE=89=E9=98=B2=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/UploadedPhotosController.java | 6 +++-- .../impl/UploadedPhotosServiceImpl.java | 23 ++++++++++++++++--- .../iot/model/anfang/UploadedPhotos.java | 4 +++- .../mapper/iot/UploadedPhotosMapper.xml | 6 +++++ 4 files changed, 33 insertions(+), 6 deletions(-) diff --git a/fastbee-open-api/src/main/java/com/fastbee/data/controller/anfang/controller/UploadedPhotosController.java b/fastbee-open-api/src/main/java/com/fastbee/data/controller/anfang/controller/UploadedPhotosController.java index 7ca3ca7..c8ab1c0 100644 --- a/fastbee-open-api/src/main/java/com/fastbee/data/controller/anfang/controller/UploadedPhotosController.java +++ b/fastbee-open-api/src/main/java/com/fastbee/data/controller/anfang/controller/UploadedPhotosController.java @@ -87,6 +87,7 @@ public class UploadedPhotosController extends BaseController { @RequestParam("cpuTemp") Double cpuTemp, @RequestParam("eventType") String eventType, @RequestParam("doorState") String doorState, + @RequestParam("anFangStatus") String anFangStatus, @RequestParam("time") String time) { if (photo.isEmpty()) { @@ -111,7 +112,7 @@ public class UploadedPhotosController extends BaseController { //推送告警短信通知 uploadedPhotosService.sendAlarmMessage(sn, doorState, shakeState,eventType); UploadedPhotos uploadedPhotos = new UploadedPhotos( - null, fileName, monitorPath, imei, sn, latitude, longitude, temperature, doorState, shakeState,cpuTemp,eventType, date + null, fileName, monitorPath, imei, sn, latitude, longitude, temperature, doorState, shakeState,cpuTemp,eventType,anFangStatus, date ); return toAjax(uploadedPhotosService.insertUploadedPhotos(uploadedPhotos)); } catch (IOException e) { @@ -142,6 +143,7 @@ public class UploadedPhotosController extends BaseController { @RequestParam("doorState") String doorState, @RequestParam("cpuTemp") Double cpuTemp, @RequestParam("eventType") String eventType, + @RequestParam("anFangStatus") String anFangStatus, @RequestParam("time") String time) { // 处理可能为空的字段 Double latitude = isEmpty(lat) ? 0.0 : Double.valueOf(lat); @@ -156,7 +158,7 @@ public class UploadedPhotosController extends BaseController { //推送告警短信通知 uploadedPhotosService.sendAlarmMessage(sn, doorState, shakeState,eventType); UploadedPhotos uploadedPhotos = new UploadedPhotos( - null, "", monitorPath, imei, sn, latitude, longitude, temperature, doorState, shakeState,cpuTemp,eventType, date + null, "", monitorPath, imei, sn, latitude, longitude, temperature, doorState, shakeState,cpuTemp,eventType,anFangStatus, date ); return toAjax(uploadedPhotosService.insertUploadedPhotos(uploadedPhotos)); } diff --git a/fastbee-open-api/src/main/java/com/fastbee/data/controller/anfang/service/impl/UploadedPhotosServiceImpl.java b/fastbee-open-api/src/main/java/com/fastbee/data/controller/anfang/service/impl/UploadedPhotosServiceImpl.java index 13ec8b8..ccf7dac 100644 --- a/fastbee-open-api/src/main/java/com/fastbee/data/controller/anfang/service/impl/UploadedPhotosServiceImpl.java +++ b/fastbee-open-api/src/main/java/com/fastbee/data/controller/anfang/service/impl/UploadedPhotosServiceImpl.java @@ -244,6 +244,12 @@ public class UploadedPhotosServiceImpl implements IUploadedPhotosService { } else if (Integer.parseInt(eventType) == 3) { temp.put("warnInfo", "箱门持续打开"); notify = true; + }else if(Integer.parseInt(eventType) == 4){ + temp.put("warnInfo", "开启布放"); + notify = true; + }else if(Integer.parseInt(eventType) == 5){ + temp.put("warnInfo", "撤防"); + notify = true; } if (notify) { DeviceAlertUser deviceAlertUser = new DeviceAlertUser(); @@ -278,14 +284,25 @@ public class UploadedPhotosServiceImpl implements IUploadedPhotosService { } int doorState = 0; int shakeState = 0; + int anFangStatus = 0; int eventType = doorAlertBto.getEventType(); if (doorAlertBto.getEventType() > 0) { - if (doorAlertBto.getEventType() == 1) { + if (eventType == 1) { shakeState = doorAlertBto.getEventType(); doorState = 0; - } else if (doorAlertBto.getEventType() >= 2) { + anFangStatus = 1; + } else if (eventType == 2 || eventType == 3) { doorState = 1; shakeState = 0; + anFangStatus = 1; + }else if(eventType == 4 ){ + anFangStatus = 1; + doorState = 0; + shakeState = 0; + }else if(eventType == 5){ + anFangStatus = 0; + doorState = 0; + shakeState = 0; } sendAlarmMessage(device.getSerialNumber(), doorState + "", shakeState + "", eventType + ""); } @@ -295,7 +312,7 @@ public class UploadedPhotosServiceImpl implements IUploadedPhotosService { null, "", monitorPath, "", device.getSerialNumber(), device.getLatitude() != null ? device.getLatitude().doubleValue() : 0d, device.getLongitude() != null ? device.getLatitude().doubleValue() : 0d, - 18.23d, doorState + "", shakeState + "", 32.3, doorAlertBto.getEventType().toString(), new Date() + 18.23d, doorState + "", shakeState + "", 32.3, doorAlertBto.getEventType().toString(),anFangStatus + "", new Date() ); int count = insertUploadedPhotos(uploadedPhotos); if (count > 0) { diff --git a/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/model/anfang/UploadedPhotos.java b/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/model/anfang/UploadedPhotos.java index 8e4e42c..54e497e 100644 --- a/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/model/anfang/UploadedPhotos.java +++ b/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/model/anfang/UploadedPhotos.java @@ -61,9 +61,11 @@ public class UploadedPhotos extends BaseEntity /** CPU温度 */ @Excel(name = "CPU温度") private Double cpuTemp; - /** 事件类型:1=振动,2=箱门打开,3=人员入侵 */ + /** 事件类型:1=振动,2=箱门打开,3=箱门持续打开 */ @Excel(name = "事件类型") private String eventType; + @Excel(name = "安防状态:1=布防, 0=撤防") + private String anFangStatus; /** 上传时间 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") diff --git a/fastbee-service/fastbee-iot-service/src/main/resources/mapper/iot/UploadedPhotosMapper.xml b/fastbee-service/fastbee-iot-service/src/main/resources/mapper/iot/UploadedPhotosMapper.xml index 0a02eb2..01b2120 100644 --- a/fastbee-service/fastbee-iot-service/src/main/resources/mapper/iot/UploadedPhotosMapper.xml +++ b/fastbee-service/fastbee-iot-service/src/main/resources/mapper/iot/UploadedPhotosMapper.xml @@ -18,6 +18,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + @@ -38,6 +39,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and event_type = #{eventType} and cpu_temp = #{cpuTemp} and shake_state = #{shakeState} + and an_fang_status = #{anFangStatus} and upload_time between #{params.beginUploadTime} and #{params.endUploadTime} order by id desc @@ -63,6 +65,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" upload_time, event_type, cpu_temp, + an_fang_status, #{photoPath}, @@ -77,6 +80,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{uploadTime}, #{eventType}, #{cpuTemp}, + #{anFangStatus}, @@ -95,6 +99,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" upload_time = #{uploadTime}, event_type = #{eventType}, cpu_temp = #{cpuTemp}, + an_fang_status = #{anFangStatus}, where id = #{id} @@ -114,6 +119,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" upload_time = #{uploadTime}, event_type = #{eventType}, cpu_temp = #{cpuTemp}, + an_fang_status = #{anFangStatus}, where sn = #{sn} and upload_time = #{uploadTime} From 0386d7d270ec0236dd81f02279947617bf74ac96 Mon Sep 17 00:00:00 2001 From: wuyw <373811525@qq.com> Date: Sun, 18 Aug 2024 23:30:15 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E8=AE=BE=E5=A4=87=E5=9F=BA=E7=A1=80?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E4=B8=AD=E5=A2=9E=E5=8A=A0=E8=AE=BE=E5=A4=87?= =?UTF-8?q?=E8=AF=A6=E7=BB=86=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/model/vo/iot/DeviceDetailVo.java | 30 +++++++ .../data/controller/DeviceController.java | 5 +- .../controller/UploadedPhotosController.java | 3 +- .../devicedetail/IDeviceDetailService.java | 3 +- .../impl/DeviceDetailServiceImpl.java | 88 +++++++++++++++++++ .../java/com/fastbee/iot/domain/Device.java | 5 +- .../fastbee/iot/service/IDeviceService.java | 3 + .../iot/service/impl/DeviceServiceImpl.java | 10 ++- .../java/com/fastbee/iot/timer/QxtrTask.java | 8 +- 9 files changed, 145 insertions(+), 10 deletions(-) create mode 100644 fastbee-common/src/main/java/com/fastbee/common/model/vo/iot/DeviceDetailVo.java diff --git a/fastbee-common/src/main/java/com/fastbee/common/model/vo/iot/DeviceDetailVo.java b/fastbee-common/src/main/java/com/fastbee/common/model/vo/iot/DeviceDetailVo.java new file mode 100644 index 0000000..2a4050d --- /dev/null +++ b/fastbee-common/src/main/java/com/fastbee/common/model/vo/iot/DeviceDetailVo.java @@ -0,0 +1,30 @@ +package com.fastbee.common.model.vo.iot; + +import lombok.Data; + +/** + * 设备详细信息 + */ +@Data +public class DeviceDetailVo { + //运行状态 + private String runState; + //最后更新时间 + private String lastDataTime; + //总累计用电量(kwh) + private String sumEle; + //总累计用水量(m³) + private String sumFlow; + //供电类型 + private String gongDianType; + //环境温度 + private String temp; + //电池电量 + private String powerDianliang; + //电池电压 + private String powerVolt; + //电池电流 + private String powerCur; + +} + diff --git a/fastbee-open-api/src/main/java/com/fastbee/data/controller/DeviceController.java b/fastbee-open-api/src/main/java/com/fastbee/data/controller/DeviceController.java index 65f9eba..343d0f7 100644 --- a/fastbee-open-api/src/main/java/com/fastbee/data/controller/DeviceController.java +++ b/fastbee-open-api/src/main/java/com/fastbee/data/controller/DeviceController.java @@ -13,6 +13,7 @@ import com.fastbee.common.exception.ServiceException; import com.fastbee.common.utils.SecurityUtils; import com.fastbee.common.utils.StringUtils; import com.fastbee.common.utils.poi.ExcelUtil; +import com.fastbee.data.service.devicedetail.IDeviceDetailService; import com.fastbee.iot.domain.Device; import com.fastbee.iot.domain.JiankongDeviceParam; import com.fastbee.iot.model.DeviceAssignmentVO; @@ -52,7 +53,8 @@ import java.util.stream.Collectors; public class DeviceController extends BaseController { @Autowired private IDeviceService deviceService; - + @Autowired + private IDeviceDetailService deviceDetailService; // @Lazy @Autowired private IMqttMessagePublish messagePublish; @@ -165,6 +167,7 @@ public class DeviceController extends BaseController { @ApiOperation("获取设备详情") public AjaxResult getInfo(@PathVariable("deviceId") Long deviceId) { Device device = deviceService.selectDeviceByDeviceId(deviceId); + device.setDeviceDetailVo(deviceDetailService.getDetailInfo(device)); // 判断当前用户是否有设备分享权限 (设备所属机构管理员和设备所属用户有权限) // LoginUser loginUser = getLoginUser(); // List roles = loginUser.getUser().getRoles(); diff --git a/fastbee-open-api/src/main/java/com/fastbee/data/controller/anfang/controller/UploadedPhotosController.java b/fastbee-open-api/src/main/java/com/fastbee/data/controller/anfang/controller/UploadedPhotosController.java index c8ab1c0..f26da0c 100644 --- a/fastbee-open-api/src/main/java/com/fastbee/data/controller/anfang/controller/UploadedPhotosController.java +++ b/fastbee-open-api/src/main/java/com/fastbee/data/controller/anfang/controller/UploadedPhotosController.java @@ -112,7 +112,8 @@ public class UploadedPhotosController extends BaseController { //推送告警短信通知 uploadedPhotosService.sendAlarmMessage(sn, doorState, shakeState,eventType); UploadedPhotos uploadedPhotos = new UploadedPhotos( - null, fileName, monitorPath, imei, sn, latitude, longitude, temperature, doorState, shakeState,cpuTemp,eventType,anFangStatus, date + null, fileName, monitorPath, imei, sn, latitude, longitude, + temperature, doorState, shakeState,cpuTemp,eventType,anFangStatus, date ); return toAjax(uploadedPhotosService.insertUploadedPhotos(uploadedPhotos)); } catch (IOException e) { diff --git a/fastbee-open-api/src/main/java/com/fastbee/data/service/devicedetail/IDeviceDetailService.java b/fastbee-open-api/src/main/java/com/fastbee/data/service/devicedetail/IDeviceDetailService.java index 3417db0..cd73228 100644 --- a/fastbee-open-api/src/main/java/com/fastbee/data/service/devicedetail/IDeviceDetailService.java +++ b/fastbee-open-api/src/main/java/com/fastbee/data/service/devicedetail/IDeviceDetailService.java @@ -1,6 +1,7 @@ package com.fastbee.data.service.devicedetail; import com.fastbee.common.core.domain.CommonResult; +import com.fastbee.common.model.vo.iot.DeviceDetailVo; import com.fastbee.common.model.vo.iot.QueryLogVo; import com.fastbee.data.domain.vo.AnfangInfoVo; import com.fastbee.iot.domain.Device; @@ -43,5 +44,5 @@ public interface IDeviceDetailService { */ List> gongdianRealData(QueryLogVo queryLogVo); List> yongshuiRealData(QueryLogVo queryLogVo); - + DeviceDetailVo getDetailInfo(Device device); } diff --git a/fastbee-open-api/src/main/java/com/fastbee/data/service/devicedetail/impl/DeviceDetailServiceImpl.java b/fastbee-open-api/src/main/java/com/fastbee/data/service/devicedetail/impl/DeviceDetailServiceImpl.java index d55885e..51d300a 100644 --- a/fastbee-open-api/src/main/java/com/fastbee/data/service/devicedetail/impl/DeviceDetailServiceImpl.java +++ b/fastbee-open-api/src/main/java/com/fastbee/data/service/devicedetail/impl/DeviceDetailServiceImpl.java @@ -5,7 +5,10 @@ import cn.hutool.core.date.DateUtil; import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSONObject; import com.fastbee.common.core.domain.CommonResult; +import com.fastbee.common.core.page.TableDataInfo; +import com.fastbee.common.model.vo.iot.DeviceDetailVo; import com.fastbee.common.model.vo.iot.QueryLogVo; +import com.fastbee.common.utils.DateUtils; import com.fastbee.common.utils.DevParamsUtils; import com.fastbee.common.utils.StringUtils; import com.fastbee.data.domain.vo.AnfangInfoVo; @@ -27,6 +30,7 @@ import com.fastbee.iot.service.IThingsModelService; import com.fastbee.waterele.domain.MaWatereleRecord; import com.fastbee.waterele.domain.dto.MaGuangaiRecordDto; import com.fastbee.waterele.domain.dto.MaWatereleRecordDto; +import com.fastbee.waterele.service.IMaWatereleRecordService; import com.fastbee.xunjian.domain.XjInspectionRecords; import com.fastbee.xunjian.domain.XjInspectionRoutes; import com.fastbee.xunjian.mapper.XjInspectionRecordsMapper; @@ -34,6 +38,7 @@ import com.fastbee.xunjian.mapper.XjInspectionRoutesMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.util.*; import java.util.stream.Collectors; @@ -58,6 +63,8 @@ public class DeviceDetailServiceImpl implements IDeviceDetailService { @Autowired private IDeviceLogService logService; + @Resource + private IMaWatereleRecordService watereleRecordService; public DeviceDetailServiceImpl(DeviceMapper deviceMapper) { this.deviceMapper = deviceMapper; @@ -403,5 +410,86 @@ public class DeviceDetailServiceImpl implements IDeviceDetailService { return haiWeiService.cmdDevices(cmdHaiWeiDto); } + /** + * 获取设备详细信息 + * @param device + */ + @Override + public DeviceDetailVo getDetailInfo(Device device) { + DeviceDetailVo deviceDetailVo = new DeviceDetailVo(); + //运行状态,最后一次更新时间 + MaWatereleRecord watereleRecord = new MaWatereleRecord(); + watereleRecord.setDevSn(device.getSerialNumber()); + TableDataInfo tableDataInfo = watereleRecordService.selectMaWatereleRecordList(watereleRecord); + List rows = (List) tableDataInfo.getRows(); + //运行状态 + deviceDetailVo.setRunState("未运行"); + //累计用电量 + deviceDetailVo.setSumEle("--kwh"); + //最近一次上传时间 + deviceDetailVo.setLastDataTime(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, + new Date())); + if(rows.size()> 0){ + MaWatereleRecord item = rows.get(0); + deviceDetailVo.setLastDataTime(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, + item.getCreateTime())); + if(item.getWorkstate() == 0){ + deviceDetailVo.setRunState("未运行"); + }else { + deviceDetailVo.setRunState("运行中"); + } + deviceDetailVo.setSumEle(item.getSumele()+"kwh"); + } + Map devParams = DevParamsUtils.getDevParams(device.getDevParams()); + //累计水量 + deviceDetailVo.setSumFlow("--m³"); + if(devParams.containsKey("liuliangIds")){ + String liuliangIds = devParams.get("liuliangIds").toString(); + //获取 + CommonResult cache = haiWeiService.getCache(Long.valueOf(liuliangIds)); + HaiWeiDeviceInfoVo checkedData = cache.getCheckedData(); + List propertyList = checkedData.getPropertyList(); + for (HaiWeiPropertyVo haiWeiPropertyVo : propertyList) { + if (haiWeiPropertyVo.getNameEn().equals("三菱FX2N_1_sumFlow")) { + deviceDetailVo.setSumFlow(haiWeiPropertyVo.getValue()+"m³"); + } + } + } + //供电信息 + //环境温度 + deviceDetailVo.setTemp("--℃"); + //供电方式 + deviceDetailVo.setGongDianType("市电"); + //电池电量 + deviceDetailVo.setPowerDianliang("--%"); + //电池电压 + deviceDetailVo.setPowerVolt("--V"); + //电池电流 + deviceDetailVo.setPowerCur("--A"); + if(devParams.containsKey("taiyangnIds")){ + String taiyangIds = devParams.get("taiyangnIds").toString(); + //获取 + CommonResult cache = haiWeiService.getCache(Long.valueOf(taiyangIds)); + HaiWeiDeviceInfoVo checkedData = cache.getCheckedData(); + List propertyList = checkedData.getPropertyList(); + for (HaiWeiPropertyVo haiWeiPropertyVo : propertyList) { + if (haiWeiPropertyVo.getNameEn().equals("三菱FX2N_1_市电状态")) { + if(Float.parseFloat(haiWeiPropertyVo.getValue().toString()) == 0){ + deviceDetailVo.setGongDianType("太阳能"); + } + }else if(haiWeiPropertyVo.getNameEn().equals("三菱FX2N_1_bat")){ + deviceDetailVo.setPowerDianliang(haiWeiPropertyVo.getValueAndUnit()); + }else if(haiWeiPropertyVo.getNameEn().equals("三菱FX2N_1_batVolt")){ + deviceDetailVo.setPowerVolt(haiWeiPropertyVo.getValueAndUnit()); + }else if(haiWeiPropertyVo.getNameEn().equals("三菱FX2N_1_batCur")){ + deviceDetailVo.setPowerCur(haiWeiPropertyVo.getValueAndUnit()); + }else if(haiWeiPropertyVo.getNameEn().equals("三菱FX2N_1_airTemp")){ + deviceDetailVo.setTemp(haiWeiPropertyVo.getValueAndUnit()); + } + } + } + return deviceDetailVo; + } + } diff --git a/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/domain/Device.java b/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/domain/Device.java index 66cc962..200e497 100644 --- a/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/domain/Device.java +++ b/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/domain/Device.java @@ -1,5 +1,6 @@ package com.fastbee.iot.domain; +import com.fastbee.common.model.vo.iot.DeviceDetailVo; import com.fasterxml.jackson.annotation.JsonFormat; import com.fastbee.common.annotation.Excel; import com.fastbee.common.core.domain.BaseEntity; @@ -165,7 +166,9 @@ public class Device extends BaseEntity @Transient @ApiModelProperty("机构id") private Long deptId; - + //设备详情 + @ApiModelProperty("详情") + private DeviceDetailVo deviceDetailVo; @Transient @ApiModelProperty("是否显示下级") private Boolean showChild; diff --git a/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/service/IDeviceService.java b/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/service/IDeviceService.java index 13efba3..00e4f4d 100644 --- a/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/service/IDeviceService.java +++ b/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/service/IDeviceService.java @@ -4,6 +4,7 @@ import com.fastbee.common.core.device.DeviceAndProtocol; import com.fastbee.common.core.domain.AjaxResult; import com.fastbee.common.core.thingsModel.ThingsModelSimpleItem; import com.fastbee.common.enums.DeviceStatus; +import com.fastbee.common.model.vo.iot.DeviceDetailVo; import com.fastbee.iot.domain.Device; import com.fastbee.iot.domain.DeviceGroup; import com.fastbee.iot.domain.JiankongDeviceParam; @@ -336,4 +337,6 @@ public interface IDeviceService ArrayList getDeviceLogAllCurves(Long deviceId, String beginTime, String endTime); Map getvideourl(JiankongDeviceParam jiankongDeviceParam); + + } diff --git a/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/service/impl/DeviceServiceImpl.java b/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/service/impl/DeviceServiceImpl.java index 458bd2e..a17fa9b 100644 --- a/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/service/impl/DeviceServiceImpl.java +++ b/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/service/impl/DeviceServiceImpl.java @@ -7,6 +7,7 @@ import com.fastbee.common.constant.Constants; import com.fastbee.common.constant.ProductAuthConstant; import com.fastbee.common.core.device.DeviceAndProtocol; import com.fastbee.common.core.domain.AjaxResult; +import com.fastbee.common.core.domain.CommonResult; import com.fastbee.common.core.domain.entity.SysDept; import com.fastbee.common.core.domain.entity.SysUser; import com.fastbee.common.core.domain.model.LoginUser; @@ -17,6 +18,7 @@ import com.fastbee.common.core.thingsModel.ThingsModelSimpleItem; import com.fastbee.common.core.thingsModel.ThingsModelValuesInput; import com.fastbee.common.enums.*; import com.fastbee.common.exception.ServiceException; +import com.fastbee.common.model.vo.iot.DeviceDetailVo; import com.fastbee.common.utils.*; import com.fastbee.common.utils.http.HttpUtils; import com.fastbee.common.utils.ip.IpUtils; @@ -24,6 +26,7 @@ import com.fastbee.common.utils.json.JsonUtils; import com.fastbee.iot.cache.ITSLCache; import com.fastbee.iot.domain.*; import com.fastbee.iot.haikang.HaikangYingshiApi; +import com.fastbee.iot.haiwei.service.HaiWeiService; import com.fastbee.iot.mapper.*; import com.fastbee.iot.model.*; import com.fastbee.iot.model.ThingsModelItem.Datatype; @@ -32,6 +35,8 @@ import com.fastbee.iot.domain.ThingsModel; import com.fastbee.iot.model.ThingsModels.*; import com.fastbee.iot.model.dto.ThingsModelDTO; import com.fastbee.iot.model.gateWay.SubDeviceListVO; +import com.fastbee.iot.model.haiwei.HaiWeiDeviceInfoVo; +import com.fastbee.iot.model.haiwei.HaiWeiPropertyVo; import com.fastbee.iot.service.*; import com.fastbee.iot.cache.IDeviceCache; import com.fastbee.iot.cache.ITSLValueCache; @@ -40,6 +45,7 @@ import com.fastbee.system.mapper.SysDeptMapper; import com.fastbee.system.service.ISysUserService; import com.fastbee.waterele.domain.MaWatereleRecord; import com.fastbee.waterele.service.IMaWatereleRecordService; +import com.fastbee.waterele.service.impl.MaWatereleRecordServiceImpl; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.BeanUtils; @@ -124,9 +130,6 @@ public class DeviceServiceImpl implements IDeviceService { private SubGatewayMapper subGatewayMapper; @Resource private IOrderControlService orderControlService; - @Resource - private IMaWatereleRecordService watereleRecordService; - /** * 查询设备 * @@ -1755,4 +1758,5 @@ public class DeviceServiceImpl implements IDeviceService { + } diff --git a/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/timer/QxtrTask.java b/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/timer/QxtrTask.java index ab9b907..f3e98bf 100644 --- a/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/timer/QxtrTask.java +++ b/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/timer/QxtrTask.java @@ -122,8 +122,9 @@ public class QxtrTask { com.alibaba.fastjson2.JSONObject thingsModelObject = com.alibaba.fastjson2.JSONObject.parseObject(itslCache.getCacheThingsModelByProductId(productId)); com.alibaba.fastjson2.JSONArray thingsList = thingsModelObject.getJSONArray("properties"); - List properties = thingsList.toList(PropertyDto.class); - Map> stringListMap = properties.stream().collect(Collectors.groupingBy(PropertyDto::getGroup)); + List properties = thingsList.toList(PropertyDto.class); + Map> stringListMap = + properties.stream().collect(Collectors.groupingBy(PropertyDto::getGroup)); for (Device device : devices) { try { Map devParams = getDevParams(device); @@ -141,7 +142,8 @@ public class QxtrTask { tags[i] = propertyDtos.get(i).getId(); } haiWeiBo.setTags(tags); - HttpResultDTO duhttpResultDTO = HttpAPIController.doPostWithJsonParamAndHeaders(url, JsonUtils.toJsonString(haiWeiBo), + HttpResultDTO duhttpResultDTO = + HttpAPIController.doPostWithJsonParamAndHeaders(url, JsonUtils.toJsonString(haiWeiBo), new HashMap<>()); if (null != duhttpResultDTO && duhttpResultDTO.getCode() == 200) { Object object = com.alibaba.fastjson.JSON.parse(duhttpResultDTO.getBody()); //先转换成Object