from Utils.ObjUtil import SpecObject from Utils.ValidateUtil import ValidateAttr class SearchCompanyBody(SpecObject): """""" class SearchBody(SpecObject): """""" cid = ValidateAttr(field='cid', type=str) name = ValidateAttr(field='name', type=str) industry = ValidateAttr(field='industry', type=str) credit_level = ValidateAttr(field='credit_level', in_list=["AAA", "AA+", "AA", "AA-", "BBB+", "BBB", "BBB-", "BB+", "BB", "BB-", "B+", "B", "B-", "CCC+", "CCC", "CCC-", "CC+", "CC", "CC-", "C+", "C", "C-"]) esg_level = ValidateAttr(field='esg_level', in_list=["A", "B", "C", "D", "E"]) fields_map = { "cid": "企业ID", "name": "企业名称", "industry": "一级行业", "credit_level": "综信评价", "esg_level": "ESG评价" } def make_search_body(self): """""" search_keys = list(self.__dict__.keys()) body = dict() if "cid" in search_keys: body['企业ID'] = self.cid if "name" in search_keys: body['企业名称'] = {"$regex": self.name} if "industry" in search_keys: body['一级行业'] = {"$in": self.industry} if "credit_level" in search_keys: body['综信评价结果.信用等级'] = {"$in": self.credit_level} if "esg_level" in search_keys: body['ESG评价结果.评价等级'] = {"$in": self.esg_level} return body class SortBody(SpecObject): """""" field = ValidateAttr() sort = ValidateAttr() search = ValidateAttr(field='search', type=SearchBody) sort = ValidateAttr(field='sort', type=dict) page_size = ValidateAttr(field='page_size', type=int) page_no = ValidateAttr(field='page_no', type=int) fields_map = { "search": "搜索体", "sort": "排序", "page_size": "显示数量", "page_no": "页码" } class SearchCompanyResult(SpecObject): """""" cid = ValidateAttr() name = ValidateAttr() industry = ValidateAttr() credit_level = ValidateAttr() esg_level = ValidateAttr() fields_map = { "cid": "企业ID", "name": "企业名称", "industry": "一级行业", "credit_level": "综信评价", "esg_level": "ESG评价" }