company_court_open_announcement.py 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. # -*- coding: utf-8 -*-
  2. # @Time : 2023/7/20 16:27
  3. # @Author : XuJiakai
  4. # @File : company_court_open_announcement
  5. # @Software: PyCharm
  6. from data_clean.dim_template_class import DimTemplateClass
  7. from data_clean.exception.exception_handle import exception_handle
  8. from data_clean.exception.ruler_validation_exception import RulerValidationException
  9. from data_clean.utils.str_utils import json_str_2_list
  10. async def party_intersect(row_data: dict) -> dict:
  11. plaintiff_info = json_str_2_list(row_data['plaintiff_info'], "name")
  12. defendant_info = json_str_2_list(row_data['defendant_info'], "name")
  13. inter = list(set(plaintiff_info).intersection(set(defendant_info)))
  14. if len(inter) == 0:
  15. return row_data
  16. else:
  17. raise RulerValidationException("ccoa_001", "当事人有交叉:%s" % inter)
  18. pass
  19. validate_func = [
  20. party_intersect
  21. ]
  22. class CompanyCourtOpenAnnouncement(DimTemplateClass):
  23. @exception_handle
  24. async def _exec_row(self, row_data: dict):
  25. for func in validate_func:
  26. row_data = await func(row_data)
  27. pass
  28. return row_data
  29. pass
  30. if __name__ == '__main__':
  31. pass