|
@@ -7,11 +7,10 @@
|
|
|
@Software: PyCharm
|
|
|
"""
|
|
|
import datetime
|
|
|
-import random
|
|
|
import time
|
|
|
+import logging
|
|
|
|
|
|
-from Controller.CheckUserData import RandomStr
|
|
|
-from Model.models import Device_User, Device_Info, DeviceSuperPassword
|
|
|
+from Model.models import Device_User, DeviceSuperPassword
|
|
|
from Object.RedisObject import RedisObject
|
|
|
from Object.ResponseObject import ResponseObject
|
|
|
from Object.TokenObject import TokenObject
|
|
@@ -30,78 +29,77 @@ class AppAccoutView(View):
|
|
|
def post(self, request, *args, **kwargs):
|
|
|
request.encoding = 'utf-8'
|
|
|
operation = kwargs.get('operation')
|
|
|
- request_dict = request.GET
|
|
|
+ request_dict = request.POST
|
|
|
return self.validation(request_dict, request, operation)
|
|
|
|
|
|
def validation(self, request_dict, request, operation):
|
|
|
- token = TokenObject(request.META.get('HTTP_AUTHORIZATION'))
|
|
|
- lang = request_dict.get('lang', token.lang)
|
|
|
+ tko = TokenObject(
|
|
|
+ request.META.get('HTTP_AUTHORIZATION'))
|
|
|
+ lang = request_dict.get('lang', tko.lang)
|
|
|
+ logger = logging.getLogger('info')
|
|
|
+ logger.info("传参语言{}".format(lang))
|
|
|
response = ResponseObject(lang)
|
|
|
- userID = token.userID
|
|
|
- if token.code != 0:
|
|
|
- return response.json(token.code)
|
|
|
- if operation == 'getAuthorizationCode': # 获取用户请求/生成授权码
|
|
|
+ if tko.code != 0:
|
|
|
+ return response.json(tko.code)
|
|
|
+ userID = tko.userID
|
|
|
+ if operation == 'getAuthorizationCode': # 用户提交请求
|
|
|
return self.getAuthorizationCode(request_dict, response, userID)
|
|
|
- if operation == 'verifyTheVerificationCode': # 效验验证码
|
|
|
- return self.verifyTheVerificationCode(request_dict, response)
|
|
|
- if operation == 'customerServiceManagement': # 客服管理
|
|
|
- return self.customerServiceManagement(request_dict, response)
|
|
|
- if operation == 'getDeviceSuperPassword': # 查询超级密码请求表
|
|
|
- return self.getDeviceSuperPassword(request_dict, response)
|
|
|
+ if operation == 'verifyTheVerificationCode': # 检验验证码
|
|
|
+ return self.verifyTheVerificationCode(request_dict, response, userID)
|
|
|
else:
|
|
|
return response.json(404)
|
|
|
|
|
|
- def getAuthorizationCode(self, request_dict, response, userID):
|
|
|
+ @staticmethod
|
|
|
+ def getAuthorizationCode(request_dict, response, userID):
|
|
|
"""
|
|
|
- @param uid:设备id
|
|
|
+ 用户提交请求
|
|
|
@param request_dict:请求参数
|
|
|
@param response:响应对象
|
|
|
- @param describe:需求描述
|
|
|
- @param Purchase_channel:购买渠道描述
|
|
|
- @param orderID:订单id
|
|
|
- @param buyTime:购买时间
|
|
|
+ @param userID:用户ID
|
|
|
@return:
|
|
|
"""
|
|
|
uid = request_dict.get('uid', None)
|
|
|
+ # 需求描述
|
|
|
describe = request_dict.get('describe', None)
|
|
|
- if not all([uid, describe]):
|
|
|
- return response.json(444)
|
|
|
purchase_channel = request_dict.get('purchase_channel', None)
|
|
|
orderID = request_dict.get('orderID', None)
|
|
|
buyTime = request_dict.get('buyTime', None)
|
|
|
+ lang = request_dict.get('lang', 'en')
|
|
|
+ if not all([uid, describe]):
|
|
|
+ return response.json(444, 'uid, describe')
|
|
|
try:
|
|
|
- now = int(time.time())
|
|
|
- addTime = now
|
|
|
- device_info_qs = Device_Info.objects.filter(UID=uid, userID_id=userID)
|
|
|
- if not device_info_qs.exists():
|
|
|
+ nowTime = int(time.time())
|
|
|
+ device_user_qs = Device_User.objects.filter(userID=userID)
|
|
|
+ if not device_user_qs.exists():
|
|
|
return response.json(173)
|
|
|
if buyTime:
|
|
|
buyTime = datetime.datetime.strptime(buyTime, '%Y-%m-%d')
|
|
|
buyTime = CommonService.str_to_timestamp(str_time=str(buyTime))
|
|
|
DeviceSuperPassword.objects.create(uid=uid, orderID=orderID, describe=describe,
|
|
|
- purchase_channel=purchase_channel, addTime=addTime, userID=userID,
|
|
|
- buyTime=buyTime, status=0)
|
|
|
- # 验证码生成
|
|
|
- super_code = RandomStr(6, True)
|
|
|
- super_password_id = "super_password_%s" % super_code
|
|
|
- redisObj = RedisObject(db=6)
|
|
|
- redisObj.set_data(key=super_password_id, val=super_code, expire=86400)
|
|
|
- authcode = CommonService.encode_data(super_code)
|
|
|
+ purchase_channel=purchase_channel, addTime=nowTime, userID_id=userID,
|
|
|
+ buyTime=buyTime, status=0, lang=lang)
|
|
|
|
|
|
- return response.json(0, {'authcode': authcode})
|
|
|
+ return response.json(0)
|
|
|
except Exception as e:
|
|
|
- print('获取验证码异常,errLine:{}, errMsg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
|
|
|
+ print('生成验证码异常,errLine:{}, errMsg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
|
|
|
return response.json(500, repr(e))
|
|
|
|
|
|
- def verifyTheVerificationCode(self, request_dict, response):
|
|
|
- verificationCode = request_dict.get('verificationCode', None)
|
|
|
+ @staticmethod
|
|
|
+ def verifyTheVerificationCode(request_dict, response, userID):
|
|
|
+ """
|
|
|
+ 检验验证码
|
|
|
+ @param request_dict:请求参数
|
|
|
+ @param response:响应对象
|
|
|
+ @param userID:用户ID
|
|
|
+ @return:
|
|
|
+ """
|
|
|
authcode = request_dict.get('authcode', None)
|
|
|
-
|
|
|
- if verificationCode and authcode:
|
|
|
-
|
|
|
+ if authcode:
|
|
|
authcode = CommonService.decode_data(authcode)
|
|
|
- super_password_id = 'super_password_' + verificationCode
|
|
|
- redisObj = RedisObject(db=6)
|
|
|
+ if not len(authcode) == 6:
|
|
|
+ return response.json(121)
|
|
|
+ super_password_id = 'super_password_' + userID
|
|
|
+ redisObj = RedisObject()
|
|
|
# redis里面的验证码
|
|
|
redis_image_code = redisObj.get_data(key=super_password_id)
|
|
|
# 验证用户输入的验证码和redis中的验证码
|
|
@@ -111,63 +109,3 @@ class AppAccoutView(View):
|
|
|
return response.json(0)
|
|
|
else:
|
|
|
return response.json(444)
|
|
|
-
|
|
|
- def customerServiceManagement(self, request_dict, response):
|
|
|
- userID = request_dict.get('userID')
|
|
|
- uid = request_dict.get('uid', None)
|
|
|
- status = request_dict.get('status', None)
|
|
|
- hint = request_dict.get('hint', None)
|
|
|
- if not all({uid, userID}):
|
|
|
- return response.json(444)
|
|
|
- try:
|
|
|
- device_super_password_qs = DeviceSuperPassword.objects.filter(uid=uid, userID=userID)
|
|
|
- if not device_super_password_qs.exists():
|
|
|
- return response.json(173)
|
|
|
- status = int(status)
|
|
|
- if status == 1:
|
|
|
- device_super_password_qs.update(status=status)
|
|
|
- return response.json(0)
|
|
|
- else:
|
|
|
- device_super_password_qs.update(status=status, hint=hint)
|
|
|
- return response.json(0)
|
|
|
- except Exception as e:
|
|
|
- print('修改状态异常,errLine:{}, errMsg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
|
|
|
- return response.json(500, repr(e))
|
|
|
-
|
|
|
- def getDeviceSuperPassword(self, request_dict, response):
|
|
|
- pageNo = request_dict.get('pageNo', None)
|
|
|
- pageSize = request_dict.get('pageSize', None)
|
|
|
- status = request_dict.get('status', None)
|
|
|
- userID = request_dict.get('userID', None)
|
|
|
- uid = request_dict.get('uid', None)
|
|
|
- if not all([pageNo, pageSize]):
|
|
|
- return response.json(444)
|
|
|
- page = int(pageNo)
|
|
|
- line = int(pageSize)
|
|
|
- try:
|
|
|
- device_super_password_qs = DeviceSuperPassword.objects.all()
|
|
|
- if status:
|
|
|
- device_super_password_qs = device_super_password_qs.filter(status=status)
|
|
|
- if userID:
|
|
|
- device_super_password_qs = device_super_password_qs.filter(userID=userID)
|
|
|
- if uid:
|
|
|
- device_super_password_qs = device_super_password_qs.filter(uid=uid)
|
|
|
- if not device_super_password_qs.exists():
|
|
|
- return response.json(0, [])
|
|
|
- count = device_super_password_qs.count()
|
|
|
- device_super_password_qs = device_super_password_qs.values('id',
|
|
|
- 'uid',
|
|
|
- 'userID',
|
|
|
- 'orderID',
|
|
|
- 'describe',
|
|
|
- 'purchase_channel',
|
|
|
- 'addTime',
|
|
|
- 'status',
|
|
|
- 'buyTime',
|
|
|
- 'hint')
|
|
|
- device_super_password_qs = device_super_password_qs.order_by('-addTime')[
|
|
|
- (page - 1) * line:page * line]
|
|
|
- return response.json(0, {'list': list(device_super_password_qs), 'count': count})
|
|
|
- except Exception as e:
|
|
|
- print('查询异常,errLine:{}, errMsg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
|
|
|
- return response.json(500, repr(e))
|