diff --git a/.idea/misc.xml b/.idea/misc.xml index 3ee3f4c..1e5facf 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,4 +1,4 @@ - + \ No newline at end of file diff --git a/mods/smebiz_rate/company_rate/rate_utils/utils.py b/mods/smebiz_rate/company_rate/rate_utils/utils.py index 3a4620b..b862a8f 100644 --- a/mods/smebiz_rate/company_rate/rate_utils/utils.py +++ b/mods/smebiz_rate/company_rate/rate_utils/utils.py @@ -44,10 +44,11 @@ def load_api_data(company_name): 限制消费令数量 = tianyancha_api.get_total("限制消费令", {"keyword": company_name}) 股权变更, _ = tianyancha_api.get("股权变更", {"keyword": company_name}) 新闻舆情, _ = tianyancha_api.get("新闻舆情", {"name": company_name}, page=1) - + 行政处罚, _ = tianyancha_api.get("行政处罚", {"keyword": company_name}) 成立年限 = datetime.now().year - datetime.fromtimestamp( 企业基本信息['estiblishTime'] / 1000).year if 企业基本信息 else 0 - 企业类型 = 企业基本信息['companyOrgType'] + + 企业类型 = '有限责任公司' if '有限责任' in 企业基本信息['companyOrgType'].split("(")[0] else '股份制公司' 开庭公告_劳动争议 = len( [item["caseReason"] for item in filter_bg(司法风险['ktAnnouncementList'], company_name) if @@ -70,10 +71,17 @@ def load_api_data(company_name): datetime.fromtimestamp(item['change_time'] / 1000) > now.replace(year=now.year - 3)]) 最近10条企业舆情负面占比 = len([item for item in 新闻舆情 if item['emotion'] == -1]) / 10 * 100 + + 行政处罚_警告 = len([item for item in 行政处罚 if (item['type'] in ["警告", "通报批评", "罚款"] or any( + map(lambda s: s in item['content'], ["警告", "通报批评", "罚款"]))) and '没收' not in item['content']]) + 行政处罚_没收 = len( + [item for item in 行政处罚 if item['type'] in ["没收"] or any(map(lambda s: s in item['content'], ["没收"]))]) data = { "成立年限": 成立年限, "企业类型": 企业类型, # "股东性质": None, + "行政处罚(警告、通报批评、罚款)": 行政处罚_警告, + "行政处罚(没收违法所得、没收非法财务...)": 行政处罚_没收, "近三年股东变更次数": 近三年股东变更次数, "最近10条企业舆情负面占比": 最近10条企业舆情负面占比, "开庭公告(被告-合同纠纷、劳动争议)": 开庭公告_劳动争议 + 开庭公告_被告_合同纠纷, @@ -81,7 +89,6 @@ def load_api_data(company_name): "双随机抽查结果": 双随机抽查结果, "经营异常": 经营异常数量, "欠税公告": 欠税公告数量, - "行政处罚": 行政处罚数量, "被执行人": 被执行人数量, "失信被执行人": 失信被执行人数量, "税收违法": 税收违法数量, diff --git a/mods/smebiz_rate/company_rate/router.py b/mods/smebiz_rate/company_rate/router.py index b2fa465..678a654 100644 --- a/mods/smebiz_rate/company_rate/router.py +++ b/mods/smebiz_rate/company_rate/router.py @@ -6,6 +6,7 @@ from . import schemas from . import crud from utils.sqlalchemy_common_utils import QueryParams, query_common from .models import CompanyRate +from ..company_user.models import CompanyUser router = APIRouter(tags=["公司评级数据"]) @@ -65,6 +66,16 @@ def company_rate(req: schemas.CompanyRateGetReq, db: Session = Depends(common_db return res.to_dict() +@router.post("/company_rate/load_api_data", summary="三方接口数据获取") +def company_rate(req: schemas.CompanyRateGetReq, db: Session = Depends(common_db.get_db)): + item = db.query(CompanyRate).filter(CompanyRate.id == req.id).first() + if item: + res = crud.load_api_data(item.company_name) + return res + else: + raise HTTPException(detail="未查询到公司信息", status_code=404) + + @router.post("/company_rate/get_full_info", summary="获取详细信息") def company_rate(req: schemas.CompanyRateGetReq, db: Session = Depends(common_db.get_db)): res = crud.get_full_info(db, req.id) diff --git a/static/model.json b/static/model.json index 15198f8..cc52550 100644 --- a/static/model.json +++ b/static/model.json @@ -491,6 +491,7 @@ "type": "enum", "config": { "options": [ + "有限责任公司","股份制公司" ] } }, diff --git a/static/model/smebiz/model.json b/static/model/smebiz/model.json index 15198f8..cc52550 100644 --- a/static/model/smebiz/model.json +++ b/static/model/smebiz/model.json @@ -491,6 +491,7 @@ "type": "enum", "config": { "options": [ + "有限责任公司","股份制公司" ] } },