diff --git a/fastbee-gateway/fastbee-mq/src/main/java/com/fastbee/mq/redischannel/consumer/DeviceOtherMsgConsumer.java b/fastbee-gateway/fastbee-mq/src/main/java/com/fastbee/mq/redischannel/consumer/DeviceOtherMsgConsumer.java index b75aca2..b3e40b3 100644 --- a/fastbee-gateway/fastbee-mq/src/main/java/com/fastbee/mq/redischannel/consumer/DeviceOtherMsgConsumer.java +++ b/fastbee-gateway/fastbee-mq/src/main/java/com/fastbee/mq/redischannel/consumer/DeviceOtherMsgConsumer.java @@ -15,6 +15,9 @@ import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Component; import javax.annotation.Resource; +import java.time.LocalDateTime; +import java.time.LocalTime; +import java.time.format.DateTimeFormatter; import java.util.HashMap; import java.util.Map; import java.util.concurrent.TimeUnit; @@ -46,7 +49,6 @@ public class DeviceOtherMsgConsumer { public void consume(DeviceReportBo bo){ try { //处理emq订阅的非 property/post 属性上报的消息 ,因为其他消息量小,放在一起处理 - Long productId;//产品id Long packetId;//包号 byte[] data = bo.getData();//数据 @@ -57,7 +59,7 @@ public class DeviceOtherMsgConsumer { //从主题中解析出设备序列号 String serialNumber= split[2];//设备序列号 - System.err.println("主题:"+topic+"--产品id:"+productId+"--设备序列号:"+serialNumber); + // System.err.println("主题:"+topic+"--产品id:"+productId+"--设备序列号:"+serialNumber); //设备上报数据消息--------------------------------------------------------------------------------- if(topic.endsWith("/info/up")){ deviceDataReportHandler(new String(data)); @@ -65,6 +67,7 @@ public class DeviceOtherMsgConsumer { NgWaterPumpUsageRecords pumpUsageRecords=new NgWaterPumpUsageRecords(); pumpUsageRecords.setDeviceNumber(serialNumber); JSONObject jsonObject = JSONUtil.parseObj(data); + jsonObject.set("time", (LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")))); if(jsonObject.getStr("type")!=null){ if(jsonObject.getStr("type").equals("waterEleData")){ String data1 = jsonObject.getStr("data"); @@ -80,10 +83,10 @@ public class DeviceOtherMsgConsumer { } } //构建回复消息----------------------------------------------------------------------------- - Map reportMsg=new HashMap<>(); - reportMsg.put("code",0); - reportMsg.put("msg","ok"); - issueInstructionsProducer.receiveDataReportResponse(productId.toString(),serialNumber,JSONUtil.toJsonStr(reportMsg)); + // Map reportMsg=new HashMap<>(); + // reportMsg.put("code",0); + // reportMsg.put("msg","ok"); + // issueInstructionsProducer.receiveDataReportResponse(productId.toString(),serialNumber,JSONUtil.toJsonStr(reportMsg)); } //打印设备 else if ( topic.endsWith("/info/reply")) { @@ -98,7 +101,7 @@ public class DeviceOtherMsgConsumer { } otherMsgHandler.messageHandler(bo); }catch (Exception e){ - log.error("=>设备其他消息处理出错",e); + // log.error("=>设备其他消息处理出错",e); } } @@ -111,10 +114,10 @@ public class DeviceOtherMsgConsumer { //判断 if(Boolean.TRUE.equals(stringRedisTemplate.hasKey("neixiang_device_online_status:" + productId + ":" + serialNumber))){ //重新设置过期时间 - stringRedisTemplate.expire("neixiang_device_online_status:"+productId+":"+serialNumber,1200, TimeUnit.SECONDS); + stringRedisTemplate.expire("neixiang_device_online_status:"+productId+":"+serialNumber,360, TimeUnit.SECONDS); return; } - stringRedisTemplate.opsForValue().set("neixiang_device_online_status:"+productId+":"+serialNumber,"1",1200, TimeUnit.SECONDS); + stringRedisTemplate.opsForValue().set("neixiang_device_online_status:"+productId+":"+serialNumber,"1",360, TimeUnit.SECONDS); }catch (Exception e){ log.error("=>更新设备在线状态出错",e); } @@ -128,7 +131,7 @@ public class DeviceOtherMsgConsumer { * @param data 消息 */ private void deviceDataReportHandler(String data){ - System.err.println("mqtt接收到设备上报数据:"+ data); + // System.err.println("mqtt接收到设备上报数据:"+ data); //回应 // // //解析 @@ -175,17 +178,15 @@ public class DeviceOtherMsgConsumer { * 处理平台接收到数据上报的回应 */ private void platformDataReportAckHandler(String data){ - System.err.println("mqtt回应收到设备上报数据:"+ data); - + // System.err.println("mqtt回应收到设备上报数据:"+ data); //处理 - } /** * 处理平台给设备下发的指令 */ private void platformCmdHandler(String data){ - System.err.println("mqtt收到平台给设备下发命令:"+ data); + System.err.println("--------------------------------------------------------------mqtt-broker收到给设备下发命令:"+ data); // JSONObject obj = JSONUtil.parseObj(data); } @@ -193,7 +194,10 @@ public class DeviceOtherMsgConsumer { * 处理设备收到指令回应 */ private void deviceCmdAckHandler(String data){ - System.err.println("平台收到设备执行完指令的结果:"+ data); + System.err.println("----------------------------------------------------------------------平台收到设备执行完指令的结果:"+ data); } + public static void main(String[] args) { + System.err.println((LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")))); + } } diff --git a/fastbee-gateway/fastbee-mq/src/main/java/com/fastbee/mq/redischannel/consumer/DeviceStatusConsumer.java b/fastbee-gateway/fastbee-mq/src/main/java/com/fastbee/mq/redischannel/consumer/DeviceStatusConsumer.java index 6099694..e5ffa62 100644 --- a/fastbee-gateway/fastbee-mq/src/main/java/com/fastbee/mq/redischannel/consumer/DeviceStatusConsumer.java +++ b/fastbee-gateway/fastbee-mq/src/main/java/com/fastbee/mq/redischannel/consumer/DeviceStatusConsumer.java @@ -87,42 +87,42 @@ public class DeviceStatusConsumer { } private void handlerShadow(Device device,DeviceStatus status){ - //获取设备协议编码 - DeviceAndProtocol dp = deviceService.selectProtocolBySerialNumber(device.getSerialNumber()); - String protocolCode = dp.getProtocolCode(); - /* 设备上线 处理影子值*/ - if (status.equals(DeviceStatus.ONLINE) && device.getIsShadow() ==1){ - ThingsModelShadow shadow = deviceService.getDeviceShadowThingsModel(device); - List properties = shadow.getProperties(); - List functions = shadow.getFunctions(); - //JsonArray组合发送 - if (FastBeeConstant.PROTOCOL.JsonArray.equals(protocolCode)) { - if (!CollectionUtils.isEmpty(properties)) { - mqttMessagePublish.publishProperty(device.getProductId(), device.getSerialNumber(), properties, 3); - } - if (!CollectionUtils.isEmpty(functions)) { - mqttMessagePublish.publishFunction(device.getProductId(), device.getSerialNumber(), functions, 3); - } - } else { //其他协议单个发送 - functions.addAll(properties); - if (!CollectionUtils.isEmpty(functions)) { - for (ThingsModelSimpleItem function : functions) { - MQSendMessageBo bo = new MQSendMessageBo(); - bo.setDp(dp); - bo.setShadow(false); - bo.setIdentifier(function.getId()); - bo.setSerialNumber(device.getSerialNumber()); - JSONObject jsonObject = new JSONObject(); - jsonObject.put(function.getId(),function.getValue()); - bo.setParams(jsonObject); - bo.setValue(function.getValue()); - long id = snowflakeIdWorker.nextId(); - bo.setMessageId(id +""); - //发送到MQ处理 - MessageProducer.sendFunctionInvoke(bo); - } - } - } - } + // //获取设备协议编码 + // DeviceAndProtocol dp = deviceService.selectProtocolBySerialNumber(device.getSerialNumber()); + // String protocolCode = dp.getProtocolCode(); + // /* 设备上线 处理影子值*/ + // if (status.equals(DeviceStatus.ONLINE) && device.getIsShadow() ==1){ + // ThingsModelShadow shadow = deviceService.getDeviceShadowThingsModel(device); + // List properties = shadow.getProperties(); + // List functions = shadow.getFunctions(); + // //JsonArray组合发送 + // if (FastBeeConstant.PROTOCOL.JsonArray.equals(protocolCode)) { + // if (!CollectionUtils.isEmpty(properties)) { + // mqttMessagePublish.publishProperty(device.getProductId(), device.getSerialNumber(), properties, 3); + // } + // if (!CollectionUtils.isEmpty(functions)) { + // mqttMessagePublish.publishFunction(device.getProductId(), device.getSerialNumber(), functions, 3); + // } + // } else { //其他协议单个发送 + // functions.addAll(properties); + // if (!CollectionUtils.isEmpty(functions)) { + // for (ThingsModelSimpleItem function : functions) { + // MQSendMessageBo bo = new MQSendMessageBo(); + // bo.setDp(dp); + // bo.setShadow(false); + // bo.setIdentifier(function.getId()); + // bo.setSerialNumber(device.getSerialNumber()); + // JSONObject jsonObject = new JSONObject(); + // jsonObject.put(function.getId(),function.getValue()); + // bo.setParams(jsonObject); + // bo.setValue(function.getValue()); + // long id = snowflakeIdWorker.nextId(); + // bo.setMessageId(id +""); + // //发送到MQ处理 + // MessageProducer.sendFunctionInvoke(bo); + // } + // } + // } + // } } } diff --git a/fastbee-open-api/src/main/java/com/fastbee/data/controller/DeviceOperationController.java b/fastbee-open-api/src/main/java/com/fastbee/data/controller/DeviceOperationController.java index e81e9fb..5ebd29e 100644 --- a/fastbee-open-api/src/main/java/com/fastbee/data/controller/DeviceOperationController.java +++ b/fastbee-open-api/src/main/java/com/fastbee/data/controller/DeviceOperationController.java @@ -1,12 +1,15 @@ package com.fastbee.data.controller; +import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; import com.dtflys.forest.annotation.Post; import com.fastbee.common.core.domain.AjaxResult; import com.fastbee.iot.model.dto.DeviceOperationDTO; import com.fastbee.mqttclient.PubMqttCallBack; import com.fastbee.mqttclient.PubMqttClient; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.repository.query.Param; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -77,4 +80,23 @@ public class DeviceOperationController { return AjaxResult.success(); } + /*** + * 下发指令控制设备灵活版 + */ + @PostMapping("/control/flexible") + public AjaxResult controlFlexible(@Param("topic")String topic, @RequestBody JSONObject cmd){ + try { + if(StringUtils.isBlank(topic)){ + return AjaxResult.error("topic不能为空!"); + } + //构建主题 + // String topic ="hzlink/"+productId+"/"+deviceNumber+"/cmd/down"; + pubMqttClient.publish(1,true,topic, JSONUtil.toJsonStr(cmd)); + return AjaxResult.success(); + }catch (Exception e){ + return AjaxResult.error("下发指令失败!"); + } + + } + } diff --git a/fastbee-open-api/src/main/java/com/fastbee/data/controller/deviceActivation/DeviceActivationController.java b/fastbee-open-api/src/main/java/com/fastbee/data/controller/deviceActivation/DeviceActivationController.java index 84a701c..fca9065 100644 --- a/fastbee-open-api/src/main/java/com/fastbee/data/controller/deviceActivation/DeviceActivationController.java +++ b/fastbee-open-api/src/main/java/com/fastbee/data/controller/deviceActivation/DeviceActivationController.java @@ -17,16 +17,19 @@ public class DeviceActivationController extends BaseController { IDeviceActivationService deviceActivationService; @PutMapping("/activation") - @ApiOperation("项目激活测试接口") + @ApiOperation("上电设备激活接口") public AjaxResult getDevieceList(@RequestBody DeviceActivationDto deviceActivationDto) { + + System.err.println("-=-=-=-=-=-=-=-=-=-=-=-=-=激活设备名称"+deviceActivationDto.name); //获取tenantId和tenantName String[] idAndName=deviceActivationDto.tenantIdAndName.split(",",2); - Long tenantId= Long.valueOf(idAndName[0].replace(" ","")); String tenantName=idAndName[1].trim(); - - return AjaxResult.success(deviceActivationService.selectDevice(deviceActivationDto.serialNumber,tenantId,tenantName,deviceActivationDto.longitude,deviceActivationDto.latitude,deviceActivationDto.imgUrl)); + return AjaxResult.success(deviceActivationService.selectDevice(deviceActivationDto.serialNumber, + tenantId,tenantName,deviceActivationDto.longitude, + deviceActivationDto.latitude,deviceActivationDto.imgUrl, + deviceActivationDto.name)); } /*@GetMapping("/info/{userId}") diff --git a/fastbee-open-api/src/main/java/com/fastbee/data/controller/deviceActivation/DeviceActivationDto.java b/fastbee-open-api/src/main/java/com/fastbee/data/controller/deviceActivation/DeviceActivationDto.java index c712fcd..9edc964 100644 --- a/fastbee-open-api/src/main/java/com/fastbee/data/controller/deviceActivation/DeviceActivationDto.java +++ b/fastbee-open-api/src/main/java/com/fastbee/data/controller/deviceActivation/DeviceActivationDto.java @@ -1,9 +1,12 @@ package com.fastbee.data.controller.deviceActivation; +import lombok.Data; + public class DeviceActivationDto { public String serialNumber; public String tenantIdAndName; public double longitude; public double latitude; public String imgUrl; + public String name;//设备名称 } diff --git a/fastbee-open-api/src/main/java/com/fastbee/data/controller/sse/DeviceReportSSEController.java b/fastbee-open-api/src/main/java/com/fastbee/data/controller/sse/DeviceReportSSEController.java index 92763be..6e598e4 100644 --- a/fastbee-open-api/src/main/java/com/fastbee/data/controller/sse/DeviceReportSSEController.java +++ b/fastbee-open-api/src/main/java/com/fastbee/data/controller/sse/DeviceReportSSEController.java @@ -180,6 +180,7 @@ public class DeviceReportSSEController extends BaseController { } deviceReportInfo.setSerialNumber(genDeviceNumber); deviceReportInfo.setName(genDeviceNumber); + deviceReportInfo.setType(1); int inserted = deviceReportInfoMapper.insertDeviceReportInfo(deviceReportInfo); if(inserted==0){ return AjaxResultPro.success(1104,"设备上电审核信息插入失败!",null); @@ -195,6 +196,8 @@ public class DeviceReportSSEController extends BaseController { device.setStatus(1);//未激活 device.setCreateTime(deviceReportInfo.getPowersTime()); device.setTenantId(1L);//默认总管理员 + device.setLocationWay(3); + device.setIsShadow(0); int inserted1 = deviceMapper.insert(device); if(inserted1<1){ throw new ServiceException("插入设备信息失败!"); diff --git a/fastbee-open-api/src/main/java/com/fastbee/data/controller/userRecharge/zhanLian/ZhanLianFlowDeviceDataController.java b/fastbee-open-api/src/main/java/com/fastbee/data/controller/userRecharge/zhanLian/ZhanLianFlowDeviceDataController.java index 1373f89..34da7bb 100644 --- a/fastbee-open-api/src/main/java/com/fastbee/data/controller/userRecharge/zhanLian/ZhanLianFlowDeviceDataController.java +++ b/fastbee-open-api/src/main/java/com/fastbee/data/controller/userRecharge/zhanLian/ZhanLianFlowDeviceDataController.java @@ -105,4 +105,21 @@ public class ZhanLianFlowDeviceDataController { } + + @GetMapping("/zhanlian/realtimeData") + public AjaxResultPro getDeviceData(@Param("deviceNumber") String deviceNumber){ + try { + Map deviceRealTimeData = zhanLianBaseService.getDeviceRealTimeData(deviceNumber); + return AjaxResultPro.success(deviceRealTimeData); + } catch (Exception e) { + HashMap deviceData = new HashMap<>(); + deviceData.put("realTime", "2024-12-21 23:24:52"); + deviceData.put("sumFlow_l", "0"); + deviceData.put("sumFlow_F", "0"); + deviceData.put("deviceId", "3852"); + deviceData.put("inFlow", "0"); + deviceData.put("status", "2"); + return AjaxResultPro.success(deviceData); + } + } } diff --git a/fastbee-server/mqtt-broker/src/main/java/com/fastbee/mqtt/handler/MqttConnect.java b/fastbee-server/mqtt-broker/src/main/java/com/fastbee/mqtt/handler/MqttConnect.java index 6f78d3b..cc2bdb2 100644 --- a/fastbee-server/mqtt-broker/src/main/java/com/fastbee/mqtt/handler/MqttConnect.java +++ b/fastbee-server/mqtt-broker/src/main/java/com/fastbee/mqtt/handler/MqttConnect.java @@ -88,7 +88,7 @@ public class MqttConnect implements MqttHandler { /*保存ClientId 和 session 到Attribute*/ AttributeUtils.setClientId(channel, clientId); AttributeUtils.setSession(channel, session); - SessionManger.removeClient(clientId); + // SessionManger.removeClient(clientId); session.setConnected(true); /*新建连接,推送上线消息*/ diff --git a/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/domain/DeviceReportInfo.java b/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/domain/DeviceReportInfo.java index a5de595..d150007 100644 --- a/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/domain/DeviceReportInfo.java +++ b/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/domain/DeviceReportInfo.java @@ -145,6 +145,16 @@ public class DeviceReportInfo extends BaseEntity @ApiModelProperty("上电时间") private Date powersTime; + /** 经度 */ + @Excel(name = "经度") + @ApiModelProperty("经度") + private String longitude; + + /** 纬度 */ + @Excel(name = "纬度") + @ApiModelProperty("纬度") + private String latitude; + //----------------------------------------------------------业务字段----------------------------------------------------------- /** 是否自动审核 */ private Boolean autoReview ; @@ -156,4 +166,6 @@ public class DeviceReportInfo extends BaseEntity private Integer onLine;//0离线,1在线 + + } diff --git a/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/service/IDeviceActivationService.java b/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/service/IDeviceActivationService.java index 09aca0e..b41264a 100644 --- a/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/service/IDeviceActivationService.java +++ b/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/service/IDeviceActivationService.java @@ -7,6 +7,6 @@ import cn.hutool.core.date.DateTime; */ public interface IDeviceActivationService { - public int selectDevice(String serialNumber,Long tenantId,String tenantName,double longitude,double latitude,String imgUrl); + public int selectDevice(String serialNumber,Long tenantId,String tenantName,double longitude,double latitude,String imgUrl,String name); } diff --git a/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/service/impl/DeviceActivationServiceImpl.java b/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/service/impl/DeviceActivationServiceImpl.java index d6b801e..ed53217 100644 --- a/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/service/impl/DeviceActivationServiceImpl.java +++ b/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/service/impl/DeviceActivationServiceImpl.java @@ -1,7 +1,10 @@ package com.fastbee.iot.service.impl; import cn.hutool.core.date.DateTime; +import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper; +import com.fastbee.iot.domain.DeviceReportInfo; import com.fastbee.iot.mapper.DeviceMapper; +import com.fastbee.iot.mapper.DeviceReportInfoMapper; import com.fastbee.iot.service.IDeviceActivationService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -14,12 +17,21 @@ public class DeviceActivationServiceImpl implements IDeviceActivationService @Autowired private DeviceMapper deviceMapper; + @Autowired + private DeviceReportInfoMapper deviceReportInfoMapper; + @Override - public int selectDevice(String serialNumber,Long tenantId,String tenantName,double longitude,double latitude,String imgUrl) + public int selectDevice(String serialNumber,Long tenantId,String tenantName,double longitude,double latitude,String imgUrl,String name) { //获取激活时间/更新时间 DateTime activationTime=DateTime.now(); - + //更新设备名称 + boolean update = new LambdaUpdateChainWrapper<>(deviceReportInfoMapper) + .set(DeviceReportInfo::getName, name) + .set(DeviceReportInfo::getLatitude,latitude) + .set(DeviceReportInfo::getLongitude,longitude) + .eq(DeviceReportInfo::getSerialNumber, serialNumber) + .update(); return deviceMapper.updateDeviceActivationStatus(serialNumber,activationTime,tenantId,tenantName,longitude,latitude,imgUrl); } } diff --git a/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/service/impl/DeviceReportInfoServiceImpl.java b/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/service/impl/DeviceReportInfoServiceImpl.java index c659048..f1bff00 100644 --- a/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/service/impl/DeviceReportInfoServiceImpl.java +++ b/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/service/impl/DeviceReportInfoServiceImpl.java @@ -4,6 +4,7 @@ import java.time.LocalDate; import java.util.List; import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; +import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper; import com.fastbee.common.exception.ServiceException; import com.fastbee.iot.domain.Device; import com.fastbee.iot.mapper.DeviceMapper; @@ -54,13 +55,11 @@ public class DeviceReportInfoServiceImpl implements IDeviceReportInfoService List deviceReportInfos = deviceReportInfoMapper.selectDeviceReportInfoList(deviceReportInfo); //按照时间由近到远进行排序 deviceReportInfos.sort((o1, o2) -> o2.getPowersTime().compareTo(o1.getPowersTime())); - return deviceReportInfos; } /** * 新增设备上电审核前上报的基础信息 - * * @param deviceReportInfo 设备上电审核前上报的基础信息 * @return 结果 */ @@ -123,7 +122,6 @@ public class DeviceReportInfoServiceImpl implements IDeviceReportInfoService /** * 批量删除设备上电审核前上报的基础信息 - * * @param ids 需要删除的设备上电审核前上报的基础信息主键 * @return 结果 */ @@ -147,6 +145,7 @@ public class DeviceReportInfoServiceImpl implements IDeviceReportInfoService @Override public boolean updateDeviceReportStatus(List deviceReportInfo) { + new LambdaUpdateChainWrapper<>(deviceReportInfoMapper).set(DeviceReportInfo::getStatus, 1); return false; } 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 55b1772..7215270 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 @@ -910,17 +910,17 @@ public class DeviceServiceImpl implements IDeviceService { @Override @Transactional(rollbackFor = Exception.class) public int updateDeviceStatusAndLocation(Device device, String ipAddress) { - // 设置自动定位和状态 - if (ipAddress != null && !Objects.equals(ipAddress, "")) { - if (device.getActiveTime() == null) { - device.setActiveTime(DateUtils.getNowDate()); - } - // 定位方式(1=ip自动定位,2=设备定位,3=自定义) - if (device.getLocationWay() == 1) { - device.setNetworkIp(ipAddress); - setLocation(ipAddress, device); - } - } + // // 设置自动定位和状态 + // if (ipAddress != null && !Objects.equals(ipAddress, "")) { + // if (device.getActiveTime() == null) { + // device.setActiveTime(DateUtils.getNowDate()); + // } + // // 定位方式(1=ip自动定位,2=设备定位,3=自定义) + // if (device.getLocationWay() == 1) { + // device.setNetworkIp(ipAddress); + // setLocation(ipAddress, device); + // } + // } int result = deviceMapper.updateDeviceStatus(device); // 添加到设备日志 EventLog event = new EventLog(); diff --git a/fastbee-service/fastbee-iot-service/src/main/resources/mapper/iot/DeviceReportInfoMapper.xml b/fastbee-service/fastbee-iot-service/src/main/resources/mapper/iot/DeviceReportInfoMapper.xml index 1efc7d7..29e2ad1 100644 --- a/fastbee-service/fastbee-iot-service/src/main/resources/mapper/iot/DeviceReportInfoMapper.xml +++ b/fastbee-service/fastbee-iot-service/src/main/resources/mapper/iot/DeviceReportInfoMapper.xml @@ -30,10 +30,12 @@ + + - select id, imei, iccid, mcu_id, bsp_type, lte_type, mcu_type, mcu_fw, lte_fw, lcd_manufacturer, voice_manufacturer, fram_model, replace_manufacturer, test_record, batch_number, serial_number, qr_code, name, lcd_manufacturer_name, voice_manufacturer_name, replace_manufacturer_name, device_id, status, powers_time, type from iot_device_report_info + select id, imei, iccid, mcu_id, bsp_type, lte_type, mcu_type, mcu_fw, lte_fw, lcd_manufacturer, voice_manufacturer, fram_model, replace_manufacturer, test_record, batch_number, serial_number, qr_code, name, lcd_manufacturer_name, voice_manufacturer_name, replace_manufacturer_name, device_id, status, powers_time, type, longitude, latitude from iot_device_report_info @@ -98,6 +102,8 @@ status, powers_time, type, + longitude, + latitude, #{imei}, @@ -124,6 +130,8 @@ #{status}, #{powersTime}, #{type}, + #{longitude}, + #{latitude}, @@ -154,6 +162,8 @@ status = #{status}, powers_time = #{powersTime}, type = #{type}, + longitude = #{longitude}, + latitude = #{latitude}, where id = #{id}