|
@@ -7,7 +7,7 @@ from django.db import transaction
|
|
|
from django.views import View
|
|
|
|
|
|
from Ansjer.config import CRCKey, CONFIG_INFO, CONFIG_TEST, CONFIG_US, \
|
|
|
- CONFIG_CN, USED_SERIAL_REDIS_LIST, UNUSED_SERIAL_REDIS_LIST, SERVER_DOMAIN_US
|
|
|
+ CONFIG_CN, USED_SERIAL_REDIS_LIST, UNUSED_SERIAL_REDIS_LIST, SERVER_DOMAIN_US, REGION_ID_LIST
|
|
|
from Model.models import SerialNumberModel, CompanySerialModel, UIDCompanySerialModel, UIDModel, Device_Info, \
|
|
|
iotdeviceInfoModel, LogModel, UidSetModel, UID_Bucket, \
|
|
|
Unused_Uid_Meal, Order_Model, StsCrdModel, VodHlsModel, ExperienceContextModel, UidUserModel, ExperienceAiModel, \
|
|
@@ -51,6 +51,8 @@ class SerialNumberView(View):
|
|
|
return self.save_region(request, request_dict, response)
|
|
|
elif operation == 'getDomain': # 获取域名(设备使用)
|
|
|
return self.get_domain(request_dict, response)
|
|
|
+ elif operation == 'resetRegionId': # 重置地区id
|
|
|
+ return self.reset_region_id(request_dict, response)
|
|
|
else:
|
|
|
return response.json(414)
|
|
|
|
|
@@ -129,7 +131,7 @@ class SerialNumberView(View):
|
|
|
|
|
|
# 获取并判断region_id
|
|
|
region_id = CommonService.confirm_region_id()
|
|
|
- if region_id not in [1, 2, 3, 4]:
|
|
|
+ if region_id not in REGION_ID_LIST:
|
|
|
return response.json(444, {'invalid region_id': region_id})
|
|
|
|
|
|
p2p_type = request_dict.get('p2ptype', 1)
|
|
@@ -312,6 +314,20 @@ class SerialNumberView(View):
|
|
|
UIDModel.objects.filter(uid=uid).update(status=0, mac='') # 重置uid的使用状态为未使用
|
|
|
uid_serial.delete()
|
|
|
|
|
|
+ # 重置region_id
|
|
|
+ if CONFIG_INFO == CONFIG_US:
|
|
|
+ DeviceDomainRegionModel.objects.filter(serial_number=serial).update(region_id=0)
|
|
|
+ else:
|
|
|
+ try:
|
|
|
+ url = SERVER_DOMAIN_US + 'serialNumber/resetRegionId'
|
|
|
+ data = {'serial_number': serial}
|
|
|
+ r = requests.post(url, data, timeout=3)
|
|
|
+ assert r.status_code == 200
|
|
|
+ res = r.json()
|
|
|
+ assert res['result_code'] == 0
|
|
|
+ except (TimeoutError, AssertionError):
|
|
|
+ return response.json(5)
|
|
|
+
|
|
|
# 记录操作日志
|
|
|
ip = CommonService.get_ip_address(request)
|
|
|
content = json.loads(json.dumps(request_dict))
|
|
@@ -376,7 +392,7 @@ class SerialNumberView(View):
|
|
|
return response(444)
|
|
|
|
|
|
try:
|
|
|
- serial_number = serial_number[:9]
|
|
|
+ serial_number = serial_number[:6]
|
|
|
|
|
|
# 不是美洲服,请求美洲域名保存数据
|
|
|
if CONFIG_INFO != CONFIG_US:
|
|
@@ -453,7 +469,7 @@ class SerialNumberView(View):
|
|
|
return response.json(13)
|
|
|
|
|
|
try:
|
|
|
- serial_number = serial_number[:9]
|
|
|
+ serial_number = serial_number[:6]
|
|
|
|
|
|
device_domain_region_qs = DeviceDomainRegionModel.objects.filter(serial_number=serial_number).values(
|
|
|
'region_id')
|
|
@@ -467,3 +483,22 @@ class SerialNumberView(View):
|
|
|
return response.json(0, res)
|
|
|
except Exception as e:
|
|
|
return response.json(500, repr(e))
|
|
|
+
|
|
|
+ @staticmethod
|
|
|
+ def reset_region_id(request_dict, response):
|
|
|
+ """
|
|
|
+ 重置地区id
|
|
|
+ @param request_dict: 请求参数
|
|
|
+ @param response: 响应对象
|
|
|
+ @request_dict serial_number: 序列号
|
|
|
+ @return: response
|
|
|
+ """
|
|
|
+ serial_number = request_dict.get('serial_number', None)
|
|
|
+ if not serial_number:
|
|
|
+ return response(444)
|
|
|
+ try:
|
|
|
+ serial_number = serial_number[:6]
|
|
|
+ DeviceDomainRegionModel.objects.filter(serial_number=serial_number).update(region_id=0)
|
|
|
+ return response.json(0)
|
|
|
+ except Exception as e:
|
|
|
+ return response.json(500, repr(e))
|