diff --git a/Mods/BasicInformation/Crud.py b/Mods/BasicInformation/Crud.py index d67b04c..719b05d 100644 --- a/Mods/BasicInformation/Crud.py +++ b/Mods/BasicInformation/Crud.py @@ -1,5 +1,7 @@ from fastapi import HTTPException from sqlalchemy.orm import Session + +from .Mods.CompanyEquityPenetration.Models import CompanyEquityPenetration from .Mods.CompanyIndexMain.Models import CompanyIndexMain from .Mods.CompanyBaseInfo.Models import CompanyBaseInfo from .Mods.CompanyPlusProperty.Models import CompanyPlusProperty @@ -21,12 +23,18 @@ def company_all_info_query(db: Session, query_params: Schemas.CompanyAllInfoQuer "company_index_main": CompanyIndexMain, "company_base_info": CompanyBaseInfo, "company_plus_property": CompanyPlusProperty, - "company_control": CompanyControl + "company_control": CompanyControl, + # "company_equity_penetration": CompanyEquityPenetration, + # "company_shareholder": CompanyShareholder, } params_dict = query_params.dict() for key in params_dict: if key in model_dict: - if key == "company_index_main": continue + if key == "company_index_main": + continue + param_list = getattr(query_params, key) + if not param_list: + continue query = query.join(model_dict[key], getattr(model_dict[key], 'company_id') == CompanyIndexMain.company_id) for key in params_dict: if key in model_dict: @@ -40,6 +48,9 @@ def company_all_info_query(db: Session, query_params: Schemas.CompanyAllInfoQuer company_id_list = [item.company_id for item in query] company_info_dict = {company_id: {"company_id": company_id} for company_id in company_id_list} + for company_id in company_id_list: + for key, model in model_dict.items(): + company_info_dict[company_id][key] = {} for key, model in model_dict.items(): for item in db.query(model).filter(getattr(model, "company_id").in_(company_id_list)): company_info_dict[item.company_id][key] = item.to_dict() diff --git a/Mods/BasicInformation/Mods/CompanyEquityPenetration/Models.py b/Mods/BasicInformation/Mods/CompanyEquityPenetration/Models.py index 297864d..8cb2ce0 100644 --- a/Mods/BasicInformation/Mods/CompanyEquityPenetration/Models.py +++ b/Mods/BasicInformation/Mods/CompanyEquityPenetration/Models.py @@ -1,6 +1,7 @@ from Context.common import common_db from sqlalchemy import Column, Integer, String, Text, Date, Double + class CompanyEquityPenetration(common_db.Base): """ 城投股权结构图 @@ -8,6 +9,7 @@ class CompanyEquityPenetration(common_db.Base): __tablename__ = "company_equity_penetration" company_id = Column(Integer, primary_key=True, comment="企业ID") url = Column(Text, comment="股权结构图url") + def to_dict(self): data = {c.name: getattr(self, c.name) for c in self.__table__.columns} - return data \ No newline at end of file + return data diff --git a/Mods/BasicInformation/Schemas.py b/Mods/BasicInformation/Schemas.py index 5c51d6f..25b2d97 100644 --- a/Mods/BasicInformation/Schemas.py +++ b/Mods/BasicInformation/Schemas.py @@ -13,6 +13,7 @@ class CompanyAllInfo(BaseModel): company_base_info: Optional[CompanyBaseInfoInfo] company_plus_property: Optional[CompanyPlusPropertyInfo] company_control: Optional[CompanyControlInfo] + # company_equity_penetration: Optional[CompanyEquityPenetration] class CompanyAllInfoQueryParams(BaseModel): @@ -20,6 +21,8 @@ class CompanyAllInfoQueryParams(BaseModel): company_base_info: Optional[List[QueryParam]] company_plus_property: Optional[List[QueryParam]] company_control: Optional[List[QueryParam]] + # company_equity_penetration: Optional[List[QueryParam]] + # company_shareholder: Optional[List[QueryParam]] page: int page_size: int diff --git a/docs_fect_hook.js b/docs_fect_hook.js index dda646b..00b6082 100644 --- a/docs_fect_hook.js +++ b/docs_fect_hook.js @@ -1,7 +1,7 @@ if(!window.fetchOrg){ window.fetchOrg = window.fetch } -var token ="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6Ind1Y2h1bnF1YW5AZmVjci5jb20uY24iLCJuYW1lIjoiXHU0ZjBkXHU2NjI1XHU1MTY4IiwicmVnaXN0ZXJlZCI6ZmFsc2UsImF1dGhfZGF0YSI6Ilx1NzgxNFx1NTNkMVx1OTBlOFx1OTVlOCIsImRlcGFydG1lbnQiOiIxOCIsInBvc3QiOiI2MCIsImV4cCI6MTY4MDE1NjEzN30.GGYL3bsYfLNmwvWf__dz1N9Ctqcp0aZM1RPxaUNGhF4" +var token ="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6Ind1Y2h1bnF1YW5AZmVjci5jb20uY24iLCJyZWdpc3RlcmVkIjp0cnVlLCJhdXRoX2RhdGEiOiIxLDIsMyw0LDUsNiw3LDgsOSIsImRlcGFydG1lbnQiOiIxOCIsInBvc3QiOiI2MCIsImV4cCI6MTY4MDE2MDQzMH0.5VCwXrFvlOaCX0vk-lxuCjyCQHLW3hL6h3ye5Lv0Gbs" var fetchHook = (...args) => { if (args.length > 1) {