tfse-admin-api-v0.2/Manage/Company/CompanyObj.py

79 lines
2.4 KiB
Python

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评价"
}