feat: update audit platform workspace
This commit is contained in:
@@ -0,0 +1,99 @@
|
||||
"""企查查控制器。"""
|
||||
|
||||
from typing import Any
|
||||
|
||||
from fastapi import Depends, Query
|
||||
from fastapi.responses import JSONResponse
|
||||
|
||||
from fastapi_common.fastapi_common_security.security import verify_access_token
|
||||
from fastapi_common.fastapi_common_web.controller import BaseController
|
||||
from fastapi_common.fastapi_common_web.domain.responses import Result
|
||||
from fastapi_modules.fastapi_leaudit.domian.Dto.qichachaDto import QichachaBatchQueryDTO, QichachaCompanyQueryDTO
|
||||
from fastapi_modules.fastapi_leaudit.domian.vo.qichachaVo import (
|
||||
QichachaBatchQueryVO,
|
||||
QichachaCompanyQueryVO,
|
||||
QichachaRecordStatusVO,
|
||||
)
|
||||
from fastapi_modules.fastapi_leaudit.services.impl.permissionServiceImpl import PermissionServiceImpl
|
||||
from fastapi_modules.fastapi_leaudit.services.impl.qichachaServiceImpl import QichachaServiceImpl
|
||||
from fastapi_modules.fastapi_leaudit.services.permissionService import IPermissionService
|
||||
from fastapi_modules.fastapi_leaudit.services.qichachaService import IQichachaService
|
||||
|
||||
|
||||
class QichachaController(BaseController):
|
||||
"""企查查控制器。"""
|
||||
|
||||
def __init__(self):
|
||||
super().__init__(prefix="/v2/qichacha", tags=["企查查"])
|
||||
self.QichachaService: IQichachaService = QichachaServiceImpl()
|
||||
self.PermissionService: IPermissionService = PermissionServiceImpl()
|
||||
|
||||
@self.router.post("/company", response_model=Result[QichachaCompanyQueryVO])
|
||||
async def QueryCompany(Body: QichachaCompanyQueryDTO, payload: dict[str, Any] = Depends(verify_access_token)):
|
||||
"""查询企业完整信息。"""
|
||||
if not await self.PermissionService.CheckPermission(int(payload["user_id"]), "qichacha:company:query"):
|
||||
return JSONResponse(
|
||||
status_code=403,
|
||||
content={"code": 403, "message": "当前用户没有查询企业信息权限", "data": None},
|
||||
)
|
||||
data = await self.QichachaService.QueryCompany(
|
||||
Keyword=Body.keyword,
|
||||
ForceRefresh=Body.forceRefresh,
|
||||
)
|
||||
return Result.success(data=data)
|
||||
|
||||
@self.router.post("/enterprise", response_model=Result[QichachaCompanyQueryVO])
|
||||
async def QueryEnterprise(Body: QichachaCompanyQueryDTO, payload: dict[str, Any] = Depends(verify_access_token)):
|
||||
"""仅查询企业工商信息。"""
|
||||
if not await self.PermissionService.CheckPermission(int(payload["user_id"]), "qichacha:company:query"):
|
||||
return JSONResponse(
|
||||
status_code=403,
|
||||
content={"code": 403, "message": "当前用户没有查询企业信息权限", "data": None},
|
||||
)
|
||||
data = await self.QichachaService.QueryEnterpriseOnly(
|
||||
Keyword=Body.keyword,
|
||||
ForceRefresh=Body.forceRefresh,
|
||||
)
|
||||
return Result.success(data=data)
|
||||
|
||||
@self.router.post("/dishonesty", response_model=Result[QichachaCompanyQueryVO])
|
||||
async def QueryDishonesty(Body: QichachaCompanyQueryDTO, payload: dict[str, Any] = Depends(verify_access_token)):
|
||||
"""仅查询企业失信信息。"""
|
||||
if not await self.PermissionService.CheckPermission(int(payload["user_id"]), "qichacha:company:query"):
|
||||
return JSONResponse(
|
||||
status_code=403,
|
||||
content={"code": 403, "message": "当前用户没有查询企业信息权限", "data": None},
|
||||
)
|
||||
data = await self.QichachaService.QueryDishonestyOnly(
|
||||
Keyword=Body.keyword,
|
||||
ForceRefresh=Body.forceRefresh,
|
||||
)
|
||||
return Result.success(data=data)
|
||||
|
||||
@self.router.post("/batch", response_model=Result[QichachaBatchQueryVO])
|
||||
async def BatchQuery(Body: QichachaBatchQueryDTO, payload: dict[str, Any] = Depends(verify_access_token)):
|
||||
"""批量查询企业信息。"""
|
||||
if not await self.PermissionService.CheckPermission(int(payload["user_id"]), "qichacha:company:query"):
|
||||
return JSONResponse(
|
||||
status_code=403,
|
||||
content={"code": 403, "message": "当前用户没有查询企业信息权限", "data": None},
|
||||
)
|
||||
data = await self.QichachaService.BatchQuery(
|
||||
Keywords=Body.keywords,
|
||||
ForceRefresh=Body.forceRefresh,
|
||||
)
|
||||
return Result.success(data=data)
|
||||
|
||||
@self.router.get("/status", response_model=Result[QichachaRecordStatusVO])
|
||||
async def GetRecordStatus(
|
||||
keyword: str = Query(..., min_length=2, description="企业名称或统一社会信用代码"),
|
||||
payload: dict[str, Any] = Depends(verify_access_token),
|
||||
):
|
||||
"""查询企业缓存状态。"""
|
||||
if not await self.PermissionService.CheckPermission(int(payload["user_id"]), "qichacha:status:read"):
|
||||
return JSONResponse(
|
||||
status_code=403,
|
||||
content={"code": 403, "message": "当前用户没有查看企业缓存状态权限", "data": None},
|
||||
)
|
||||
data = await self.QichachaService.GetRecordStatus(Keyword=keyword)
|
||||
return Result.success(data=data)
|
||||
Reference in New Issue
Block a user