创建user模块
This commit is contained in:
parent
fd61ecd37c
commit
f98fa2f4de
|
@ -8,4 +8,11 @@
|
|||
<orderEntry type="jdk" jdkName="Python 3.9 (rate-sys-template)" jdkType="Python SDK" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
</component>
|
||||
<component name="PyNamespacePackagesService">
|
||||
<option name="namespacePackageFolders">
|
||||
<list>
|
||||
<option value="$MODULE_DIR$/Mods" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
</module>
|
|
@ -44,7 +44,11 @@ def company_rate_query(req: Schemas.CompanyRateQueryReq, db: Session = Depends(c
|
|||
items = [Schemas.CompanyRateInfo(**item.to_dict()) for item in query]
|
||||
return Schemas.CompanyRateQueryRes(count=count, items=items)
|
||||
|
||||
|
||||
@router.post("/company_rate/query", summary="查询公司评级数据", response_model=Schemas.CompanyRateQueryRes)
|
||||
def company_rate_query(req: Schemas.CompanyRateQueryReq, db: Session = Depends(common_db.get_db)):
|
||||
count, query = Crud.company_rate_query(db, req)
|
||||
items = [Schemas.CompanyRateInfo(**item.to_dict()) for item in query]
|
||||
return Schemas.CompanyRateQueryRes(count=count, items=items)
|
||||
@router.post("/company_rate/query_common", summary="通用查询公司评级数据",
|
||||
response_model=Schemas.CompanyRateQueryRes)
|
||||
def company_rate_query_common(req: QueryParams, db: Session = Depends(common_db.get_db)):
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
from fastapi import APIRouter
|
||||
from .FormFile import Router as FormFileRouter
|
||||
from .CompanyRate import Router as CompanyRateRouter
|
||||
from .CompanyUser import Router as CompanyUserRouter
|
||||
from .User.CompanyUser import Router as CompanyUserRouter
|
||||
|
||||
router = APIRouter(prefix="")
|
||||
router.include_router(FormFileRouter.router)
|
||||
router.include_router(CompanyRateRouter.router)
|
||||
|
|
|
@ -16,7 +16,7 @@ class CompanyUser(common_db.Base):
|
|||
phone = Column(String(255), comment="手机号")
|
||||
company_name = Column(String(255), comment="公司名称")
|
||||
passwd = Column(String(255), comment="hash密码")
|
||||
verified = Column(Boolean, default=False, comment="是否通过验证")
|
||||
business_license= Column(Integer,comment="营业执照文件ID")
|
||||
create_time = Column(DateTime, server_default=func.now(), comment='创建时间')
|
||||
|
||||
def to_dict(self):
|
|
@ -3,15 +3,12 @@ from sqlalchemy.orm import Session
|
|||
|
||||
from Context.common import common_db, conf, email_code_verify, company_user_auth_util, tianyancha_api, \
|
||||
CompanyUserTokenDataModel
|
||||
from Utils.EmailUtils import email_check
|
||||
from Utils.PasswdUtils import get_encrypt_password, decode_b64_pwd
|
||||
from Utils.ValidateUtil import Validate
|
||||
from Utils.VerifyCodeUtils import EmailVerifyType
|
||||
from . import Schemas
|
||||
from . import Crud
|
||||
from Utils.SqlAlchemyUtils import QueryParams, query_common
|
||||
from .Models import CompanyUser
|
||||
from ..FormFile import Crud as FormFileCrud
|
||||
from Mods.FormFile import Crud as FormFileCrud
|
||||
from Utils.OcrUtils import ocr_business_license
|
||||
|
||||
router = APIRouter(tags=["企业用户"])
|
|
@ -9,7 +9,7 @@ class CompanyUserInfo(BaseModel):
|
|||
phone: Optional[str]
|
||||
company_name: Optional[str]
|
||||
passwd: Optional[str]
|
||||
verified: Optional[bool]
|
||||
business_license: Optional[int]
|
||||
create_time: Optional[datetime]
|
||||
|
||||
|
|
@ -2,6 +2,7 @@ from typing import Literal, List, Any, Optional
|
|||
|
||||
from pydantic import BaseModel
|
||||
from sqlalchemy import create_engine, Column, and_, asc, desc, func
|
||||
from sqlalchemy.ext.asyncio import create_async_engine, async_sessionmaker
|
||||
from sqlalchemy.ext.declarative import declarative_base
|
||||
from sqlalchemy.orm import sessionmaker, Session, Query
|
||||
from sqlalchemy_utils import database_exists, create_database
|
||||
|
@ -15,6 +16,7 @@ class SqlalchemyConnect:
|
|||
self.password = password
|
||||
self.db = db
|
||||
self.engine = self.init_engine()
|
||||
self.async_engine = self.init_async_engine()
|
||||
|
||||
def init_engine(self):
|
||||
engine = create_engine(
|
||||
|
@ -54,6 +56,17 @@ class SqlalchemyConnect:
|
|||
self.create_db()
|
||||
self.Base.metadata.create_all(bind=self.engine)
|
||||
|
||||
def init_async_engine(self):
|
||||
async_engine = create_async_engine(
|
||||
f"mysql+aiomysql://{self.user}:{self.password}@{self.host}/{self.db}?charset=utf8mb4", pool_recycle=3600 * 4
|
||||
)
|
||||
return async_engine
|
||||
|
||||
def get_async_db(self) -> sessionmaker:
|
||||
async_session = async_sessionmaker(self.async_engine, expire_on_commit=False)
|
||||
db = async_session()
|
||||
yield db
|
||||
|
||||
|
||||
# 通用查询接口
|
||||
|
||||
|
|
|
@ -21,3 +21,4 @@ watchdog~=3.0.0
|
|||
codefind~=0.1.3
|
||||
sqlalchemy-utils~=0.41.1
|
||||
pandas~=2.0.2
|
||||
aiomysql!=0.2.0
|
Loading…
Reference in New Issue