|
@@ -8,7 +8,8 @@ from django.db import transaction
|
|
from django.views import View
|
|
from django.views import View
|
|
|
|
|
|
from Ansjer.config import CRCKey, CONFIG_INFO, CONFIG_TEST, CONFIG_US, \
|
|
from Ansjer.config import CRCKey, CONFIG_INFO, CONFIG_TEST, CONFIG_US, \
|
|
- CONFIG_CN, USED_SERIAL_REDIS_LIST, UNUSED_SERIAL_REDIS_LIST, SERVER_DOMAIN_US, REGION_ID_LIST
|
|
|
|
|
|
+ CONFIG_CN, USED_SERIAL_REDIS_LIST, UNUSED_SERIAL_REDIS_LIST, SERVER_DOMAIN_US, REGION_ID_LIST, SERVER_DOMAIN_TEST, \
|
|
|
|
+ SERVER_DOMAIN_LIST, SERVER_DOMAIN_CN, SERVER_DOMAIN_EUR
|
|
from Model.models import SerialNumberModel, CompanySerialModel, UIDCompanySerialModel, UIDModel, Device_Info, \
|
|
from Model.models import SerialNumberModel, CompanySerialModel, UIDCompanySerialModel, UIDModel, Device_Info, \
|
|
iotdeviceInfoModel, LogModel, UidSetModel, UID_Bucket, \
|
|
iotdeviceInfoModel, LogModel, UidSetModel, UID_Bucket, \
|
|
Unused_Uid_Meal, Order_Model, StsCrdModel, VodHlsModel, ExperienceContextModel, UidUserModel, ExperienceAiModel, \
|
|
Unused_Uid_Meal, Order_Model, StsCrdModel, VodHlsModel, ExperienceContextModel, UidUserModel, ExperienceAiModel, \
|
|
@@ -62,6 +63,10 @@ class SerialNumberView(View):
|
|
return self.reset_region_id(request_dict, response)
|
|
return self.reset_region_id(request_dict, response)
|
|
elif operation == 'get-status': # 重置地区id
|
|
elif operation == 'get-status': # 重置地区id
|
|
return self.check_serial_status(request_dict, response)
|
|
return self.check_serial_status(request_dict, response)
|
|
|
|
+ elif operation == 'getUidRegion': # 根据序列号获取uid地区
|
|
|
|
+ return self.get_uid_region(request_dict, response)
|
|
|
|
+ elif operation == 'getGlobalUidRegion': # 获取序列号在全球服绑定uid的地区
|
|
|
|
+ return self.get_global_uid_region(request_dict, response)
|
|
else:
|
|
else:
|
|
return response.json(414)
|
|
return response.json(414)
|
|
|
|
|
|
@@ -748,3 +753,62 @@ class SerialNumberView(View):
|
|
return response.json(0)
|
|
return response.json(0)
|
|
except Exception as e:
|
|
except Exception as e:
|
|
return response.json(500, repr(e))
|
|
return response.json(500, repr(e))
|
|
|
|
+
|
|
|
|
+ @staticmethod
|
|
|
|
+ def get_uid_region(request_dict, response):
|
|
|
|
+ """
|
|
|
|
+ 根据序列号获取uid地区
|
|
|
|
+ @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]
|
|
|
|
+ uid_company_serial_qs = UIDCompanySerialModel.objects.filter(
|
|
|
|
+ company_serial__serial_number=serial_number).values('uid__uid')
|
|
|
|
+ res = []
|
|
|
|
+ for item in uid_company_serial_qs:
|
|
|
|
+ res.append({'uid': item['uid__uid']})
|
|
|
|
+ return response.json(0, res)
|
|
|
|
+ except Exception as e:
|
|
|
|
+ return response.json(500, repr(e))
|
|
|
|
+
|
|
|
|
+ @staticmethod
|
|
|
|
+ def get_global_uid_region(request_dict, response):
|
|
|
|
+ """
|
|
|
|
+ 获取序列号在全球服绑定uid的地区
|
|
|
|
+ @param request_dict: 请求参数
|
|
|
|
+ @param response: 响应对象
|
|
|
|
+ @request_dict serial_number: 序列号
|
|
|
|
+ @return: response
|
|
|
|
+ """
|
|
|
|
+ orders_domain_name_list = SERVER_DOMAIN_LIST
|
|
|
|
+ if SERVER_DOMAIN_TEST in orders_domain_name_list:
|
|
|
|
+ orders_domain_name_list.remove(SERVER_DOMAIN_TEST)
|
|
|
|
+ uid_list = []
|
|
|
|
+ try:
|
|
|
|
+ for orders_domain_name in orders_domain_name_list:
|
|
|
|
+ url = orders_domain_name + 'serialNumber/getUidRegion'
|
|
|
|
+ res = requests.post(url=url, data=request_dict)
|
|
|
|
+ result = res.json()
|
|
|
|
+ if result['result_code'] != 0:
|
|
|
|
+ return response.json(result['result_code'])
|
|
|
|
+ if orders_domain_name == SERVER_DOMAIN_CN:
|
|
|
|
+ for item in result['result']:
|
|
|
|
+ item['region'] = 1
|
|
|
|
+ uid_list.append(item)
|
|
|
|
+ elif orders_domain_name == SERVER_DOMAIN_US:
|
|
|
|
+ for item in result['result']:
|
|
|
|
+ item['region'] = 3
|
|
|
|
+ uid_list.append(item)
|
|
|
|
+ elif orders_domain_name == SERVER_DOMAIN_EUR:
|
|
|
|
+ for item in result['result']:
|
|
|
|
+ item['region'] = 4
|
|
|
|
+ uid_list.append(item)
|
|
|
|
+ return response.json(0, uid_list)
|
|
|
|
+ except Exception as e:
|
|
|
|
+ return response.json(500, repr(e))
|