This commit is contained in:
zlwu committed 2026-08-21 16:50:47 +08:00
1 parent 6dc8cfb2c1
commit d26fb23fcf
181 files changed
+25727 -24557

No files matched your search

+68 -7
View File
@@ -18,6 +18,7 @@ from app.core.storage import storage
from app.crud import tenant as tenant_svc
from app.crud import dict_type as dict_type_svc
from app.crud import dict_data as dict_data_svc
from app.services import dict_ensure as dict_ensure_svc
from app.crud import dept as dept_svc
from app.crud import site as site_svc
from app.crud import post as post_svc
@@ -148,7 +149,7 @@ class TenantUpdateBody(BaseModel):
@router.get("/tenants")
def list_tenants(
page: int = Query(1, ge=1),
pageSize: int = Query(10, ge=1, le=100, alias="pageSize"),
pageSize: int = Query(10, ge=1, le=500, alias="pageSize"),
keyword: Optional[str] = None,
_user: dict = Depends(require_admin_or_super_admin),
db: Session = Depends(get_db),
@@ -279,7 +280,7 @@ class UserUpdateBody(BaseModel):
@router.get("/users")
def list_users(
page: int = Query(1, ge=1),
pageSize: int = Query(10, ge=1, le=100, alias="pageSize"),
pageSize: int = Query(10, ge=1, le=500, alias="pageSize"),
keyword: Optional[str] = None,
deptId: Optional[str] = Query(None, alias="deptId"),
status: Optional[str] = None,
@@ -469,7 +470,7 @@ class DictTypeUpdateBody(BaseModel):
@router.get("/dict-types")
def list_dict_types(
page: int = Query(1, ge=1),
pageSize: int = Query(10, ge=1, le=100, alias="pageSize"),
pageSize: int = Query(10, ge=1, le=500, alias="pageSize"),
keyword: Optional[str] = None,
user: dict = Depends(require_menu_code("system:dict:list")),
db: Session = Depends(get_db),
@@ -571,7 +572,7 @@ class DictDataUpdateBody(BaseModel):
@router.get("/dict-data")
def list_dict_data(
page: int = Query(1, ge=1),
pageSize: int = Query(10, ge=1, le=100, alias="pageSize"),
pageSize: int = Query(10, ge=1, le=500, alias="pageSize"),
dictType: Optional[str] = None,
keyword: Optional[str] = None,
user: dict = Depends(require_menu_code("system:dict:list")),
@@ -683,6 +684,66 @@ def dict_data_all(
return success_response(grouped)
class DictEnsureBody(BaseModel):
model_config = ConfigDict(populate_by_name=True)
dict_type: str = Field(..., alias="dictType")
label: str
preferred_value: Optional[str] = Field(None, alias="preferredValue")
class DictEnsureRemoveBody(BaseModel):
model_config = ConfigDict(populate_by_name=True)
dict_type: str = Field(..., alias="dictType")
value: str
@router.post("/dict-data/ensure")
def ensure_dict_data_api(
body: DictEnsureBody,
user: dict = Depends(require_admin_or_super_admin),
db: Session = Depends(get_db),
):
try:
tenant_no = _get_tenant_no(db, user)
data = dict_ensure_svc.ensure_dict_data(
db,
tenant_no=tenant_no,
dict_type=body.dict_type,
label=body.label,
user_id=user.get("user_id") or user.get("id") or "",
preferred_value=body.preferred_value,
)
db.commit()
return success_response(data, message="已保存")
except dict_ensure_svc.DictEnsureError as e:
db.rollback()
return error_response(400, str(e))
@router.post("/dict-data/ensure-remove")
def ensure_remove_dict_data_api(
body: DictEnsureRemoveBody,
user: dict = Depends(require_admin_or_super_admin),
db: Session = Depends(get_db),
):
try:
tenant_no = _get_tenant_no(db, user)
dict_ensure_svc.ensure_remove_dict_data(
db,
tenant_no=tenant_no,
dict_type=body.dict_type,
value=body.value,
user_id=user.get("user_id") or user.get("id") or "",
)
db.commit()
return success_response(None, message="已删除")
except dict_ensure_svc.DictEnsureError as e:
db.rollback()
return error_response(400, str(e))
# ---------------------------------------------------------------------------
# 组织管理
# ---------------------------------------------------------------------------
@@ -827,7 +888,7 @@ class SiteUpdateBody(BaseModel):
@router.get("/sites")
def list_sites(
page: int = Query(1, ge=1),
pageSize: int = Query(10, ge=1, le=100, alias="pageSize"),
pageSize: int = Query(10, ge=1, le=500, alias="pageSize"),
keyword: Optional[str] = None,
user: dict = Depends(require_menu_code("system:site:list")),
db: Session = Depends(get_db),
@@ -936,7 +997,7 @@ class PostUpdateBody(BaseModel):
@router.get("/posts")
def list_posts(
page: int = Query(1, ge=1),
pageSize: int = Query(10, ge=1, le=100, alias="pageSize"),
pageSize: int = Query(10, ge=1, le=500, alias="pageSize"),
keyword: Optional[str] = None,
user: dict = Depends(require_menu_code("system:post:list")),
db: Session = Depends(get_db),
@@ -1206,7 +1267,7 @@ class RoleDataScopeBody(BaseModel):
@router.get("/role-management")
def list_role_management(
page: int = Query(1, ge=1),
pageSize: int = Query(10, ge=1, le=100, alias="pageSize"),
pageSize: int = Query(10, ge=1, le=500, alias="pageSize"),
keyword: Optional[str] = None,
user: dict = Depends(require_menu_code("system:role:list")),
db: Session = Depends(get_db),