From fb51c2a2056e60d9d54d6212dd9afc90cd594400 Mon Sep 17 00:00:00 2001 From: kerwincui <164770707@qq.com> Date: Thu, 4 Aug 2022 22:24:20 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E6=8A=A5=E8=AE=BE=E5=A4=87=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E5=8F=AF=E6=9B=B4=E6=96=B0=E8=AE=BE=E5=A4=87=E5=85=B3?= =?UTF-8?q?=E8=81=94=E7=9A=84=E7=94=A8=E6=88=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ruoyi/iot/domain/Product.java | 10 +++--- .../iot/service/impl/DeviceServiceImpl.java | 32 +++++++++++++++++-- 2 files changed, 35 insertions(+), 7 deletions(-) diff --git a/springboot/wumei-iot/src/main/java/com/ruoyi/iot/domain/Product.java b/springboot/wumei-iot/src/main/java/com/ruoyi/iot/domain/Product.java index 63e25362..7a319b5b 100644 --- a/springboot/wumei-iot/src/main/java/com/ruoyi/iot/domain/Product.java +++ b/springboot/wumei-iot/src/main/java/com/ruoyi/iot/domain/Product.java @@ -64,19 +64,19 @@ public class Product extends BaseEntity } /** 状态(1-未发布,2-已发布,不能修改) */ - @Excel(name = "状态", readConverterExp = "1=-未发布,2-已发布,不能修改") + @Excel(name = "状态", readConverterExp = "1==未发布,2=已发布,不能修改") private Integer status; /** 设备类型(1-直连设备、2-网关子设备、3-网关设备) */ - @Excel(name = "设备类型", readConverterExp = "1=-直连设备、2-网关子设备、3-网关设备") + @Excel(name = "设备类型", readConverterExp = "1=直连设备、2=网关子设备、3=网关设备") private Integer deviceType; - /** 联网方式(1-wifi、2-蓝牙、3-wifi+蓝牙) */ - @Excel(name = "联网方式", readConverterExp = "1=-wifi、2-蓝牙、3-wifi+蓝牙") + /** 联网方式(1=-wifi、2-蜂窝(2G/3G/4G/5G)、3-以太网、4-其他) */ + @Excel(name = "联网方式", readConverterExp = "1=-wifi、2=蜂窝(2G/3G/4G/5G)、3=以太网、4=其他") private Integer networkMethod; /** 认证方式(1-账号密码、2-证书、3-Http) */ - @Excel(name = "认证方式", readConverterExp = "1=-账号密码、2-证书、3-Http") + @Excel(name = "认证方式", readConverterExp = "1=账号密码、2=证书、3=Http") private Integer vertificateMethod; /** 图片地址 */ diff --git a/springboot/wumei-iot/src/main/java/com/ruoyi/iot/service/impl/DeviceServiceImpl.java b/springboot/wumei-iot/src/main/java/com/ruoyi/iot/service/impl/DeviceServiceImpl.java index 574ca886..c815cd5e 100644 --- a/springboot/wumei-iot/src/main/java/com/ruoyi/iot/service/impl/DeviceServiceImpl.java +++ b/springboot/wumei-iot/src/main/java/com/ruoyi/iot/service/impl/DeviceServiceImpl.java @@ -574,7 +574,7 @@ public class DeviceServiceImpl implements IDeviceService { return AjaxResult.error("用户已经拥有设备:" + existDevice.getDeviceName() + ", 设备编号:" + existDevice.getSerialNumber()); } // 先删除设备的所有用户 - deviceUserMapper.deleteDeviceUserByDeviceId(new UserIdDeviceIdModel(null,existDevice.getDeviceId())); + deviceUserMapper.deleteDeviceUserByDeviceId(new UserIdDeviceIdModel(null, existDevice.getDeviceId())); // 添加新的设备用户 DeviceUser deviceUser = new DeviceUser(); deviceUser.setUserId(sysUser.getUserId()); @@ -902,6 +902,7 @@ public class DeviceServiceImpl implements IDeviceService { * @return 结果 */ @Override + @Transactional(rollbackFor = Exception.class) public int reportDevice(Device device, Device deviceEntity) { // 未采用设备定位则清空定位,定位方式(1=ip自动定位,2=设备定位,3=自定义) if (deviceEntity.getLocationWay() != 2) { @@ -910,11 +911,38 @@ public class DeviceServiceImpl implements IDeviceService { } int result = 0; if (deviceEntity != null) { - // 更新设备信息 + // 联网方式为Wifi的需要更新用户信息(1=wifi、2=蜂窝(2G/3G/4G/5G)、3=以太网、4=其他) + Product product = productService.selectProductByProductId(deviceEntity.getProductId()); + if (product.getNetworkMethod() == 1) { + if (deviceEntity.getUserId().longValue() != device.getUserId().longValue()) { + // 先删除设备的所有用户 + deviceUserMapper.deleteDeviceUserByDeviceId(new UserIdDeviceIdModel(null, deviceEntity.getDeviceId())); + // 添加新的设备用户 + SysUser sysUser = userService.selectUserById(device.getUserId()); + DeviceUser deviceUser = new DeviceUser(); + deviceUser.setUserId(sysUser.getUserId()); + deviceUser.setUserName(sysUser.getUserName()); + deviceUser.setPhonenumber(sysUser.getPhonenumber()); + deviceUser.setDeviceId(deviceEntity.getDeviceId()); + deviceUser.setDeviceName(deviceEntity.getDeviceName()); + deviceUser.setTenantId(deviceEntity.getTenantId()); + deviceUser.setTenantName(deviceEntity.getTenantName()); + deviceUser.setIsOwner(1); + deviceUser.setCreateTime(DateUtils.getNowDate()); + deviceUserMapper.insertDeviceUser(deviceUser); + // 更新设备用户信息 + device.setUserId(device.getUserId()); + device.setUserName(sysUser.getUserName()); + } + }else{ + // 其他联网设备不更新用户信息 + device.setUserId(null); + } device.setUpdateTime(DateUtils.getNowDate()); if (deviceEntity.getActiveTime() == null || deviceEntity.getActiveTime().equals("")) { device.setActiveTime(DateUtils.getNowDate()); } + // 不更新物模型 device.setThingsModelValue(null); result = deviceMapper.updateDeviceBySerialNumber(device); }