# -*- coding: utf-8 -*- # @Time : 2023/7/20 16:27 # @Author : XuJiakai # @File : company_court_open_announcement # @Software: PyCharm from data_clean.dim_template_class import DimTemplateClass from data_clean.exception.exception_handle import exception_handle from data_clean.exception.ruler_validation_exception import RulerValidationException from data_clean.utils.str_utils import json_str_2_list async def party_intersect(row_data: dict) -> dict: plaintiff_info = json_str_2_list(row_data['plaintiff_info'], "name") defendant_info = json_str_2_list(row_data['defendant_info'], "name") inter = list(set(plaintiff_info).intersection(set(defendant_info))) if len(inter) == 0: return row_data else: raise RulerValidationException("ccoa_001", "当事人有交叉:%s" % inter) pass validate_func = [ party_intersect ] class CompanyCourtOpenAnnouncement(DimTemplateClass): @exception_handle async def _exec_row(self, row_data: dict): for func in validate_func: row_data = await func(row_data) pass return row_data pass if __name__ == '__main__': pass