Pārlūkot izejas kodu

添加上传用户手机信息接口

tanghongbin 5 gadi atpakaļ
vecāks
revīzija
eb703a1365
2 mainītis faili ar 84 papildinājumiem un 3 dzēšanām
  1. 5 3
      Ansjer/urls.py
  2. 79 0
      Controller/UserBrandControllerV2.py

+ 5 - 3
Ansjer/urls.py

@@ -3,12 +3,13 @@ from django.urls import path, re_path
 
 from Controller import FeedBack, EquipmentOTA, EquipmentInfo, AdminManage, AppInfo, \
     AccessLog, DynamoDBLog, Test, MealManage, DeviceManage, EquipmentStatus, SysManage, DeviceLog, LogAccess, \
-    AppColophon, DateController,\
+    AppColophon, DateController, \
     EquipmentManager, LogManager, PermissionManager, OTAEquipment, shareUserPermission, UidSetController, \
     UserManger, CheckUserData, \
     UserController, CloudVod, OrderContrller, VodBucket, DetectController, DeviceShare, UserBrandController, \
-    StsOssController, UIDPreview, OssCrd, SysMsg, UidUser, EquipmentManagerV2,EquipmentManagerV3, PushDeploy, AppSetController,\
-    ApplicationController, UserExController, CloudStorage, TestApi
+    StsOssController, UIDPreview, OssCrd, SysMsg, UidUser, EquipmentManagerV2, EquipmentManagerV3, PushDeploy, \
+    AppSetController, \
+    ApplicationController, UserExController, CloudStorage, TestApi, UserBrandControllerV2
 
 urlpatterns = [
     url(r'^testApi/(?P<operation>.*)$', TestApi.testView.as_view()),
@@ -204,6 +205,7 @@ urlpatterns = [
 
     url(r'^equipment/flow_test$', EquipmentManager.uid_status_test),
     url(r'^account/appFrequency/(?P<operation>.*)$', UserController.UserAppFrequencyView.as_view()),
+    url(r'^v2/userbrand/(?P<operation>.*)$', UserBrandControllerV2.UserBrandV2.as_view()),
     # app 设备消息模板
     # 路由加参数参考
     # url(r'^(?P<path>.*)/(?P<UID>.*)/lls$', Test.Test.as_view(), name=u'gg'),

+ 79 - 0
Controller/UserBrandControllerV2.py

@@ -0,0 +1,79 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+from django.utils.decorators import method_decorator
+from django.views.decorators.csrf import csrf_exempt
+from django.views.generic.base import View
+
+from Model.models import User_Brand, Device_User
+from Object.ResponseObject import ResponseObject
+from Object.TokenObject import TokenObject
+
+
+class UserBrandV2(View):
+    @method_decorator(csrf_exempt)
+    def dispatch(self, *args, **kwargs):
+        return super(UserBrandV2, self).dispatch(*args, **kwargs)
+
+    def get(self, request, *args, **kwargs):
+        request.encoding = 'utf-8'
+        operation = kwargs.get('operation')
+        request_dict = request.GET
+        return self.validate(request_dict, operation)
+
+    def post(self, request, *args, **kwargs):
+        request.encoding = 'utf-8'
+        operation = kwargs.get('operation')
+        request_dict = request.POST
+        return self.validate(request_dict, operation)
+
+    def validate(self, request_dict, operation):
+        token = request_dict.get('token', None)
+
+        response = ResponseObject()
+        token = TokenObject(token)
+
+        if token.code != 0:
+            return response.json(token.code)
+
+        if operation == 'add':
+            return self.do_add(token.userID, request_dict, response)
+        elif operation == 'query':
+            return self.do_query(token.userID, request_dict, response)
+        else:
+            return response.json(404)
+
+    def do_add(self, userID, request_dict, response):
+        deviceSupplier = request_dict.get('deviceSupplier', None)
+        deviceModel = request_dict.get('deviceModel', None)
+        osType = request_dict.get('osType', None)
+        osVersion = request_dict.get('osVersion', None)
+
+        if userID and deviceSupplier and deviceModel:
+            ub_qs = User_Brand.objects.filter(userID=userID)
+            if ub_qs.exists():
+                return response.json(174)
+            else:
+                user = Device_User.objects.filter(userID=userID)
+                if not user.exists():
+                    return response.json(104)
+                data = {
+                    'userID': user[0],
+                    'deviceSupplier': deviceSupplier,
+                    'deviceModel': deviceModel
+                }
+                User_Brand.objects.create(**data)
+                return response.json(0)
+        else:
+            return response.json(444)
+
+    def do_query(self, userID, request_dict, response):
+
+        if not userID:
+            return response.json(444)
+        else:
+            ub_qs = User_Brand.objects.filter(userID=userID)
+            data = None
+            if ub_qs.exists():
+                data = ub_qs.values('id', 'deviceSupplier', 'deviceModel')[0]
+
+            return response.json(0, {'data': data})