Procházet zdrojové kódy

feat: 环境及映射

- 添加各查询环境
- 维度字段配置
许家凯 před 2 roky
rodič
revize
97d35de010

+ 0 - 2
.gitignore

@@ -116,9 +116,7 @@ celerybeat.pid
 # Environments
 .env
 .venv
-env/
 venv/
-ENV/
 env.bak/
 venv.bak/
 

+ 5 - 0
env/__init__.py

@@ -0,0 +1,5 @@
+# -*- coding: utf-8 -*-
+# @Time : 2021/5/27 11:21
+# @Author : XuJiakai
+# @File : __init__.py
+# @Software: PyCharm

+ 70 - 0
env/env-dev.yaml

@@ -0,0 +1,70 @@
+es:
+  old:
+    hosts: es-cn-0pp0r32zf000ipovd.public.elasticsearch.aliyuncs.com:9200
+    username: elastic
+    pwd: elastic_168
+  new:
+    hosts: es-cn-oew22t8bw002iferu.public.elasticsearch.aliyuncs.com:9200
+    username: elastic
+    pwd: elastic_168
+
+mongo:
+  itslaw:
+    url: mongodb://itslaw:itslaw_168@dds-uf6ff5dfd9aef3641601-pub.mongodb.rds.aliyuncs.com:3717,dds-uf6ff5dfd9aef3642555-pub.mongodb.rds.aliyuncs.com:3717/itslaw?
+
+kafka:
+  base:
+    hosts: 47.101.221.131:9092
+  dev:
+    hosts: 47.101.221.131:9092
+
+
+winhc_open_api:
+  eci_data:
+    host: 47.101.221.131
+
+
+mysql:
+  test_firefly:
+    host: 139.224.213.4
+    port: 3306
+    user: firefly
+    pwd: firefly
+  winhc_biz_prod:
+    host: rm-uf69d46no0wbj3s9zo.mysql.rds.aliyuncs.com
+    port: 3306
+    user: winhc_data
+    pwd: winhc_data168
+  eci_data:
+    host: rm-uf6bb73kr7541bdeu0o.mysql.rds.aliyuncs.com
+    port: 3306
+    user: myeci
+    pwd: myeci_Fasac_168
+  wenshu:
+    host: rm-uf666q55e678h9514so.mysql.rds.aliyuncs.com
+    port: 3306
+    user: wenshu
+    pwd: wenshu_168
+  prism1:
+    host: rm-uf61r3m23ba1p5z3dfo.mysql.rds.aliyuncs.com
+    port: 3306
+    user: wenshu
+    pwd: wenshu_168
+
+
+
+holo:
+  base:
+    host: hgprecn-cn-zvp2dvgsr005-cn-shanghai.hologres.aliyuncs.com
+    port: 80
+    dbname: winhc_biz
+    username: LTAI4G4yiyJV4ggnLyGMduqV
+    pwd: nokDg5HlVIBh80nL2dOXsKa2La4XL5
+
+  winhc_ng_rt:
+    host: hgprecn-cn-zvp2dvgsr005-cn-shanghai.hologres.aliyuncs.com
+    port: 80
+    dbname: winhc_ng_rt
+    username: LTAI4G4yiyJV4ggnLyGMduqV
+    pwd: nokDg5HlVIBh80nL2dOXsKa2La4XL5
+

+ 47 - 0
env/env-prod.yaml

@@ -0,0 +1,47 @@
+es:
+  old:
+    hosts: es-cn-0pp0r32zf000ipovd.elasticsearch.aliyuncs.com:9200
+    username: elastic
+    pwd: elastic_168
+  new:
+    hosts: es-cn-oew22t8bw002iferu.elasticsearch.aliyuncs.com:9200
+    username: elastic
+    pwd: elastic_168
+
+mongo:
+  itslaw:
+    url: mongodb://itslaw:itslaw_168@dds-uf6ff5dfd9aef3641.mongodb.rds.aliyuncs.com:3717,dds-uf6ff5dfd9aef3642.mongodb.rds.aliyuncs.com:3717/itslaw?
+
+kafka:
+  base:
+    hosts: 192.168.4.239:9092,192.168.4.241:9092,192.168.4.240:9092
+  prod:
+    hosts: 192.168.4.239:9092,192.168.4.241:9092,192.168.4.240:9092
+  dev:
+    hosts: 47.101.221.131:9092
+
+
+winhc_open_api:
+  eci_data:
+    host: 192.168.5.20
+
+mysql:
+  test_firefly:
+    host: 139.224.213.4
+    port: 3306
+    user: firefly
+    pwd: firefly
+  winhc_biz_prd:
+    host: rm-uf69d46no0wbj3s9z.mysql.rds.aliyuncs.com
+    port: 3306
+    user: winhc_data
+    pwd: winhc_data168
+
+holo:
+  base:
+    host: hgprecn-cn-zvp2dvgsr005-cn-shanghai.hologres.aliyuncs.com
+    port: 80
+    dbname: winhc_biz
+    username: LTAI4G4yiyJV4ggnLyGMduqV
+    pwd: nokDg5HlVIBh80nL2dOXsKa2La4XL5
+

+ 75 - 0
env/environment_switch.py

@@ -0,0 +1,75 @@
+# -*- coding: utf-8 -*-
+# @Time : 2021/5/27 11:23
+# @Author : XuJiakai
+# @File : environment_switch
+# @Software: PyCharm
+
+import platform
+import subprocess
+import os
+
+import yaml
+
+_module_path = os.path.dirname(__file__)
+
+
+def __ping_judge(ip):
+    CREATE_NO_WINDOW = 0x08000000
+    win_ping_cmd = "ping -n 1 {}".format(ip)
+    linux_ping_cmd = "ping -c 1 {}".format(ip)
+    if platform.system() == "Windows":
+        ret = subprocess.call(win_ping_cmd, shell=True, creationflags=CREATE_NO_WINDOW)
+    if platform.system() == "Linux":
+        ret = subprocess.call(linux_ping_cmd, shell=True)
+    if ret == 0:
+        return True
+    if ret == 1:
+        return False
+
+
+def _is_intranet_env():
+    if platform.system() == "Windows":
+        return False
+    # return __ping_judge("oss-cn-shanghai-internal.aliyuncs.com")
+    return True
+
+
+class environment_switch:
+    def __init__(self):
+        self.is_intranet = _is_intranet_env()
+        self.config = self.__get_conf()
+        pass
+
+    def __get_conf(self):
+        if self.is_intranet:
+            f = open(os.path.join(_module_path, 'env-prod.yaml'))  # 打开yaml文件
+            pass
+        else:
+            f = open(os.path.join(_module_path, 'env-dev.yaml'))  # 打开yaml文件
+            pass
+        d = yaml.load(f, Loader=yaml.FullLoader)  # 使用load方法加载
+        return d
+
+    def get_val(self, path):
+        return self.__get_val(self.config, path)
+
+    def __get_val(self, conf, path):
+        index = path.find('.')
+        if index == -1 and path in conf:
+            return conf[path]
+
+        k = path[0: index]
+        other_path = path[index + 1:]
+
+        if k in conf:
+            v = conf[k]
+            return self.__get_val(v, other_path)
+        return None
+
+
+if __name__ == '__main__':
+    env = environment_switch()
+    print(env.is_intranet)
+    # vv = env.get_val('mongo.itslaw.url')
+    # print(vv)
+    pass

+ 0 - 8
handle/search_winhc_data.py

@@ -1,8 +0,0 @@
-# -*- coding: utf-8 -*-
-# @Time : 2022/11/29 15:11
-# @Author : XuJiakai
-# @File : search_winhc_data
-# @Software: PyCharm
-
-if __name__ == '__main__':
-    pass

+ 0 - 4
sdk/WinhcAllClient.py

@@ -85,10 +85,6 @@ class WinhcAllClient:
         pass
 
 
-
-
-
-
 def get_all_client():
     return WinhcAllClient()
     pass

+ 39 - 0
spider/Demo.py

@@ -0,0 +1,39 @@
+# -*- coding: utf-8 -*-
+# @Time : 2022/11/30 10:17
+# @Author : XuJiakai
+# @File : Demo
+# @Software: PyCharm
+
+
+input_args = {
+    "company_id": "",
+    "company_name": "",
+    "company_registered_date": "",
+    "company_org_type": "",
+    "province_code": "",
+    "city_code": "",
+    "county_code": "",
+    "org_number": "",
+    "reg_number": "",
+    "credit_code": "",
+}
+
+output_args = {
+    "_id": "",  # concat_ws('_',company_id,competitor_product_name,spider_date)
+    "base_info": input_args,
+    "competitor_product_name": "X查查",
+    "summary": {
+        "股东信息": 1
+    },
+    "latest_date": {
+        "基本信息": "2022-10-10 00:00:00",  # 公司基本信息、股东、主要成员,取核准日期
+        "历史变更": "2022-10-20 00:00:00"
+    },
+    "other_info": {
+
+    },
+    "spider_date": "2022-10-20 00:00:00"
+}
+
+if __name__ == '__main__':
+    pass

+ 10 - 2
utils/__init__.py

@@ -3,6 +3,14 @@
 # @Author : XuJiakai
 # @File : __init__.py
 # @Software: PyCharm
+from utils.clipboard_util import set_text
+from utils.base_utils import map_2_json_str
+from utils.base_utils import to_list
+from utils.base_utils import parse_env_and_name
 
-if __name__ == '__main__':
-    pass
+__all__ = [
+    'set_text'
+    , 'map_2_json_str'
+    , 'to_list'
+    , 'parse_env_and_name'
+]

+ 7 - 0
utils/base_utils.py

@@ -3,6 +3,8 @@
 # @Author : XuJiakai
 # @File : base_utils
 # @Software: PyCharm
+import json
+
 
 def to_list(string: str):
     string = string.strip()
@@ -18,5 +20,10 @@ def parse_env_and_name(val, env):
     return env, val
 
 
+def map_2_json_str(m: map):
+    return json.dumps(m, indent=4, ensure_ascii=False, sort_keys=True)
+    pass
+
+
 if __name__ == '__main__':
     pass

+ 153 - 0
utils/dim_name_mapping.py

@@ -0,0 +1,153 @@
+# -*- coding: utf-8 -*-
+# @Time : 2022/11/29 15:50
+# @Author : XuJiakai
+# @File : dim_name_mapping
+# @Software: PyCharm
+
+_map_class = {
+    "基本信息": ['股东信息', '主要成员', '对外投资', '总公司', '分支机构', '历史变更', '企业年报', ],
+    "法律风险": ['司法案件', '失信信息', '被执行人', '限制消费', '终本案件', '送达公告', '裁判文书', '开庭公告', '立案信息', '法院公告', '股权冻结', '破产重整', '司法拍卖',
+             '询价评估', '限制出境', '诉前调解', '破产债权', ],
+    "经营风险": ['行政处罚', '经营异常', '股权出质', '减资记录', '土地转让-出让人', '土地抵押-抵押人', '动产抵押', '环保处罚', '税收违法', '欠税公告', '公示催告', '严重违法',
+             '简易注销', '解散清算', '股权质押', '股权质押-质押人', '知识产权出质', '注销备案'],
+    "经营信息": ['招投标', '招聘信息', '特殊资质', '进出口信用', '行政许可', '土地公示', '购地信息', '土地转让-受让人', '土地抵押-抵押权人', '信用评级', '税务信用', '融资信息',
+             '债券信息', '股权出质-质权人', '产品信息', '主要客户', '供应商', '抽查检查', '产权交易', '双随机抽查'],
+    "知识产权": ['商标', '专利', '软件著作权', '作品著作权', '网站域名', ],
+    "建筑信息": ['建筑资质', '建筑人员', '建筑项目', ],
+    "融资信息": ['应收账款融资', 'DCM注册额度', '债券融资', '境外债券融资', '银行借款', '授信额度', '租赁融资', '信托融资', '其他融资', ],
+}
+
+_history_item_key = ['经营异常', '严重违法', '被执行人', '失信信息', '终本案件', '限制高消费', '法院公告', '行政处罚', '动产抵押', '土地抵押', '开庭公告',
+                     '股权出质-质权人', '股权出质', '股权冻结', ]
+
+_map_latest_date = {
+    "历史变更": {"latest_field": "", "latest_name": ""}
+
+}
+
+_map = {
+    "accounts_receivablae": "应收账款融资", "auction_tracking": "司法拍卖", "auction_tracking_explode": "司法拍卖-explode",
+    "auction_tracking_v9": "司法拍卖", "bank_loan": "银行借款", "bankruptcy_judgment_document": "破产文书",
+    "bankruptcy_judgment_document_v9": "破产文书", "bankruptcy_judgment_document_v9_backup": "破产文书",
+    "bankruptcy_open_announcement": "破产公告", "bankruptcy_open_announcement_v9": "破产公告",
+    "bankruptcy_open_announcement_v9_backup": "破产公告", "bankruptcy_open_case": "破产信息",
+    "bankruptcy_open_case_explode": "破产信息-explode", "bankruptcy_open_case_v9": "破产信息",
+    "bankruptcy_open_case_v9_backup": "破产信息", "bond_financing": "债券融资", "cancellation_announcement_v9": "注销备案",
+    "case_chance_element_good_news": "案源机会要素表", "case_chance_element_good_news_v9": "案源机会要素表",
+    "case_chance_good_news": "案源机会表", "case_chance_good_news_v9": "案源机会表", "case_id_big": "", "case_id_big_v2": "",
+    "company": "公司企业基本信息数据", "company_abnormal_info": "经营异常", "company_abnormal_info_v9": "经营异常",
+    "company_account_with_bank": "银行帐户", "company_annual_report": "年报主表", "company_annual_report_change": "年报-变更",
+    "company_annual_report_change_v9": "年报-变更", "company_annual_report_equity_change": "年报-股权变更",
+    "company_annual_report_equity_change_v9": "年报-股权变更", "company_annual_report_holder": "年报-股东",
+    "company_annual_report_holder_v9": "年报-股东", "company_annual_report_out_guarantee": "年报-对外担保",
+    "company_annual_report_out_guarantee_v9": "年报-对外担保", "company_annual_report_out_investment": "年报-对外投资",
+    "company_annual_report_out_investment_v9": "年报-对外投资", "company_annual_report_social_security": "年报-社保",
+    "company_annual_report_social_security_v9": "年报-社保", "company_annual_report_v9": "年报主表",
+    "company_annual_report_webinfo": "年报-网站", "company_annual_report_webinfo_v9": "年报-网站", "company_app_info": "产品信息",
+    "company_app_info_v9": "产品信息", "company_bak_20210804": "公司企业基本信息数据", "company_bid": "招投标",
+    "company_bid_explode": "招投标-explode", "company_bid_new_v9": "招投标", "company_bond": "债券信息",
+    "company_brief_cancel_announcement": "简易注销", "company_brief_cancel_announcement_objection": "简易注销-异议信息",
+    "company_brief_cancel_announcement_objection_v9": "简易注销-异议信息", "company_brief_cancel_announcement_pre": "",
+    "company_brief_cancel_announcement_result": "简易注销", "company_brief_cancel_announcement_result_v9": "简易注销",
+    "company_brief_cancel_announcement_v9": "简易注销", "company_certificate": "网站备案", "company_change": "变更信息",
+    "company_change_bak_20210804": "变更信息", "company_change_bak_20210805": "变更信息", "company_change_v9": "变更信息",
+    "company_change_v9_back_0408": "变更信息", "company_change_v9_tmp": "变更信息", "company_check_info": "抽查检查",
+    "company_check_info_v9": "抽查检查", "company_copyright_reg": "知识产权-软件著作权",
+    "company_copyright_reg_explode": "知识产权-软件著作权-炸开表", "company_copyright_reg_v9": "知识产权-软件著作权",
+    "company_copyright_works": "知识产权-作品著作权", "company_copyright_works_explode": "知识产权-作品著作权-炸开表",
+    "company_copyright_works_v9": "知识产权-作品著作权", "company_court_announcement": "法院公告初始化表",
+    "company_court_announcement_back": "法院公告初始化表", "company_court_announcement_explode": "法院公告炸开表",
+    "company_court_announcement_v9": "法院公告初始化表", "company_court_announcement_v9_back": "法院公告初始化表",
+    "company_court_open_announcement": "存量开庭公告", "company_court_open_announcement_explode": "存量开庭公告",
+    "company_court_open_announcement_v9": "存量开庭公告", "company_court_register": "立案信息初始化表",
+    "company_court_register_explode": "立案信息炸开表", "company_court_register_v9": "立案信息初始化表",
+    "company_customs_credit": "进出口信用", "company_customs_credit_administrative_penalty": "进出口信用-处罚信息",
+    "company_customs_credit_rating": "进出口信用-信用等级", "company_dishonest_info": "*", "company_dishonest_info_v9": "*",
+    "company_double_random_check_info": "双随机抽查", "company_double_random_check_info_v9": "双随机抽查",
+    "company_double_random_check_result_info": "双随机抽查-结果公示", "company_double_random_check_result_info_v9": "双随机抽查-结果公示",
+    "company_employment": "招聘信息", "company_env_punishment": "环保处罚", "company_env_punishment_v9": "环保处罚",
+    "company_equity_info": "股权出质", "company_equity_info_explode": "股权出质", "company_equity_info_v9": "股权出质",
+    "company_equity_pledge": "股权质押", "company_equity_pledge_holder": "重要股东质押明细",
+    "company_equity_pledge_holder_v9": "重要股东质押明细", "company_equity_pledge_v9": "股权质押", "company_finance": "融资信息",
+    "company_finance_v9": "融资信息", "company_holder": "公司股东信息", "company_holder_bak_20210804": "公司股东信息",
+    "company_holder_sponsor_v9": "公司股东信息", "company_holder_v9": "公司股东信息", "company_icp": "网站备案",
+    "company_icp_v9": "网站备案", "company_illegal_info": "严重违法", "company_illegal_info_v9": "严重违法",
+    "company_ipr_pledge": "股权出质", "company_ipr_pledge_explode": "知识产权出质炸开表", "company_judicial_assistance": "*",
+    "company_judicial_assistance_v9": "*", "company_land_announcement": "购地信息", "company_land_announcement_v9": "购地信息",
+    "company_land_mortgage": "*", "company_land_mortgage_v9": "*", "company_land_publicity": "购地信息",
+    "company_land_publicity_v9": "购地信息", "company_land_transfer": "土地转让", "company_land_transfer_v9": "土地转让",
+    "company_lawsuit": "裁判文书", "company_lawsuit_explode": "裁判文书-explode", "company_license": "行政处罚",
+    "company_license_creditchina": "行政处罚", "company_license_creditchina_v9": "行政处罚", "company_license_entpub": "行政处罚",
+    "company_license_entpub_v9": "行政处罚", "company_license_v9": "行政处罚", "company_liquidating_info": "清算信息",
+    "company_liquidating_info_v9": "清算信息", "company_monitor": "财产监控输出表", "company_monitor_dev": "财产监控输出表",
+    "company_monitor_v9": "财产监控输出表", "company_mortgage_change": "动产抵押-变更", "company_mortgage_change_v9": "动产抵押-变更",
+    "company_mortgage_info": "动产抵押-主表", "company_mortgage_info_v9": "动产抵押-主表", "company_mortgage_pawn": "动产抵押-抵押物",
+    "company_mortgage_pawn_v9": "动产抵押-抵押物", "company_mortgage_people": "动产抵押-抵押人",
+    "company_mortgage_people_back": "动产抵押-抵押人", "company_mortgage_people_v9": "动产抵押-抵押人", "company_own_tax": "欠税公告",
+    "company_own_tax_v9": "欠税公告", "company_patent": "专利信息", "company_patent_explode": "专利信息-炸开表",
+    "company_patent_v9": "专利信息", "company_phone_v9": "公司电话", "company_public_announcement": "公司催告",
+    "company_public_announcement_v9": "公司催告", "company_punishment_info": "行政处罚",
+    "company_punishment_info_creditchina": "行政处罚-信用中国", "company_punishment_info_creditchina_v9": "行政处罚-信用中国",
+    "company_punishment_info_v9": "行政处罚", "company_send_announcement": "送达公告初始化表",
+    "company_send_announcement_explode": "送达公告炸开表", "company_send_announcement_v9": "送达公告初始化表",
+    "company_staff": "公司主要成员", "company_staff_bak_20210804": "公司主要成员", "company_staff_v9": "公司主要成员",
+    "company_tags_v9": "公司标签", "company_tax": "税务评级", "company_tax_contravention": "*",
+    "company_tax_contravention_v9": "*", "company_tax_v9": "税务评级", "company_tele_license": "电信许可",
+    "company_tele_license_annual_report": "电信许可-年报", "company_tele_license_communication_badness": "电信许可-企业不良名单",
+    "company_tm": "商标", "company_tm_v9": "商标", "company_v9": "公司企业基本信息数据", "company_v9_back_20220531": "公司企业基本信息数据",
+    "company_wechat": "微信公众号", "company_weibo": "微博", "company_zxr": "被执行人", "company_zxr_final_case": "终本案件",
+    "company_zxr_final_case_v9": "终本案件", "company_zxr_restrict": "*", "company_zxr_restrict_bak_20210825": "*",
+    "company_zxr_restrict_bak_20210827": "*", "company_zxr_restrict_bak_20210913": "*",
+    "company_zxr_restrict_bak_20210916": "*", "company_zxr_restrict_v9": "*", "company_zxr_v9": "被执行人",
+    "construction_person": "建筑人员", "construction_person_v9": "建筑人员", "construction_project": "建筑项目",
+    "construction_project_v9": "建筑项目", "construction_qualification": "建筑资质", "construction_qualification_v9": "建筑资质",
+    "credit_line": "授信额度", "dcm_registration_limit": "DCM注册额度", "finance_info_v3": "财务数据",
+    "finance_info_v3_back1": "财务数据", "finance_info_v3_v9": "财务数据", "general_taxpayer_v9": "一般纳税人",
+    "high_tech_enterprise_v9": "高新技术企业", "increase_registered_capital_info": "",
+    "increase_registered_capital_info_v9": "增资记录", "judicial_case_id_mapping": "",
+    "judicial_case_id_mapping_r1_deleted": "主表移除", "judicial_case_id_mapping_r1_deleted_v2": "主表移除",
+    "judicial_case_id_mapping_r2_deleted": "明细表移除", "judicial_case_id_mapping_r3_deleted": "明细表移除",
+    "judicial_case_id_mapping_r3_deleted_v2": "明细表移除", "judicial_case_id_mapping_v2": "",
+    "judicial_case_id_update_kafka": "需要更新的子图ID", "judicial_case_id_update_kafka_v2": "需要更新的子图ID",
+    "judicial_case_node": "司法案件节点表", "judicial_case_node_kafka": "kafka案件node节点",
+    "judicial_case_node_kafka_v2": "kafka案件node节点", "judicial_case_node_v2": "司法案件节点表",
+    "judicial_case_relation": "kafka案件relation节点", "judicial_case_relation_case_amt": "",
+    "judicial_case_relation_id": "司法案件id组装", "judicial_case_relation_id_back": "司法案件id组装",
+    "judicial_case_relation_id_v2": "司法案件id组装", "judicial_case_relation_id_v9": "司法案件id组装",
+    "judicial_case_relation_kafka": "kafka案件relation节点", "judicial_case_relation_kafka_v2": "kafka案件relation节点",
+    "judicial_case_relation_pre": "司法案件预处理表", "judicial_case_relation_pre_v2": "司法案件预处理表",
+    "judicial_case_relation_pre_v9": "司法案件预处理表", "judicial_case_relation_r1": "司法案件主表",
+    "judicial_case_relation_r1_back": "司法案件主表", "judicial_case_relation_r1_test": "司法案件主表",
+    "judicial_case_relation_r1_tmp": "司法案件主表", "judicial_case_relation_r1_v2": "司法案件主表",
+    "judicial_case_relation_r1_v2_test": "司法案件主表", "judicial_case_relation_r1_v9": "司法案件主表",
+    "judicial_case_relation_r2": "司法案件明细表", "judicial_case_relation_r3": "司法案件明细表",
+    "judicial_case_relation_r3_back": "司法案件明细表", "judicial_case_relation_r3_test": "司法案件明细表",
+    "judicial_case_relation_r3_tmp": "司法案件明细表", "judicial_case_relation_r3_v2": "司法案件明细表",
+    "judicial_case_relation_r3_v2_test": "司法案件明细表", "judicial_case_relation_r3_v9": "司法案件明细表",
+    "judicial_case_relation_update_v2": "司法案件修复程序", "judicial_case_relation_v2": "kafka案件relation节点",
+    "lease_financing": "租赁融资", "legislation_info_v9": "法规数据", "legislation_info_v9_bak_20221129": "法规数据",
+    "legislation_info_v9_bak_20221129_2": "法规数据", "legislation_info_v9_test": "", "litigation_mediation": "诉前调解",
+    "litigation_mediation_explode": "诉前调解炸开表", "litigation_mediation_v9": "诉前调解", "online_retailers_v9": "电商数据",
+    "other_financing": "其他融资", "overseas_bond_financing": "境外债券融资", "private_enterprise": "社保人数",
+    "private_enterprise_v9": "社保人数", "property_rights_transaction": "公司股东信息",
+    "property_rights_transaction_v9": "公司股东信息", "reduction_registered_capital_info": "",
+    "reduction_registered_capital_info_v9": "减资记录", "restrictions_on_exit": "限制出镜",
+    "restrictions_on_exit_tmp20210426": "", "restrictions_on_exit_v9": "限制出镜", "trust_financing": "信托融资",
+    "wenshu_detail_v2": "新文书", "wenshu_detail_v2_explode": "裁判文书-explode", "wenshu_detail_v2_v9": "新文书",
+    "wenshu_detail_v2_v9_back_0824": "新文书", "zxr_evaluate": "选定评估机构", "zxr_evaluate_results": "询价评估结果",
+    "zxr_evaluate_results_v9": "询价评估结果", "zxr_evaluate_v9": "选定评估机构",
+}
+
+
+def key_2_name(key: str):
+    end_index = len(key)
+    while True:
+        if key in _map:
+            return key, _map[key], end_index
+        end_index = key.rfind('_')
+        key = key[:end_index]
+    pass
+
+
+if __name__ == '__main__':
+    pass