This commit is contained in:
王思川 2022-05-13 03:01:01 +08:00
parent aa05c897d5
commit af9883a88e
3 changed files with 60 additions and 42 deletions

View File

@ -2,6 +2,7 @@ import time
from DBHelper.MongoHelperInstance import DB_TYC, DB_TFSE from DBHelper.MongoHelperInstance import DB_TYC, DB_TFSE
from Objects.Common.Company.FECRCompany import BasicBusinessInfo from Objects.Common.Company.FECRCompany import BasicBusinessInfo
from Objects.InProject.ETL.DataJob import DataJob
from Utils.ErrorUtil import LogConditionCheckFailed, ReturnConditionCheckFailed from Utils.ErrorUtil import LogConditionCheckFailed, ReturnConditionCheckFailed
@ -143,38 +144,44 @@ def init_main_members(instance):
raise LogConditionCheckFailed(failed_info=failed_info, status_code=202) raise LogConditionCheckFailed(failed_info=failed_info, status_code=202)
class BasicBusinessInfoDataJob(BasicBusinessInfo): def save_business_info(instance):
def init_data(self):
# self.data_job_title = "初始企业工商信息"
# self.data_job_type = "初始数据"
# self.data_job_status = "正常"
# self.data_job_detail = "企业ID: 【{}】; 企业名称: 【{}】".format(self.cid, self.name)
try:
init_before_process(self)
init_basic_info(self)
init_share_holders(self)
init_main_members(self)
DB_TFSE.insert_single_data( DB_TFSE.insert_single_data(
"企业数据", "企业数据",
"基本工商信息", "基本工商信息",
{ {
"企业ID": self.cid, "企业ID": instance.cid,
"企业名称": self.name, "企业名称": instance.name,
"更新日期": time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()), "更新日期": time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()),
"工商信息": self.business_info.dict_keys_toggle(), "工商信息": instance.business_info.dict_keys_toggle(),
"股东信息": [item.dict_keys_toggle() for item in self.share_holder], "股东信息": [item.dict_keys_toggle() for item in instance.share_holder],
"主要成员": [item.dict_keys_toggle() for item in self.main_member] "主要成员": [item.dict_keys_toggle() for item in instance.main_member]
} }
) )
self.save_data_job_log()
except LogConditionCheckFailed as e: class BasicBusinessInfoDataJob(object):
self.data_job_status = "异常"
self.data_job_detail = e.failed_info @staticmethod
self.save_data_job_log() def __main__(**kwargs):
instance = BasicBusinessInfo()
instance.cid = kwargs["cid"]
instance.name = kwargs["name"]
data_job = DataJob(
instance=instance,
title="初始企业工商信息",
job_type="初始数据",
status="正常",
detail="企业ID: 【{}】; 企业名称: 【{}】; ".format(kwargs["cid"], kwargs["name"])
)
data_job.process_funcs = [
init_before_process,
init_basic_info,
init_share_holders,
init_main_members,
save_business_info
]
data_job.start_job()

View File

@ -1,4 +1,5 @@
import time import time
import traceback
from DBHelper.MongoHelper import MongoHelper from DBHelper.MongoHelper import MongoHelper
from Utils.ErrorUtil import LogConditionCheckFailed from Utils.ErrorUtil import LogConditionCheckFailed
@ -22,8 +23,9 @@ class DataJob(SpecObject):
process_funcs = ValidateAttr(field="process_funcs", type=list) process_funcs = ValidateAttr(field="process_funcs", type=list)
save_data_funcs = ValidateAttr(field="save_data_funcs", type=list) save_data_funcs = ValidateAttr(field="save_data_funcs", type=list)
def __init__(self, title, job_type, status, detail): def __init__(self, title, instance, job_type, status, detail):
self.title = title self.title = title
self.instance = instance
self.job_type = job_type self.job_type = job_type
self.status = status self.status = status
self.detail = detail self.detail = detail
@ -40,23 +42,29 @@ class DataJob(SpecObject):
"log_time": "任务处理时间" "log_time": "任务处理时间"
} }
def prepare(self): def prepare(self, **kwargs):
"""数据准备""" """数据准备"""
for func in self.prepare_funcs: # for func in self.prepare_funcs:
try: # try:
func() # func()
except Exception as e: # except Exception as e:
self.detail = self.detail + '函数:【】 ; '.format(e.__str__()) # self.status = "异常"
def process(self): def process(self):
"""数据处理""" """数据处理"""
for func in self.process_funcs: for func in self.process_funcs:
func() try:
func(self.instance)
except Exception as e:
template = "异常, 报错函数->{}, 异常类型->{}, 错误描述->{}, 异常追溯->{}; "
error_detail = template.format(func.__name__, type(e).__name__, e.__str__(), traceback.format_exc())
self.status = "异常"
self.detail = self.detail + error_detail
def save_data(self): def save_data(self):
"""数据保存""" """数据保存"""
for func in self.save_data_funcs: # for func in self.save_data_funcs:
func() # func()
def save_data_job_log(self): def save_data_job_log(self):
"""保存数据任务日志""" """保存数据任务日志"""
@ -75,14 +83,17 @@ class DataJob(SpecObject):
if __name__ == '__main__': if __name__ == '__main__':
data_job = DataJob( data_job = DataJob(
instance=object(),
title="测试", title="测试",
job_type="处理准备", job_type="处理准备",
status="正常", status="正常",
detail="~~~~~~~~~" detail="~~~~~~~~~; "
) )
def func01(): def func01():
print("func01") print("func01")
a = {}
a['a']
def func02(): def func02():
print("func02") print("func02")

View File

@ -37,9 +37,9 @@ def init_business_info_route():
RouteUtil.require_params_check(args, ['cid', 'company_name']) RouteUtil.require_params_check(args, ['cid', 'company_name'])
cid, company_name = args['cid'], args['company_name'] cid, company_name = args['cid'], args['company_name']
impl = BasicBusinessInfoDataJob() data_job = BasicBusinessInfoDataJob()
impl.cid, impl.name = cid, company_name data_job.cid, data_job.name = cid, company_name
impl.init_data() data_job.init_data()
return {"info": "企业数据初始化成功"}, 200 return {"info": "企业数据初始化成功"}, 200
except ReturnConditionCheckFailed as e: except ReturnConditionCheckFailed as e: