Browse Source

修复查询获取域名记录接口存在问题

locky 1 year ago
parent
commit
6cd3190547
2 changed files with 18 additions and 14 deletions
  1. 16 12
      AdminController/LogManagementController.py
  2. 2 2
      Controller/DeviceConfirmRegion.py

+ 16 - 12
AdminController/LogManagementController.py

@@ -3,6 +3,7 @@
 import boto3
 import botocore
 import requests
+from django.db.models import Q
 from django.views.generic.base import View
 
 from Object.IPWeatherObject import IPQuery
@@ -10,7 +11,7 @@ from Object.ResponseObject import ResponseObject
 from Object.TokenObject import TokenObject
 from Service.CommonService import CommonService
 from Model.models import Device_Info, RequestRecordModel, iotdeviceInfoModel, Access_Log, DeviceLogModel, LogModel, \
-    AppLogModel, AppScannedSerial, StsFrequency, DeviceDomainRegionModel, IPAddr, CountryModel
+    AppLogModel, AppScannedSerial, StsFrequency, DeviceDomainRegionModel, IPAddr, CountryModel, RegionModel
 from Ansjer.config import REGION_NAME, ACCESS_KEY_ID, SECRET_ACCESS_KEY, LOG_BUCKET
 
 
@@ -426,7 +427,7 @@ class LogManagementView(View):
         line = int(page_size)
 
         try:
-            device_domain_qs = DeviceDomainRegionModel.objects.all()
+            device_domain_qs = DeviceDomainRegionModel.objects.filter(~Q(country_code=''))
             if serial_number:
                 device_domain_qs = device_domain_qs.filter(serial_number__contains=serial_number)
             count = device_domain_qs.count()
@@ -435,6 +436,7 @@ class LogManagementView(View):
             device_domain_list = []
             for device_domain in device_domain_qs:
                 ip = device_domain['ip']
+                region_id = device_domain['region_id']
                 country_code = device_domain['country_code']
                 ip_addr_qs = IPAddr.objects.filter(ip=ip, is_geoip2=False).values('region')
                 if ip_addr_qs.exists():
@@ -445,22 +447,24 @@ class LogManagementView(View):
 
                 # 港澳台返回美洲域名
                 if country_code == 'CN' and region in ['香港', '澳门', '台湾']:
-                    country_code = 'NA'
-
-                country_qs = CountryModel.objects.filter(country_code=country_code).\
-                    values('region__name', 'region__api')
-                api = ''
-                region_name = ''
-                if country_qs.exists():
-                    api = country_qs[0]['region__api']
-                    region_name = country_qs[0]['region__name']
+                    country_code = region
+
+                # 查询域名数据
+                region_qs = RegionModel.objects.filter(id=region_id).values('api', 'name')
+
+                api = 'https://www.dvema.com/'
+                region_name = '美洲'
+                if region_qs.exists():
+                    api = region_qs[0]['api']
+                    region_name = region_qs[0]['name']
+
                 api_region = region_name + '域名'
 
                 device_domain_list.append({
                     'id': device_domain['id'],
                     'serial_number': device_domain['serial_number'],
                     'ip': ip,
-                    'region_id': device_domain['region_id'],
+                    'region_id': region_id,
                     'country_code': country_code,
                     'api': api,
                     'api_region': api_region,

+ 2 - 2
Controller/DeviceConfirmRegion.py

@@ -122,11 +122,11 @@ class ConfirmRegionV2(View):
                         push_region = get_push_region(api)
                     else:
                         # 返回美洲域名
-                        data_dict['country_code'] = 'NA'
+                        data_dict['country_code'] = 'N/A'
                         api, push_api, region_id, push_region = get_default_api()
             else:
                 # 返回美洲域名
-                data_dict['country_code'] = 'NA'
+                data_dict['country_code'] = 'N/A'
                 api, push_api, region_id, push_region = get_default_api()
 
             # 更新或创建设备域名数据