user_online.py 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. # -*- coding: utf-8 -*-
  2. # @Author : YY
  3. from ruoyi_common.base.model import AjaxResponse, TableResponse
  4. from ruoyi_common.domain.enum import BusinessType
  5. from ruoyi_common.descriptor.serializer import JsonSerializer
  6. from ruoyi_common.descriptor.validator import QueryValidator, PathValidator
  7. from ruoyi_system.service.sys_user_online import SysUserOnlineService
  8. from ruoyi_system.domain.entity import SysUserOnline
  9. from ruoyi_framework.descriptor.log import Log
  10. from ruoyi_framework.descriptor.permission import HasPerm, PreAuthorize
  11. from ... import reg
  12. @reg.api.route('/monitor/online/list',methods=['GET'])
  13. @QueryValidator()
  14. @PreAuthorize(HasPerm("monitor:online:list"))
  15. @JsonSerializer()
  16. def monitor_online_list(dto:SysUserOnline):
  17. '''
  18. 获取在线用户列表
  19. '''
  20. rows = SysUserOnlineService.select_online_list(dto)
  21. return TableResponse(rows=rows)
  22. @reg.api.route('/monitor/online/<string:id>',methods=['DELETE'])
  23. @PathValidator()
  24. @PreAuthorize(HasPerm("monitor:online:forceLogout"))
  25. @Log(title = "在线用户", business_type = BusinessType.FORCE)
  26. @JsonSerializer()
  27. def monitor_online_logout(id:str):
  28. '''
  29. 强制退出登录
  30. '''
  31. SysUserOnlineService.force_logout(id)
  32. return AjaxResponse.from_success()