1. 企业基本信息更新接口
This commit is contained in:
王思川 2022-05-16 16:56:51 +08:00
parent 802b267670
commit 3e142941ac
2 changed files with 60 additions and 10 deletions

View File

@ -1,11 +1,13 @@
"""
企业数据_更新汇总 数据处理任务
"""
import time
from Objects.Common.Company.FECRCompany import CompanyDataAssemble
from Objects.Common.Company.FECRCompany import CompanyDataAssemble, BasicBusinessInfo
from DBHelper.MongoHelperInstance import DB_TFSE
from Objects.InProject.ETL.WideETL import DataProcess, DataJob
from Utils.ErrorUtil import JustThrowError
from Utils.ObjUtil import SpecObject
class ProcessIndustryL1(DataProcess):
@ -56,10 +58,39 @@ class ProcessBasicBusinessInfo(DataProcess):
"""处理 企业数据_更新汇总-工商信息、股东信息、主要成员"""
def extract(self):
pass
basic_business_data = DB_TFSE.find_single_data_with_single_sort(
"企业数据",
"基本工商信息",
{"企业ID": self.target.cid, "企业名称": self.target.name},
["工商信息", "股东信息", "主要成员"],
{"更新日期": -1}
)
if basic_business_data:
self.source['基本工商信息'] = basic_business_data
else:
error_info = "基本工商信息数据处理发生异常"
raise JustThrowError(error_info=error_info)
def transform(self):
pass
source = self.source['基本工商信息']
target = self.target
target.basic_info = SpecObject.dict_to_set(
instance=BasicBusinessInfo.BusinessInfo,
data=source['工商信息']
)
target.share_holders = SpecObject.instance_list_to_set(
instance=BasicBusinessInfo.ShareHolder,
data=source['股东信息']
)
target.main_members = SpecObject.instance_list_to_set(
instance=BasicBusinessInfo.MainMember,
data=source['主要成员']
)
def load(self):
pass
@ -197,9 +228,26 @@ class ProcessESGRatingAnalysis(DataProcess):
pass
class SaveBusinessInfoUpdateTime(DataProcess):
def extract(self):
pass
def transform(self):
pass
def load(self):
DB_TFSE.update_single_data(
"企业数据",
"企业数据_更新汇总",
{"企业ID": self.target.cid, "企业名称": self.target.name},
{"更新时间.工商信息": time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())}
)
class CompanyDataAssembleDataJob(CompanyDataAssemble):
def update_company_assemble_data(self):
def update_basic_company_data(self):
data_job = DataJob(
instance=self,
@ -210,7 +258,9 @@ class CompanyDataAssembleDataJob(CompanyDataAssemble):
)
data_job.processes = [
ProcessIndustryL1
ProcessIndustryL1,
ProcessBasicBusinessInfo,
SaveBusinessInfoUpdateTime
]
data_job.start()

View File

@ -75,10 +75,10 @@ def delete_business_info_route():
return {"info": e.failed_info}, e.status_code
@company_route.route('/update_company_assemble_data', methods=['GET'])
@company_route.route('/update_basic_company_data', methods=['GET'])
@verify_token
def update_company_assemble_data_route():
"""企业数据更新汇总"""
def update_basic_company_data_route():
"""更新企业基本信息"""
try:
args = request.args
@ -86,9 +86,9 @@ def update_company_assemble_data_route():
data_job = CompanyDataAssembleDataJob()
data_job.cid, data_job.name = args['cid'], args['company_name']
data_job.update_company_assemble_data()
data_job.update_basic_company_data()
return {"info": "更新企业汇总数据成功"}, 200
return {"info": "更新企业基本信息成功"}, 200
except APIReturnError as e:
return {"info": e.error_info}, e.status_code