locky před 4 roky
rodič
revize
14a5748145
2 změnil soubory, kde provedl 77 přidání a 5 odebrání
  1. 72 1
      AdminController/UserManageController.py
  2. 5 4
      Ansjer/urls.py

+ 72 - 1
AdminController/UserLoginController.py → AdminController/UserManageController.py

@@ -269,4 +269,75 @@ class GetList(TemplateView):
                     )
                     self.menulist(menu_qs,menulist['children'])
 
-        return list
+        return list
+
+
+class UserManagement(View):
+    def get(self, request, *args, **kwargs):
+        request.encoding = 'utf-8'
+        operation = kwargs.get('operation')
+        return self.validation(request.GET, request, operation)
+
+    def post(self, request, *args, **kwargs):
+        request.encoding = 'utf-8'
+        operation = kwargs.get('operation')
+        return self.validation(request.POST, request, operation)
+
+    def validation(self, request_dict, request, operation):
+        language = request_dict.get('language', 'en')
+        response = ResponseObject(language, 'pc')
+        if operation == '??':
+            return 0
+        else:
+            tko = TokenObject(request.META.get('HTTP_AUTHORIZATION'), returntpye='pc')
+            if tko.code != 0:
+                return response.json(tko.code)
+            response.lang = tko.lang
+            userID = tko.userID
+            if operation == 'getUserInfo':
+                return self.getUserInfo(userID, request_dict, response)
+            if operation == 'doEdit':
+                return self.doEdit(userID, request_dict, response)
+            if operation == 'doDelete':
+                return self.doDelete(userID, request_dict, response)
+            else:
+                return response.json(404)
+
+    def getUserInfo(self, userID, request_dict, response):
+        print('request_dict: ', request_dict)
+        pageNo = request_dict.get('pageNo', None)
+        pageSize = request_dict.get('pageSize', None)
+
+        if not all([pageNo, pageSize]):
+            return response.json(444)
+
+        page = int(pageNo)
+        line = int(pageSize)
+
+        try:
+            device_user_qs = Device_User.objects.filter().all()  # values('username', 'role', 'phone', 'NickName', 'userEmail', 'data_joined', 'last_login', 'online')
+            count = device_user_qs.count()
+            device_users = device_user_qs[(page - 1) * line:page * line]
+            user_list = []
+            for device_user in device_users:
+                role = device_user.role.first()
+                rid = role.rid if role else 1   # 不存在角色默认分配为'用户'
+                user_list.append({
+                    'userID': device_user.userID,
+                    'username': device_user.username,
+                    'NickName': device_user.NickName,
+                    'role': Role.objects.get(rid=rid).roleName,
+                    'phone': device_user.phone,
+                    'userEmail': device_user.userEmail,
+                    'data_joined': device_user.data_joined.strftime("%Y-%m-%d %H:%M:%S"),
+                    'last_login': device_user.last_login.strftime("%Y-%m-%d %H:%M:%S"),
+                    'online': device_user.online,
+                })
+            print('user_list: ', user_list)
+            return response.json(0, {'list': user_list, 'count': count})
+        except Exception as e:
+            print(e)
+            return response.json(500, repr(e))
+
+
+

+ 5 - 4
Ansjer/urls.py

@@ -19,7 +19,7 @@ from Controller import FeedBack, EquipmentOTA, EquipmentInfo, AdminManage, AppIn
     OrderTaskController, HistoryUIDController, UIDManageUserController, SerialNumberController, CompanyController, \
     RegionController, VPGController, LanguageController, TestController, DeviceConfirmRegion, S3GetStsController, \
     DetectControllerV2, ShadowController, TestDetectController, PcInfo, PctestController, DeviceDebug
-from AdminController import UserLoginController, RoleController, MenuController
+from AdminController import UserManageController, RoleController, MenuController
 
 urlpatterns = [
     url(r'^testApi/(?P<operation>.*)$', TestApi.testView.as_view()),
@@ -336,9 +336,10 @@ urlpatterns = [
 
     #后台界面接口 -----------------------------------------------------
     #用户登录信息等
-    url(r'^login$', UserLoginController.LoginView.as_view()),
-    url(r'^userInfo$', UserLoginController.GetPermissions.as_view()),
-    url(r'^router/getList$', UserLoginController.GetList.as_view()),
+    url(r'^login$', UserManageController.LoginView.as_view()),
+    url(r'^userInfo$', UserManageController.GetPermissions.as_view()),
+    url(r'^router/getList$', UserManageController.GetList.as_view()),
+    re_path('userManagement/(?P<operation>.*)', UserManageController.UserManagement.as_view()),
 
     #角色管理
     re_path('roleManagement/(?P<operation>.*)', RoleController.RoleView.as_view()),