ModelService.py 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. from Model.models import *
  2. from Service.CommonService import CommonService
  3. # 针对模型封装的复用性代码
  4. class ModelService:
  5. # 获取当前用户角色名
  6. @staticmethod
  7. def getRole(rid):
  8. return Role.objects.get(rid=rid).roleName
  9. # 获取用户所有权限
  10. @staticmethod
  11. def own_permission(userID):
  12. permission = Device_User.objects.get(userID=userID).role.values_list('permission',flat=True)
  13. if permission:
  14. return list(permission)
  15. return []
  16. # 获取用户角色相关
  17. @staticmethod
  18. def own_role(userID):
  19. try:
  20. role_qs = Device_User.objects.get(userID=userID).role.values('rid','roleName')
  21. if role_qs.exists():
  22. return {'rid': role_qs[0]['rid'], 'roleName': role_qs[0]['roleName']}
  23. except Exception as e:
  24. pass
  25. return {'rid': '', 'roleName': ''}
  26. # 检测权限有无
  27. @staticmethod
  28. def check_permission(userID, permID):
  29. try:
  30. perm_list = Device_User.objects.get(userID=userID).role.values_list('permission', flat=True)
  31. if perm_list:
  32. if permID in perm_list:
  33. return True
  34. except Exception as e:
  35. return False
  36. return False
  37. # 根据设备主键ID判断是否拥有该设备
  38. @staticmethod
  39. def check_user_own_device(userID, deviceID):
  40. try:
  41. dvqs = Device_Info.objects.filter(userID_id=userID).values_list('id',flat=True)
  42. if dvqs:
  43. if deviceID in dvqs:
  44. return True
  45. except Exception as e:
  46. return False
  47. return False
  48. # 根据设设备唯一名称UID判断是否拥有该设备
  49. @staticmethod
  50. def check_own_device(userID, UID):
  51. dvqs = Device_Info.objects.filter(userID_id=userID, UID=UID)
  52. if dvqs.exists():
  53. return True
  54. return False
  55. # 根据userID获取用户名
  56. @staticmethod
  57. def get_user_name(userID):
  58. try:
  59. if userID:
  60. device_user = Device_User.objects.get(userID=userID)
  61. return device_user.username
  62. else:
  63. return ''
  64. except Exception as e:
  65. return ''
  66. # 根据username获取userID
  67. @staticmethod
  68. def get_userID_byname(username):
  69. try:
  70. device_user = Device_User.objects.get(username=username)
  71. except Exception as e:
  72. return None
  73. else:
  74. return device_user.userID
  75. # 访问日志添加
  76. @staticmethod
  77. def addAccessLog(data):
  78. try:
  79. access_log = Access_Log.objects.create(**data)
  80. except Exception as e:
  81. return False
  82. else:
  83. if access_log.id:
  84. return True
  85. else:
  86. return False
  87. # 判断设备账户信息是否正确
  88. @staticmethod
  89. def device_auth(UID, View_Account, View_Password, ChannelIndex):
  90. device_info_queryset = Device_Info.objects.filter(UID=UID, View_Account=View_Account,
  91. View_Password=View_Password, ChannelIndex=ChannelIndex)
  92. if device_info_queryset.exists():
  93. return True
  94. return False