|
@@ -3,8 +3,6 @@ import time
|
|
import traceback
|
|
import traceback
|
|
|
|
|
|
import simplejson as json
|
|
import simplejson as json
|
|
-from django.views.decorators.csrf import csrf_exempt
|
|
|
|
-
|
|
|
|
from Model.models import Device_Info, UID_Bucket
|
|
from Model.models import Device_Info, UID_Bucket
|
|
from Object.ResponseObject import ResponseObject
|
|
from Object.ResponseObject import ResponseObject
|
|
from Object.TokenObject import TokenObject
|
|
from Object.TokenObject import TokenObject
|
|
@@ -13,7 +11,6 @@ from Service.ModelService import ModelService
|
|
|
|
|
|
|
|
|
|
# 查询用户设备
|
|
# 查询用户设备
|
|
-@csrf_exempt
|
|
|
|
def queryUserEquipmentInterface(request):
|
|
def queryUserEquipmentInterface(request):
|
|
request.encoding = 'utf-8'
|
|
request.encoding = 'utf-8'
|
|
response = ResponseObject()
|
|
response = ResponseObject()
|
|
@@ -53,7 +50,6 @@ def queryUserEquipmentInterface(request):
|
|
return response.json(0, {'datas': res})
|
|
return response.json(0, {'datas': res})
|
|
|
|
|
|
|
|
|
|
-@csrf_exempt
|
|
|
|
def addNewUserEquipmentInterface(request):
|
|
def addNewUserEquipmentInterface(request):
|
|
request.encoding = 'utf-8'
|
|
request.encoding = 'utf-8'
|
|
response = ResponseObject()
|
|
response = ResponseObject()
|
|
@@ -120,57 +116,6 @@ def addNewUserEquipmentInterface(request):
|
|
return response.json(0, sqlDict)
|
|
return response.json(0, sqlDict)
|
|
|
|
|
|
|
|
|
|
-@csrf_exempt
|
|
|
|
-def 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)
|
|
|
|
- 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
|
|
|
|
- try:
|
|
|
|
- deviceData = json.loads(deviceContent)
|
|
|
|
- UID = deviceData.get('UID', None)
|
|
|
|
- if not UID:
|
|
|
|
- return response.json(444, 'content')
|
|
|
|
- dValid = Device_Info.objects.filter(userID=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):
|
|
|
|
- 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:
|
|
|
|
- return response.json()
|
|
|
|
- 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)
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-@csrf_exempt
|
|
|
|
def delUserEquipmentInterface(request):
|
|
def delUserEquipmentInterface(request):
|
|
'''
|
|
'''
|
|
删除用户设备
|
|
删除用户设备
|
|
@@ -205,54 +150,6 @@ def delUserEquipmentInterface(request):
|
|
return response.json(0)
|
|
return response.json(0)
|
|
|
|
|
|
|
|
|
|
-@csrf_exempt
|
|
|
|
-def deleteInterface(request):
|
|
|
|
- '''
|
|
|
|
- 删除用户设备
|
|
|
|
- :param request:
|
|
|
|
- :return:
|
|
|
|
- '''
|
|
|
|
- response = ResponseObject()
|
|
|
|
- request.encoding = 'utf-8'
|
|
|
|
- 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)
|
|
|
|
- id = request_dict.get('id', None)
|
|
|
|
- if not id:
|
|
|
|
- return response.json(444, 'id')
|
|
|
|
- tko = TokenObject(token)
|
|
|
|
- response.lang = tko.lang
|
|
|
|
- if tko.code != 0:
|
|
|
|
- return response.json(tko.code)
|
|
|
|
- userID = tko.userID
|
|
|
|
- # 主用户删除设备全部删除
|
|
|
|
- if not userID:
|
|
|
|
- return response.json(309)
|
|
|
|
- try:
|
|
|
|
- dv_qs = Device_Info.objects.filter(userID_id=userID, id=id)
|
|
|
|
- uid = dv_qs[0].UID
|
|
|
|
- if dv_qs[0].isShare:
|
|
|
|
- dv_qs.delete()
|
|
|
|
- else:
|
|
|
|
- # 主用户删除设备
|
|
|
|
- dv_qs.delete()
|
|
|
|
- # 分享获得用户假删除
|
|
|
|
- ud_dv_qs = Device_Info.objects.filter(UID=uid, isShare=True)
|
|
|
|
- if ud_dv_qs.exists():
|
|
|
|
- ud_dv_qs.update(isExist=0)
|
|
|
|
- except Exception as e:
|
|
|
|
- errorInfo = traceback.format_exc()
|
|
|
|
- print('删除数据库记录错误: %s' % errorInfo)
|
|
|
|
- return response.json(176, repr(e))
|
|
|
|
- else:
|
|
|
|
- return response.json(0)
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-@csrf_exempt
|
|
|
|
def modifyUserEquipmentInterface(request):
|
|
def modifyUserEquipmentInterface(request):
|
|
'''
|
|
'''
|
|
修改用户设备
|
|
修改用户设备
|
|
@@ -291,7 +188,6 @@ def modifyUserEquipmentInterface(request):
|
|
return response.json(0, res)
|
|
return response.json(0, res)
|
|
|
|
|
|
|
|
|
|
-@csrf_exempt
|
|
|
|
def showAllUserEquipmentInterface(request, *callback_args, **callback_kwargs):
|
|
def showAllUserEquipmentInterface(request, *callback_args, **callback_kwargs):
|
|
request.encoding = 'utf-8'
|
|
request.encoding = 'utf-8'
|
|
response = ResponseObject()
|
|
response = ResponseObject()
|
|
@@ -328,7 +224,6 @@ def showAllUserEquipmentInterface(request, *callback_args, **callback_kwargs):
|
|
return response.json(0, res)
|
|
return response.json(0, res)
|
|
|
|
|
|
|
|
|
|
-@csrf_exempt
|
|
|
|
def findEquipmentInfoInterface(request, *callback_args, **callback_kwargs):
|
|
def findEquipmentInfoInterface(request, *callback_args, **callback_kwargs):
|
|
request.encoding = 'utf-8'
|
|
request.encoding = 'utf-8'
|
|
response = ResponseObject()
|
|
response = ResponseObject()
|
|
@@ -383,3 +278,162 @@ def findEquipmentInfoInterface(request, *callback_args, **callback_kwargs):
|
|
send_dict["datas"][k]['fields']['primaryusername'] = primary
|
|
send_dict["datas"][k]['fields']['primaryusername'] = primary
|
|
send_dict['count'] = count
|
|
send_dict['count'] = count
|
|
return response.json(0, send_dict)
|
|
return response.json(0, send_dict)
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+# 添加设备字段
|
|
|
|
+def 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)
|
|
|
|
+ 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', None)
|
|
|
|
+ Type = request_dict.get('Type', None)
|
|
|
|
+ ChannelIndex = request_dict.get('ChannelIndex', None)
|
|
|
|
+ if all([UID, NickName, View_Account, View_Password, 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_exist = Device_Info.objects.filter(UID=UID, userID_id=userID)
|
|
|
|
+ if is_exist:
|
|
|
|
+ return response.json(174)
|
|
|
|
+ else:
|
|
|
|
+ # is_bind = Device_Info.objects.filter(UID=UID, isShare=False)
|
|
|
|
+ # # 判断是否有已绑定用户
|
|
|
|
+ # if is_bind:
|
|
|
|
+ # return response.json(15)
|
|
|
|
+ try:
|
|
|
|
+ pk = CommonService.getUserID(getUser=False)
|
|
|
|
+ userDevice = Device_Info(id=pk, userID_id=userID, UID=UID,
|
|
|
|
+ NickName=NickName, View_Account=View_Account,
|
|
|
|
+ View_Password=View_Password, Type=Type, ChannelIndex=ChannelIndex)
|
|
|
|
+ userDevice.save()
|
|
|
|
+ except Exception as e:
|
|
|
|
+ return response.json(10, repr(e))
|
|
|
|
+ else:
|
|
|
|
+ dvqs = Device_Info.objects.filter(id=pk).values('id', 'userID', 'NickName', 'UID',
|
|
|
|
+ 'View_Account',
|
|
|
|
+ 'View_Password', 'ChannelIndex', 'Type',
|
|
|
|
+ 'isShare',
|
|
|
|
+ 'primaryUserID', 'primaryMaster',
|
|
|
|
+ 'data_joined', 'version',
|
|
|
|
+ 'isVod', 'isExist')
|
|
|
|
+ dvql = CommonService.qs_to_list(dvqs)
|
|
|
|
+ ubqs = UID_Bucket.objects.filter(uid=UID). \
|
|
|
|
+ values('bucket__content', 'status', 'channel', 'endTime', 'uid')
|
|
|
|
+ res = dvql[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'})
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+# 新删除设备
|
|
|
|
+def deleteInterface(request):
|
|
|
|
+ '''
|
|
|
|
+ 删除用户设备
|
|
|
|
+ :param request:
|
|
|
|
+ :return:
|
|
|
|
+ '''
|
|
|
|
+ response = ResponseObject()
|
|
|
|
+ request.encoding = 'utf-8'
|
|
|
|
+ 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)
|
|
|
|
+ id = request_dict.get('id', None)
|
|
|
|
+ if not id:
|
|
|
|
+ return response.json(444, 'id')
|
|
|
|
+ tko = TokenObject(token)
|
|
|
|
+ response.lang = tko.lang
|
|
|
|
+ if tko.code != 0:
|
|
|
|
+ return response.json(tko.code)
|
|
|
|
+ userID = tko.userID
|
|
|
|
+ # 主用户删除设备全部删除
|
|
|
|
+ if not userID:
|
|
|
|
+ return response.json(309)
|
|
|
|
+ try:
|
|
|
|
+ dv_qs = Device_Info.objects.filter(userID_id=userID, id=id)
|
|
|
|
+ uid = dv_qs[0].UID
|
|
|
|
+ if dv_qs[0].isShare:
|
|
|
|
+ dv_qs.delete()
|
|
|
|
+ else:
|
|
|
|
+ # 主用户删除设备
|
|
|
|
+ dv_qs.delete()
|
|
|
|
+ # 分享获得用户假删除
|
|
|
|
+ ud_dv_qs = Device_Info.objects.filter(UID=uid, isShare=True)
|
|
|
|
+ if ud_dv_qs.exists():
|
|
|
|
+ ud_dv_qs.update(isExist=0)
|
|
|
|
+ except Exception as e:
|
|
|
|
+ errorInfo = traceback.format_exc()
|
|
|
|
+ print('删除数据库记录错误: %s' % errorInfo)
|
|
|
|
+ return response.json(176, repr(e))
|
|
|
|
+ else:
|
|
|
|
+ return response.json(0)
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+# 新查询设备字段
|
|
|
|
+def queryInterface(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)
|
|
|
|
+ page = request_dict.get('page', None)
|
|
|
|
+ line = request_dict.get('line', None)
|
|
|
|
+ NickName = request_dict.get('NickName', None)
|
|
|
|
+ page = int(page)
|
|
|
|
+ line = int(line)
|
|
|
|
+ tko = TokenObject(token)
|
|
|
|
+ response.lang = tko.lang
|
|
|
|
+ if tko.code == 0:
|
|
|
|
+ userID = tko.userID
|
|
|
|
+ dvqs = Device_Info.objects.filter(userID_id=userID)
|
|
|
|
+ if NickName:
|
|
|
|
+ dvqs.filter(NickName__icontains=NickName)
|
|
|
|
+ count = dvqs.count()
|
|
|
|
+ dvql = dvqs[(page - 1) * line:page * line].values('id', 'userID', 'NickName', 'UID', 'View_Account',
|
|
|
|
+ 'View_Password', 'ChannelIndex', 'Type', 'isShare',
|
|
|
|
+ 'primaryUserID', 'primaryMaster', 'data_joined', 'version',
|
|
|
|
+ 'isVod', 'isExist')
|
|
|
|
+ dvls = CommonService.qs_to_list(dvql)
|
|
|
|
+ uid_list = []
|
|
|
|
+ for dvl in dvls:
|
|
|
|
+ if dvl['isShare'] is False:
|
|
|
|
+ uid_list.append(dvl['UID'])
|
|
|
|
+ ubqs = UID_Bucket.objects.filter(uid__in=uid_list). \
|
|
|
|
+ values('bucket__content', 'status', 'channel', 'endTime', 'uid')
|
|
|
|
+ nowTime = int(time.time())
|
|
|
|
+ data = []
|
|
|
|
+ for p in dvls:
|
|
|
|
+ p['vod'] = []
|
|
|
|
+ for dm in ubqs:
|
|
|
|
+ if p['UID'] == dm['uid']:
|
|
|
|
+ if dm['endTime'] > nowTime:
|
|
|
|
+ p['vod'].append(dm)
|
|
|
|
+ data.append(p)
|
|
|
|
+ return response.json(0, {'data': data, 'count': count})
|
|
|
|
+ else:
|
|
|
|
+ return response.json(tko.code)
|