tfse-etl-api-v0.2/company/scripts.py

109 lines
4.4 KiB
Python
Raw Normal View History

2021-12-09 03:07:34 +08:00
import json
2021-12-09 17:17:17 +08:00
import time
2021-12-09 03:07:34 +08:00
import requests
2021-12-09 17:17:17 +08:00
from common.scripts import file_path, read_json_file
2021-12-10 16:12:57 +08:00
from company.db import find_data_in_tyc, insert_data_to_tfse
2021-12-09 17:17:17 +08:00
2021-12-09 03:07:34 +08:00
def drag_company_data_request(company_name):
"""
从天眼查接口获取企业数据
Parameters:
company_name: 企业名称
Returns:
-
"""
url = "http://139.9.249.34:51009/api/tyc/drag_data"
headers = {'token': "uzdq51N4!I0%HY4sCaQ!aeCSIDIVIdAM"}
data = {"企业名称": company_name}
res = requests.post(url=url, headers=headers, data=json.dumps(data))
if res.status_code == 200:
return "企业数据拉取成功"
else:
return "企业数据拉取失败"
def basic_info_etl(cid, company_name):
2021-12-08 14:40:36 +08:00
"""
根据企业名称查询天眼查数据库
将数据按规定格式存储到股交企业数据库中
Parameters:
2021-12-09 03:07:34 +08:00
cid: 企业ID
company_name: 企业名称
2021-12-08 14:40:36 +08:00
Returns:
2021-12-09 03:07:34 +08:00
-
2021-12-09 17:17:17 +08:00
"""
2021-12-10 16:12:57 +08:00
data = read_json_file(file_path('/company/template/基本信息.json'))
basic_info = find_data_in_tyc('公司背景', '基本信息', {"企业名称": company_name})
holder_info = find_data_in_tyc('公司背景', '企业股东', {"企业名称": company_name})
member_info = find_data_in_tyc('公司背景', '主要人员', {"企业名称": company_name})
2021-12-09 17:17:17 +08:00
2021-12-10 16:12:57 +08:00
data['企业ID'] = cid
data['更新日期'] = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
data['企业名称'] = basic_info[0]['企业名称']
data['工商信息']['企业状态'] = basic_info[0]['基本信息']['regStatus']
data['工商信息']['法定代表人'] = basic_info[0]['基本信息']['legalPersonName']
data['工商信息']['企业类型'] = basic_info[0]['基本信息']['companyOrgType']
data['工商信息']['纳税人识别号'] = basic_info[0]['基本信息']['taxNumber']
data['工商信息']['经营范围'] = basic_info[0]['基本信息']['businessScope']
data['工商信息']['注册资本'] = basic_info[0]['基本信息']['regCapital']
data['工商信息']['实缴资本'] = basic_info[0]['基本信息']['actualCapital']
data['工商信息']['注册地址'] = basic_info[0]['基本信息']['regLocation']
data['工商信息']['登记机关'] = basic_info[0]['基本信息']['regInstitute']
data['工商信息']['行业'] = basic_info[0]['基本信息']['industry']
data['工商信息']['人员规模'] = basic_info[0]['基本信息']['staffNumRange']
data['工商信息']['参保人数'] = basic_info[0]['基本信息']['socialStaffNum']
data['工商信息']['小微企业'] = "" if basic_info[0]['基本信息']['regStatus'] == 1 else ""
2021-12-09 17:17:17 +08:00
2021-12-10 16:12:57 +08:00
data['股东信息'] = []
for holder in holder_info[0]['企业股东']['result']:
info = dict()
info['股东'] = holder['name']
info['股东类型'] = "公司" if holder['type'] == 1 else ("个人" if holder['type'] == 2 else "其他")
2021-12-09 17:17:17 +08:00
2021-12-10 16:12:57 +08:00
if holder['capital']:
info['持股比例'] = None if holder['capital'][0]['percent'] == '' else holder['capital'][0]['percent']
info['认缴金额'] = None if holder['capital'][0]['amomon'] == '' else holder['capital'][0]['amomon']
info['认缴日期'] = None if holder['capital'][0]['time'] == '' else holder['capital'][0]['time']
else:
info['持股比例'] = None
info['认缴金额'] = None
info['认缴日期'] = None
2021-12-09 17:17:17 +08:00
2021-12-10 16:12:57 +08:00
if holder['capitalActl']:
info['实缴金额'] = []
info['实缴方式'] = []
info['实缴时间'] = []
for capital_actl in holder['capitalActl']:
info['实缴金额'].append(capital_actl['amomon'])
info['实缴方式'].append(capital_actl['paymet'])
info['实缴时间'].append(capital_actl['time'])
else:
info['实缴金额'] = []
info['实缴方式'] = []
info['实缴时间'] = []
2021-12-09 17:17:17 +08:00
2021-12-10 16:12:57 +08:00
data['股东信息'].append(info)
2021-12-09 17:17:17 +08:00
2021-12-10 16:12:57 +08:00
data['主要成员'] = []
for member in member_info[0]['主要人员']['result']:
info = dict()
info['姓名'] = member['name']
info['职务'] = member['typeJoin']
2021-12-09 17:17:17 +08:00
2021-12-10 16:12:57 +08:00
data['主要成员'].append(info)
insert_data_to_tfse('企业', '公司基本信息', data)
2021-12-16 14:47:05 +08:00
def general_rating_etl(cid):
"""
执行综合信用评价信息数据清洗程序
Parameters:
cid: str 企业ID
Returns:
res: desc
"""