search_winhc_summary.py 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. # -*- coding: utf-8 -*-
  2. # @Time : 2022/11/29 15:11
  3. # @Author : XuJiakai
  4. # @File : search_winhc_summary
  5. # @Software: PyCharm
  6. from sdk import get_es_sdk
  7. from utils import map_2_json_str
  8. from log import get_log
  9. log = get_log('winhc_summary')
  10. es_sdk = get_es_sdk("new")
  11. skip_item = ['司法拍卖', '经营异常', '企业年报', '产品信息', '历史变更', '抽查检查', '软件著作权', '作品著作权', '失信信息', '双随机抽查', '融资信息', '股东信息', '行政许可',
  12. '专利', '行政处罚', '主要成员', '商标', '被执行人', '终本案件', '限制消费', '询价评估']
  13. skip_item.clear()
  14. def _summary_format(summary: map):
  15. from utils.dim_name_mapping import get_summary_map
  16. result_data = {}
  17. dim_name = get_summary_map()
  18. for i in summary:
  19. if i not in dim_name:
  20. continue
  21. info = dim_name[i]
  22. item_name = info['item_name']
  23. if item_name in result_data:
  24. result_data[item_name] = result_data[item_name] + summary[i]
  25. pass
  26. else:
  27. result_data[item_name] = summary[i]
  28. for i in skip_item:
  29. if i in result_data:
  30. del result_data[i]
  31. # print(result_data.keys())
  32. # print(map_2_json_str(result_data))
  33. return result_data
  34. pass
  35. def search_summary(company_id: str):
  36. dsl = {
  37. "size": 1000,
  38. "query": {
  39. "term": {
  40. "_id": {
  41. "value": company_id
  42. }
  43. }
  44. }
  45. }
  46. res = es_sdk.query(index='ng_rt_summary_company', doc_type='_doc', dsl=dsl)
  47. res_map = {}
  48. for i in res:
  49. m = i['summary']
  50. for j in m:
  51. res_map[j] = m[j]
  52. log.info('fetch winhc summary: {}'.format(res_map))
  53. # print(map_2_json_str(res_map))
  54. return _summary_format(res_map)
  55. if __name__ == '__main__':
  56. res_map = search_summary(company_id='6e13b126ee0c5fcd8fe454693ab4bbda')
  57. print(map_2_json_str(res_map))
  58. pass