|
@@ -43,9 +43,9 @@ class SerialNumberView(View):
|
|
|
|
|
|
if operation == 'getUID':
|
|
|
return self.do_get_uid(request_dict, response)
|
|
|
- elif operation == 'attachUID':
|
|
|
+ elif operation == 'attachUID': # 绑定uid
|
|
|
return self.do_attach_uid(request_dict, response, request)
|
|
|
- elif operation == 'detachUID':
|
|
|
+ elif operation == 'detachUID': # 解绑uid
|
|
|
return self.do_detach_uid(request, request_dict, response)
|
|
|
elif operation == 'create':
|
|
|
return self.do_create(request_dict, response)
|
|
@@ -180,13 +180,13 @@ class SerialNumberView(View):
|
|
|
vpg__region_id=country_id, status=0, p2p_type=p2p_type). \
|
|
|
order_by('id')
|
|
|
if not uid_qs.exists():
|
|
|
- return response.json(173)
|
|
|
+ return response.json(375)
|
|
|
|
|
|
uid = uid_qs[0]
|
|
|
# 判断uid是否已绑定过序列号
|
|
|
uid_company_serial_qs = UIDCompanySerialModel.objects.filter(uid_id=uid.id)
|
|
|
if uid_company_serial_qs.exists():
|
|
|
- return response.json(174)
|
|
|
+ return response.json(377)
|
|
|
|
|
|
result = UIDModel.objects.filter(id=uid.id, status=0).update(status=2, update_time=now_time)
|
|
|
if int(result) <= 0: # 更新失败
|
|
@@ -231,20 +231,12 @@ class SerialNumberView(View):
|
|
|
}
|
|
|
LogModel.objects.create(**log)
|
|
|
# 修改其他数据库的序列号使用状态为已占用
|
|
|
- data = {'serial': serial, 'status': 3}
|
|
|
- if SERVER_TYPE == 'Ansjer.us_config.formal_settings':
|
|
|
- url = '{}serialNumber/changeSerialNumberStatus'.format(SERVER_DOMAIN_CN)
|
|
|
- elif SERVER_TYPE == 'Ansjer.cn_config.formal_settings':
|
|
|
- url = '{}serialNumber/changeSerialNumberStatus'.format(SERVER_DOMAIN_US)
|
|
|
- req_res = requests.post(url=url, data=data, timeout=2)
|
|
|
- if req_res.status_code != 200:
|
|
|
- raise RuntimeError('请求修改序列号状态发生异常')
|
|
|
- req_res = req_res.json()
|
|
|
- if req_res['result_code'] != 0:
|
|
|
- raise RuntimeError('请求修改序列号状态发生异常')
|
|
|
-
|
|
|
+ update_success = self.update_serial_status(serial=serial, status=3)
|
|
|
+ try:
|
|
|
+ assert update_success
|
|
|
+ except AssertionError:
|
|
|
+ return response.json(378)
|
|
|
return response.json(0, res)
|
|
|
-
|
|
|
return response.json(5)
|
|
|
elif company_serial.status == 2: # 返回uid
|
|
|
uid_qs = UIDCompanySerialModel.objects.filter(company_serial_id=company_serial.id)
|
|
@@ -345,17 +337,11 @@ class SerialNumberView(View):
|
|
|
up_qs.delete()
|
|
|
|
|
|
# 修改其他数据库的序列号使用状态为已使用
|
|
|
- data = {'serial': serial, 'status': 1}
|
|
|
- if SERVER_TYPE == 'Ansjer.us_config.formal_settings':
|
|
|
- url = '{}serialNumber/changeSerialNumberStatus'.format(SERVER_DOMAIN_CN)
|
|
|
- elif SERVER_TYPE == 'Ansjer.cn_config.formal_settings':
|
|
|
- url = '{}serialNumber/changeSerialNumberStatus'.format(SERVER_DOMAIN_US)
|
|
|
- req_res = requests.post(url=url, data=data, timeout=2)
|
|
|
- if req_res.status_code != 200:
|
|
|
- raise RuntimeError('请求修改序列号状态发生异常')
|
|
|
- req_res = req_res.json()
|
|
|
- if req_res['result_code'] != 0:
|
|
|
- raise RuntimeError('请求修改序列号状态发生异常')
|
|
|
+ update_success = self.update_serial_status(serial=serial, status=1)
|
|
|
+ try:
|
|
|
+ assert update_success
|
|
|
+ except AssertionError:
|
|
|
+ return response.json(378)
|
|
|
|
|
|
UIDModel.objects.filter(uid=uid).update(status=0, mac='') # 重置uid的使用状态为未分配
|
|
|
uid_serial.delete()
|
|
@@ -379,6 +365,21 @@ class SerialNumberView(View):
|
|
|
djangoLogger.exception(repr(e))
|
|
|
return response.json(176, str(e))
|
|
|
|
|
|
+ @staticmethod
|
|
|
+ def update_serial_status(serial, status):
|
|
|
+ data = {'serial': serial, 'status': status}
|
|
|
+ if SERVER_TYPE == 'Ansjer.us_config.formal_settings':
|
|
|
+ url = '{}serialNumber/changeSerialNumberStatus'.format(SERVER_DOMAIN_CN)
|
|
|
+ elif SERVER_TYPE == 'Ansjer.cn_config.formal_settings':
|
|
|
+ url = '{}serialNumber/changeSerialNumberStatus'.format(SERVER_DOMAIN_US)
|
|
|
+ req_res = requests.post(url=url, data=data, timeout=2)
|
|
|
+ if req_res.status_code != 200:
|
|
|
+ return False
|
|
|
+ req_res = req_res.json()
|
|
|
+ if req_res['result_code'] != 0:
|
|
|
+ return False
|
|
|
+ return True
|
|
|
+
|
|
|
def do_update(self, userID, request_dict, response):
|
|
|
# perm = ModelService.check_perm_uid_manage(userID, 0)
|
|
|
# if not perm:
|