上传代码还原,元数据导出水准
This commit is contained in:
@@ -36,7 +36,7 @@ def save_point_times(point_id, point_times):
|
||||
def batch_import_sections(data_list):
|
||||
"""批量导入断面数据到指定API"""
|
||||
url = "http://www.yuxindazhineng.com:3002/api/comprehensive_data/batch_import_sections"
|
||||
|
||||
|
||||
# 数据格式校验
|
||||
for index, item in enumerate(data_list):
|
||||
# 检查必填字段
|
||||
@@ -44,23 +44,23 @@ def batch_import_sections(data_list):
|
||||
for field in required_fields:
|
||||
if field not in item:
|
||||
return False, f"第{index+1}条数据缺失必填字段:{field}"
|
||||
|
||||
|
||||
# 校验section_id是否为整数
|
||||
if not isinstance(item["section_id"], int):
|
||||
return False, f"第{index+1}条数据的section_id必须为整数,实际为:{type(item['section_id']).__name__}"
|
||||
|
||||
|
||||
# 校验account_id是否为整数
|
||||
if not isinstance(item["account_id"], int):
|
||||
return False, f"第{index+1}条数据的account_id必须为整数,实际为:{type(item['account_id']).__name__}"
|
||||
|
||||
|
||||
# 校验字符串字段不为空
|
||||
for str_field in ["mileage", "work_site", "status"]:
|
||||
if not isinstance(item[str_field], str) or not item[str_field].strip():
|
||||
return False, f"第{index+1}条数据的{str_field}必须为非空字符串"
|
||||
|
||||
|
||||
# 构建请求体
|
||||
payload = json.dumps({"data": data_list})
|
||||
|
||||
|
||||
# 随机选择一个User-Agent
|
||||
headers = {
|
||||
'User-Agent': random.choice(USER_AGENTS), # 核心修改:随机选择
|
||||
@@ -90,10 +90,10 @@ def batch_import_sections(data_list):
|
||||
def batch_import_checkpoints(data_list):
|
||||
"""批量导入检查点数据到指定API"""
|
||||
url = "http://www.yuxindazhineng.com:3002/api/comprehensive_data/batch_import_checkpoints"
|
||||
|
||||
|
||||
# 构建请求体
|
||||
payload = json.dumps({"data": data_list})
|
||||
|
||||
|
||||
# 随机选择User-Agent
|
||||
headers = {
|
||||
'User-Agent': random.choice(USER_AGENTS), # 核心修改
|
||||
@@ -102,7 +102,7 @@ def batch_import_checkpoints(data_list):
|
||||
'Host': 'www.yuxindazhineng.com:3002',
|
||||
'Connection': 'keep-alive'
|
||||
}
|
||||
|
||||
|
||||
try:
|
||||
response = requests.post(url, headers=headers, data=payload, timeout=60)
|
||||
response.raise_for_status()
|
||||
@@ -120,12 +120,11 @@ def batch_import_checkpoints(data_list):
|
||||
|
||||
# 导入沉降数据
|
||||
def batch_import_settlement_data(settlement_data_list):
|
||||
return
|
||||
"""批量导入沉降数据到指定API接口"""
|
||||
api_url = "http://www.yuxindazhineng.com:3002/api/comprehensive_data/batch_import_settlement_data"
|
||||
|
||||
|
||||
request_payload = json.dumps({"data": settlement_data_list})
|
||||
|
||||
|
||||
# 随机选择User-Agent
|
||||
request_headers = {
|
||||
'User-Agent': random.choice(USER_AGENTS), # 核心修改
|
||||
@@ -134,7 +133,7 @@ def batch_import_settlement_data(settlement_data_list):
|
||||
'Host': 'www.yuxindazhineng.com:3002',
|
||||
'Connection': 'keep-alive'
|
||||
}
|
||||
|
||||
|
||||
try:
|
||||
response = requests.post(
|
||||
url=api_url,
|
||||
@@ -159,9 +158,9 @@ def batch_import_settlement_data(settlement_data_list):
|
||||
def batch_import_level_data(data_list):
|
||||
"""批量导入层级数据到指定API"""
|
||||
url = "http://www.yuxindazhineng.com:3002/api/comprehensive_data/batch_import_level_data"
|
||||
|
||||
|
||||
payload = json.dumps({"data": data_list})
|
||||
|
||||
|
||||
# 随机选择User-Agent
|
||||
headers = {
|
||||
'User-Agent': random.choice(USER_AGENTS), # 核心修改
|
||||
@@ -170,7 +169,7 @@ def batch_import_level_data(data_list):
|
||||
'Host': 'www.yuxindazhineng.com:3002',
|
||||
'Connection': 'keep-alive'
|
||||
}
|
||||
|
||||
|
||||
try:
|
||||
response = requests.post(url, headers=headers, data=payload, timeout=60)
|
||||
response.raise_for_status()
|
||||
@@ -188,27 +187,27 @@ def batch_import_level_data(data_list):
|
||||
def batch_import_original_data(data_list):
|
||||
"""批量导入原始数据到指定API"""
|
||||
url = "http://www.yuxindazhineng.com:3002/api/comprehensive_data/batch_import_original_data"
|
||||
|
||||
|
||||
# 校验数据格式
|
||||
for i, item in enumerate(data_list):
|
||||
required_fields = ["bfpcode", "mtime", "bffb", "bfpl", "bfpvalue", "NYID", "sort"]
|
||||
for field in required_fields:
|
||||
if field not in item:
|
||||
return False, f"第{i+1}条数据缺少必填字段: {field}"
|
||||
|
||||
|
||||
# 校验mtime格式
|
||||
mtime = item["mtime"]
|
||||
try:
|
||||
datetime.strptime(mtime, "%Y-%m-%d %H:%M:%S")
|
||||
except ValueError:
|
||||
return False, f"第{i+1}条数据的mtime格式错误,应为'YYYY-MM-DD HH:MM:SS',实际值: {mtime}"
|
||||
|
||||
|
||||
# 校验sort是否为整数
|
||||
if not isinstance(item["sort"], int):
|
||||
return False, f"第{i+1}条数据的sort必须为整数,实际值: {item['sort']}"
|
||||
|
||||
|
||||
payload = json.dumps({"data": data_list})
|
||||
|
||||
|
||||
# 随机选择User-Agent
|
||||
headers = {
|
||||
'User-Agent': random.choice(USER_AGENTS), # 核心修改
|
||||
@@ -218,7 +217,7 @@ def batch_import_original_data(data_list):
|
||||
'Host': '127.0.0.1:8000',
|
||||
'Connection': 'keep-alive'
|
||||
}
|
||||
|
||||
|
||||
try:
|
||||
response = requests.post(url, headers=headers, data=payload, timeout=60)
|
||||
response.raise_for_status()
|
||||
|
||||
Reference in New Issue
Block a user