设备认证bug处理

This commit is contained in:
kerwincui
2022-06-14 23:45:25 +08:00
parent e32153c222
commit 146d84dcab
3 changed files with 25 additions and 11 deletions

View File

@@ -555,6 +555,7 @@ public class DeviceServiceImpl implements IDeviceService {
* @return 结果 * @return 结果
*/ */
@Override @Override
@Transactional(rollbackFor = Exception.class)
public int insertDeviceAuto(String serialNumber,Long userId,Long productId) { public int insertDeviceAuto(String serialNumber,Long userId,Long productId) {
// 设备编号唯一检查 // 设备编号唯一检查
Device existDevice=deviceMapper.selectDeviceBySerialNumber(serialNumber); Device existDevice=deviceMapper.selectDeviceBySerialNumber(serialNumber);
@@ -569,27 +570,39 @@ public class DeviceServiceImpl implements IDeviceService {
SysUser user=userService.selectUserById(userId); SysUser user=userService.selectUserById(userId);
device.setUserId(userId); device.setUserId(userId);
device.setUserName(user.getUserName()); device.setUserName(user.getUserName());
device.setProductId(productId);
device.setFirmwareVersion(BigDecimal.valueOf(1.0)); device.setFirmwareVersion(BigDecimal.valueOf(1.0));
device.setStatus(1); // 设备状态1-未激活2-禁用3-在线4-离线) device.setStatus(3); // 设备状态1-未激活2-禁用3-在线4-离线)
device.setActiveTime(DateUtils.getNowDate()); device.setActiveTime(DateUtils.getNowDate());
device.setIsShadow(0); device.setIsShadow(0);
device.setRssi(0); device.setRssi(0);
device.setLocationWay(1); // 1-自动定位2-设备定位3-自定义位置 device.setLocationWay(1); // 1-自动定位2-设备定位3-自定义位置
device.setCreateTime(DateUtils.getNowDate()); device.setCreateTime(DateUtils.getNowDate());
device.setThingsModelValue(JSONObject.toJSONString(getThingsModelDefaultValue(device.getProductId()))); device.setThingsModelValue(JSONObject.toJSONString(getThingsModelDefaultValue(productId)));
// 随机位置 // 随机位置
device.setLongitude(BigDecimal.valueOf(116.23-(Math.random()*15))); device.setLongitude(BigDecimal.valueOf(116.23-(Math.random()*15)));
device.setLatitude(BigDecimal.valueOf(39.54-(Math.random()*15))); device.setLatitude(BigDecimal.valueOf(39.54-(Math.random()*15)));
device.setNetworkAddress("中国"); device.setNetworkAddress("中国");
// 产品相关 device.setNetworkIp("127.0.0.1");
// 设置租户
Product product=productService.selectProductByProductId(productId); Product product=productService.selectProductByProductId(productId);
device.setTenantId(userId); device.setTenantId(product.getTenantId());
device.setTenantName(user.getUserName()); device.setTenantName(product.getTenantName());
device.setImgUrl(product.getImgUrl()); device.setImgUrl(product.getImgUrl());
device.setProductId(product.getProductId()); device.setProductId(product.getProductId());
device.setProductName(product.getProductName()); device.setProductName(product.getProductName());
return deviceMapper.insertDevice(device); deviceMapper.insertDevice(device);
// 添加设备用户
DeviceUser deviceUser = new DeviceUser();
deviceUser.setUserId(userId);
deviceUser.setUserName(user.getUserName());
deviceUser.setPhonenumber(user.getPhonenumber());
deviceUser.setDeviceId(device.getDeviceId());
deviceUser.setDeviceName(device.getDeviceName());
deviceUser.setTenantId(product.getTenantId());
deviceUser.setTenantName(product.getTenantName());
deviceUser.setIsOwner(1);
return deviceUserMapper.insertDeviceUser(deviceUser);
} }
/** /**
@@ -742,7 +755,7 @@ public class DeviceServiceImpl implements IDeviceService {
deviceLog.setTenantId(device.getTenantId()); deviceLog.setTenantId(device.getTenantId());
deviceLog.setTenantName(device.getTenantName()); deviceLog.setTenantName(device.getTenantName());
deviceLog.setCreateTime(DateUtils.getNowDate()); deviceLog.setCreateTime(DateUtils.getNowDate());
// 1=影子模式2=在线模式3=其他 // 日志模式 1=影子模式2=在线模式3=其他
deviceLog.setMode(3); deviceLog.setMode(3);
if(device.getStatus()==3){ if(device.getStatus()==3){
deviceLog.setLogValue("1"); deviceLog.setLogValue("1");

View File

@@ -336,11 +336,12 @@ public class ToolServiceImpl implements IToolService
} }
} else { } else {
// 授权码未关联设备 // 授权码未关联设备
authorize.setSerialNumber(productModel.getSerialNumber()); authorize.setSerialNumber(mqttModel.getDeviceNumber());
authorize.setDeviceId(productModel.getDeviceId());
authorize.setUserId(mqttModel.getUserId()); authorize.setUserId(mqttModel.getUserId());
authorize.setUserName(""); authorize.setUserName("");
authorize.setUpdateTime(DateUtils.getNowDate()); authorize.setUpdateTime(DateUtils.getNowDate());
// 状态1-未使用2-使用中)
authorize.setStatus(2);
int result = productAuthorizeMapper.updateProductAuthorize(authorize); int result = productAuthorizeMapper.updateProductAuthorize(authorize);
if (result != 1) { if (result != 1) {
message = "设备认证,设备授权码关联失败"; message = "设备认证,设备授权码关联失败";

View File

@@ -112,7 +112,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</sql> </sql>
<sql id="selectWebhookDeviceVo"> <sql id="selectWebhookDeviceVo">
select device_id, device_name,product_id, serial_number, status,is_shadow ,location_way,things_model_value, active_time from iot_device select device_id, device_name,product_id, serial_number,user_id, user_name, tenant_id, tenant_name, status,is_shadow ,location_way,things_model_value, active_time from iot_device
</sql> </sql>
<select id="selectDeviceList" parameterType="com.ruoyi.iot.domain.Device" resultMap="DeviceResult"> <select id="selectDeviceList" parameterType="com.ruoyi.iot.domain.Device" resultMap="DeviceResult">