|
@@ -3,7 +3,8 @@ import time
|
|
|
import traceback
|
|
|
|
|
|
import simplejson as json
|
|
|
-from Model.models import Device_Info, UID_Bucket
|
|
|
+from Model.models import Device_User,Device_Info, UID_Bucket
|
|
|
+from django.db.models import Q
|
|
|
from Object.ResponseObject import ResponseObject
|
|
|
from Object.TokenObject import TokenObject
|
|
|
from Service.CommonService import CommonService
|
|
@@ -342,7 +343,85 @@ def addInterface(request):
|
|
|
else:
|
|
|
return response.json(444, {'param': 'UID,NickName,View_Account,View_Password,Type,ChannelIndex'})
|
|
|
|
|
|
+# 管理员添加
|
|
|
+def admin_addInterface(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)
|
|
|
+ deviceContent = request_dict.get('content', None)
|
|
|
+ username = request_dict.get('username', None)
|
|
|
+ if not username:
|
|
|
+ return response.json(444, 'username')
|
|
|
+ if not deviceContent:
|
|
|
+ return response.json(444, 'content')
|
|
|
+ tko = TokenObject(token)
|
|
|
+ response.lang = tko.lang
|
|
|
+ if tko.code != 0:
|
|
|
+ return response.json(tko.code)
|
|
|
+ userID = tko.userID
|
|
|
+ own_perm = ModelService.check_perm(userID, 40)
|
|
|
+ # 权限判断
|
|
|
+ if own_perm is not True:
|
|
|
+ return response.json(404)
|
|
|
+ # 查询id
|
|
|
+ user = Device_User.objects.filter(Q(username=username) | Q(phone=username) | Q(userEmail=username))
|
|
|
+
|
|
|
+ if user.exists():
|
|
|
+ user_dict = CommonService.qs_to_dict(user)
|
|
|
+ userID = user_dict.get('datas')[0].get('pk')
|
|
|
+ else:
|
|
|
+ return response.json(104)
|
|
|
+ try:
|
|
|
+ deviceData = json.loads(deviceContent)
|
|
|
+ UID = deviceData.get('UID', None)
|
|
|
+ if not UID:
|
|
|
+ return response.json(444, 'content')
|
|
|
+ dValid = Device_Info.objects.filter(userID_id=userID, UID=UID)
|
|
|
+ if dValid:
|
|
|
+ return response.json(174)
|
|
|
+ else:
|
|
|
+ UID = deviceData.get('UID', '')
|
|
|
+ re_uid = re.compile(r'^[A-Za-z0-9]{20}$')
|
|
|
+ if re_uid.match(UID):
|
|
|
+ userDevice = Device_Info(id=CommonService.getUserID(getUser=False), userID_id=userID,
|
|
|
+ **deviceData)
|
|
|
+ userDevice.save()
|
|
|
+
|
|
|
+ # is_bind = Device_Info.objects.filter(UID=UID, isShare=False)
|
|
|
+ # # 判断是否有已绑定用户
|
|
|
+ # if not is_bind.exists():
|
|
|
+ # userDevice = Device_Info(id=CommonService.getUserID(getUser=False), userID_id=userID,
|
|
|
+ # **deviceData)
|
|
|
+ # userDevice.save()
|
|
|
+ # else:
|
|
|
+ # # 分享添加
|
|
|
+ # if 'isShare' in deviceData:
|
|
|
+ # deviceData['isShare'] = True
|
|
|
+ # else:
|
|
|
+ # deviceData['isShare'] = True
|
|
|
+ # bind_userID = is_bind[0].userID_id
|
|
|
+ # userDevice = Device_Info(id=CommonService.getUserID(getUser=False),
|
|
|
+ # userID_id=userID,
|
|
|
+ # primaryUserID=bind_userID,
|
|
|
+ # primaryMaster=ModelService.get_user_name(bind_userID),
|
|
|
+ # **deviceData)
|
|
|
+ # userDevice.save()
|
|
|
+ else:
|
|
|
+ return response.json(444, 'UID')
|
|
|
|
|
|
+ except Exception as e:
|
|
|
+ errorInfo = traceback.format_exc()
|
|
|
+ print('添加设备错误: %s ' % errorInfo)
|
|
|
+ return response.json(178, repr(e))
|
|
|
+ else:
|
|
|
+ sqlDict = CommonService.qs_to_dict([userDevice])
|
|
|
+ return response.json(0, sqlDict)
|
|
|
# 新删除设备
|
|
|
def deleteInterface(request):
|
|
|
'''
|