|
@@ -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})
|