|
@@ -17,6 +17,8 @@ import com.ruoyi.device.mqtt.handler.decoder.json.IJsonCmdHandler;
|
|
|
import com.ruoyi.device.mqtt.vo.CommonHeader;
|
|
import com.ruoyi.device.mqtt.vo.CommonHeader;
|
|
|
import com.ruoyi.device.mqtt.vo.CommonTopic;
|
|
import com.ruoyi.device.mqtt.vo.CommonTopic;
|
|
|
import com.ruoyi.device.service.ITsbUserDeviceService;
|
|
import com.ruoyi.device.service.ITsbUserDeviceService;
|
|
|
|
|
+import com.ruoyi.device.mqtt.handler.DeviceOnlineManager;
|
|
|
|
|
+import com.ruoyi.device.mqtt.vo.DeviceOnlineInfo;
|
|
|
import com.ruoyi.framework.web.service.SysPermissionService;
|
|
import com.ruoyi.framework.web.service.SysPermissionService;
|
|
|
import com.ruoyi.system.service.ISysUserService;
|
|
import com.ruoyi.system.service.ISysUserService;
|
|
|
import jakarta.annotation.Resource;
|
|
import jakarta.annotation.Resource;
|
|
@@ -43,6 +45,8 @@ public class DeviceLoginService implements IJsonCmdHandler
|
|
|
private ISysUserService userService;
|
|
private ISysUserService userService;
|
|
|
@Resource
|
|
@Resource
|
|
|
private SysPermissionService permissionService;
|
|
private SysPermissionService permissionService;
|
|
|
|
|
+ @Resource
|
|
|
|
|
+ private DeviceOnlineManager deviceOnlineManager;
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
public BaseJsonBody handle(CommonTopic topic, CommonHeader header, String bodyJson, CmdTypeEnum cmd)
|
|
public BaseJsonBody handle(CommonTopic topic, CommonHeader header, String bodyJson, CmdTypeEnum cmd)
|
|
@@ -116,6 +120,22 @@ public class DeviceLoginService implements IJsonCmdHandler
|
|
|
}
|
|
}
|
|
|
Set<String> permissions = permissionService.getMenuPermission(user);
|
|
Set<String> permissions = permissionService.getMenuPermission(user);
|
|
|
response.setPermissions(permissions);
|
|
response.setPermissions(permissions);
|
|
|
|
|
+
|
|
|
|
|
+ // 4、设备 MQTT 登录成功,注册 deviceSn 在线映射
|
|
|
|
|
+ DeviceOnlineInfo onlineInfo = new DeviceOnlineInfo();
|
|
|
|
|
+ onlineInfo.setUserId(user.getUserId());
|
|
|
|
|
+ onlineInfo.setUserName(user.getUserName());
|
|
|
|
|
+ onlineInfo.setPhoneNumber(user.getPhonenumber());
|
|
|
|
|
+ onlineInfo.setNickName(user.getNickName());
|
|
|
|
|
+ onlineInfo.setRoleName(response.getRoleName());
|
|
|
|
|
+ onlineInfo.setPermissions(response.getPermissions());
|
|
|
|
|
+ onlineInfo.setDeviceId(bindResult.getDeviceId());
|
|
|
|
|
+ onlineInfo.setDeviceSn(request.getDeviceSn());
|
|
|
|
|
+ onlineInfo.setDeviceType(request.getDeviceType());
|
|
|
|
|
+ onlineInfo.setImei(request.getImei());
|
|
|
|
|
+ onlineInfo.setBindTime(bindResult.getBindTime());
|
|
|
|
|
+ deviceOnlineManager.register(onlineInfo);
|
|
|
|
|
+
|
|
|
return response;
|
|
return response;
|
|
|
}
|
|
}
|
|
|
|
|
|