company_court_open_announcement.py 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. # -*- coding: utf-8 -*-
  2. # @Time : 2023/7/20 16:27
  3. # @Author : XuJiakai
  4. # @File : company_court_open_announcement
  5. # @Software: PyCharm
  6. import os
  7. from data_clean.dim_handle_registry import DimHandleRegistry
  8. from data_clean.exception.exception_handle import exception_handle
  9. from data_clean.exception.ruler_validation_exception import RulerValidationException
  10. from data_clean.utils.str_utils import json_str_2_list
  11. # 必须命名为dim_handle
  12. dim_handle = DimHandleRegistry(os.path.basename(__file__))
  13. @dim_handle.registry_prefix_func
  14. @exception_handle
  15. async def prefix_func(dim_data: list):
  16. print("前置程序:", dim_data)
  17. pass
  18. @dim_handle.registry_postfix_func()
  19. @exception_handle
  20. async def post_func(dim_data: list):
  21. print("后置程序")
  22. pass
  23. @dim_handle.registry_row_func
  24. @exception_handle
  25. async def party_intersect(row_data: dict) -> dict:
  26. plaintiff_info = json_str_2_list(row_data['plaintiff_info'], "name")
  27. defendant_info = json_str_2_list(row_data['defendant_info'], "name")
  28. inter = list(set(plaintiff_info).intersection(set(defendant_info)))
  29. if len(inter) == 0:
  30. return row_data
  31. else:
  32. raise RulerValidationException("ccoa_001", "当事人有交叉:%s" % inter)
  33. pass