|
@@ -46,6 +46,8 @@ class SerialNumberView(View):
|
|
|
return self.do_attach_uid(request_dict, response, request)
|
|
|
elif operation == 'detachUID': # 解绑uid
|
|
|
return self.do_detach_uid(request, request_dict, response)
|
|
|
+ elif operation == 'get-uid': # app获取uid
|
|
|
+ return self.get_uid(request_dict, response, request)
|
|
|
elif operation == 'create': # 创建序列号
|
|
|
return self.do_create(request_dict, response)
|
|
|
elif operation == 'getUID': # 根据序列号获取uid
|
|
@@ -94,15 +96,15 @@ class SerialNumberView(View):
|
|
|
|
|
|
def do_attach_uid(self, request_dict, response, request):
|
|
|
serial_number = request_dict.get('serial_number', None)
|
|
|
- # token = request_dict.get('token', None)
|
|
|
- # time_stamp = request_dict.get('time_stamp', None)
|
|
|
- #
|
|
|
- # if not all([serial_number, token, time_stamp]):
|
|
|
- # return response.json(444)
|
|
|
- #
|
|
|
- # # 时间戳token校验
|
|
|
- # if not CommonService.check_time_stamp_token(token, time_stamp):
|
|
|
- # return response.json(13)
|
|
|
+ token = request_dict.get('token', None)
|
|
|
+ time_stamp = request_dict.get('time_stamp', None)
|
|
|
+
|
|
|
+ if not all([serial_number, token, time_stamp]):
|
|
|
+ return response.json(444)
|
|
|
+
|
|
|
+ # 时间戳token校验
|
|
|
+ if not CommonService.check_time_stamp_token(token, time_stamp):
|
|
|
+ return response.json(13)
|
|
|
|
|
|
now_time = int(time.time())
|
|
|
serial = serial_number[0:6]
|
|
@@ -546,6 +548,51 @@ class SerialNumberView(View):
|
|
|
djangoLogger.exception(repr(e))
|
|
|
return response.json(176, str(e))
|
|
|
|
|
|
+ def get_uid(self, request_dict, response, request):
|
|
|
+ """
|
|
|
+ app获取序列号
|
|
|
+ @param request_dict:
|
|
|
+ @param response:
|
|
|
+ @param request:
|
|
|
+ @return:
|
|
|
+ """
|
|
|
+ token = request_dict.get('token', None)
|
|
|
+ time_stamp = request_dict.get('time_stamp', None)
|
|
|
+ company_secret = request_dict.get('company_id', None)
|
|
|
+ serial_number = request_dict.get('serial_number', None)
|
|
|
+
|
|
|
+ if not all([token, time_stamp, company_secret, serial_number]):
|
|
|
+ return response.json(444)
|
|
|
+
|
|
|
+ # 时间戳token校验
|
|
|
+ if not CommonService.check_time_stamp_token(token, time_stamp):
|
|
|
+ return response.json(13)
|
|
|
+
|
|
|
+ now_time = int(time.time())
|
|
|
+ serial = serial_number[0:6]
|
|
|
+
|
|
|
+ # 判断序列号是否已和企业关联
|
|
|
+ company_serial_qs = CompanySerialModel.objects.filter(company__secret=company_secret, serial_number=serial)
|
|
|
+ if not company_serial_qs.exists():
|
|
|
+ return response.json(173)
|
|
|
+ company_serial = company_serial_qs[0]
|
|
|
+
|
|
|
+ try:
|
|
|
+ if company_serial.status == 0 or company_serial.status == 1: # 未使用
|
|
|
+ return response.json(173)
|
|
|
+ elif company_serial.status == 2: # 返回uid
|
|
|
+ res = self.get_uid_info_by_serial(company_serial.id)
|
|
|
+ return response.json(0, res)
|
|
|
+ elif company_serial.status == 3: # 已占用
|
|
|
+ res = self.log_and_send_email(request, company_serial.id, serial_number, now_time)
|
|
|
+ if not res:
|
|
|
+ return response.json(10042)
|
|
|
+ return response.json(0, self.get_uid_info_by_serial(company_serial.id))
|
|
|
+ except Exception as e:
|
|
|
+ error_logger = logging.getLogger('django')
|
|
|
+ error_logger.exception(repr(e))
|
|
|
+ return response.json(176, str(e))
|
|
|
+
|
|
|
@staticmethod
|
|
|
def get_region_info(request_dict, response):
|
|
|
"""
|