chanjunkai пре 5 година
родитељ
комит
7c4f07acc2
2 измењених фајлова са 93 додато и 2 уклоњено
  1. 4 2
      Ansjer/urls.py
  2. 89 0
      Controller/UidUser.py

+ 4 - 2
Ansjer/urls.py

@@ -195,6 +195,8 @@ urlpatterns = [
     url(r'^v3/account/changePwd$', UserController.v3ChangePwdView.as_view()),
     url(r'^v3/account/resetPwdByCode$', UserController.v3resetPwdByCodeView.as_view()),
     url(r'^v3/account/register$', UserController.v3registerView.as_view()),
+    # ap模式,新增设备表
+    url(r'^v3/uiduser/add', UidUser.v3addInterface),
     # 判断节假日接口
     url(r'^date/(?P<operation>.*)$', DateController.DateConView.as_view()),
 
@@ -203,7 +205,7 @@ urlpatterns = [
     # url(r'^(?P<path>.*)/(?P<UID>.*)/lls$', Test.Test.as_view(), name=u'gg'),
     #testing....................
     re_path('(?P<path>.*)', LogManager.errorPath),
-    #8
-    #测试测试
+
+
 
 ]

+ 89 - 0
Controller/UidUser.py

@@ -28,6 +28,7 @@ from Object.TokenObject import TokenObject
 from Service.CommonService import CommonService
 from Service.ModelService import ModelService
 from Object.RedisObject import RedisObject
+import base64
 '''
 http://192.168.136.40:8077/uiduser/add?token=local&UID=z123asdfqwerzxcvqw12&NickName=xxoxox&View_Account=user&View_Password=password&ChannelIndex=8&is_ap=1&Type=5&NickName=1234zcxv
 http://192.168.136.40:8077/uiduser/query?token=local&page=1&line=10&is_ap=1&NickName=1234zcxv&uid=zxcvasdfqwerzxcvqwer
@@ -362,3 +363,91 @@ class UidUserView(View):
         else:
             return response.json(404)
 
+
+# v3添加设备字段
+def v3addInterface(request):
+    request.encoding = 'utf-8'
+    response = ResponseObject()
+    if request.method == 'POST':
+        request_dict = request.POST
+    elif request.method == 'GET':
+        request_dict = request.GET
+    else:
+        return response.json(444)
+    token = request_dict.get('token', None)
+    UID = request_dict.get('UID', None)
+    NickName = request_dict.get('NickName', None)
+    View_Account = request_dict.get('View_Account', None)
+    View_Password = request_dict.get('View_Password', '')
+    Type = request_dict.get('Type', None)
+    ChannelIndex = request_dict.get('ChannelIndex', None)
+    is_ap = request_dict.get('is_ap', None)
+    try:
+        for i in range(1, 4):
+            if i == 1:
+                View_Password = base64.b64decode(View_Password)
+                View_Password = View_Password.decode('utf-8')
+                View_Password = View_Password[1:-1]
+            if i == 2:
+                View_Password = base64.b64decode(View_Password)
+                View_Password = View_Password.decode('utf-8')
+                View_Password = View_Password[2:-2]
+            if i == 3:
+                View_Password = base64.b64decode(View_Password)
+                View_Password = View_Password.decode('utf-8')
+                View_Password = View_Password[3:-3]
+        print(View_Password)
+    except Exception as e:
+        return response.json(111)
+    if all([UID, NickName, View_Account, Type, ChannelIndex]):
+        tko = TokenObject(token)
+        response.lang = tko.lang
+        if tko.code == 0:
+            userID = tko.userID
+            re_uid = re.compile(r'^[A-Za-z0-9]{20}$')
+            if re_uid.match(UID):
+                is_ap = int(is_ap)
+                is_exist = UidUserModel.objects.filter(UID=UID, userID_id=userID, is_ap=is_ap)
+                if is_exist:
+                    return response.json(174)
+                else:
+                    try:
+                        pk = CommonService.getUserID(getUser=False)
+                        create_data = {
+                            'id': pk, 'userID_id': userID, 'UID': UID,
+                            'NickName': NickName, 'View_Account': View_Account,
+                            'View_Password': View_Password, 'Type': Type, 'ChannelIndex': ChannelIndex
+                        }
+                        UidUserModel.objects.create(**create_data)
+                        # 判断影子信息
+                        nowTime = int(time.time())
+                        us_qs = UidSetModel.objects.filter(uid=UID)
+                        if not us_qs.exists():
+                            uid_set_create_dict = {
+                                'uid': UID,
+                                'addTime': nowTime,
+                                'updTime': nowTime,
+                                'ip': CommonService.get_ip_address(request),
+                                'channel': ChannelIndex,
+                                'nickname': NickName}
+                            UidSetModel.objects.create(**uid_set_create_dict)
+                    except Exception as e:
+                        return response.json(10, repr(e))
+                    else:
+                        uid_user_qs = UidUserModel.objects.filter(id=pk). \
+                            values('id', 'userID', 'NickName', 'UID', 'View_Account', 'View_Password',
+                                   'ChannelIndex', 'Type', 'isShare', 'primaryUserID', 'primaryMaster',
+                                   'data_joined', 'version', 'isVod', 'isExist','is_ap')
+                        uid_user_ql = CommonService.qs_to_list(uid_user_qs)
+                        ubqs = UID_Bucket.objects.filter(uid=UID). \
+                            values('bucket__content', 'status', 'channel', 'endTime', 'uid')
+                        res = uid_user_ql[0]
+                        res['vod'] = list(ubqs)
+                        return response.json(0, res)
+            else:
+                return response.json(444, {'param': 'UID'})
+        else:
+            return response.json(tko.code)
+    else:
+        return response.json(444, {'param': 'UID,NickName,View_Account,View_Password,Type,ChannelIndex'})
+