牧安云哨-后端

This commit is contained in:
BBIT-Kai
2025-12-23 09:55:06 +08:00
parent f018d96e60
commit b5a9714025
16 changed files with 1219 additions and 75 deletions
+118 -19
View File
@@ -1,4 +1,4 @@
from fastapi import APIRouter, Depends
from fastapi import APIRouter, Depends, Query
from config.security import get_user_id_from_token
from db.postgres.system import *
@@ -60,7 +60,7 @@ async def dept_update(
parent_id = data.get("pid")
name = data.get("name")
comment = data.get("comment")
comment = data.get("remark")
rowcount = update_dept(id, parent_id, name, comment)
if rowcount == 0:
@@ -294,12 +294,11 @@ async def delete_role(
@systemRouter.get("/user/name-exists")
async def user_name_exists(
username: str,
id: str | None = None,
user_id: UUID = Depends(get_user_id_from_token),
):
if not user_id:
return {"error": "userId is required"}
exists = db_user_name_exists(username, id)
exists = db_user_name_exists(username)
return BaseResponse(data=exists)
@@ -333,21 +332,6 @@ async def create_user(data: dict, user_id: UUID = Depends(get_user_id_from_token
return BaseResponse(data={"id": new_id})
@systemRouter.put("/user/{id}")
async def update_user(
id: str,
data: dict,
user_id: UUID = Depends(get_user_id_from_token),
):
if not user_id:
return {"error": "userId is required"}
count = update_user_db(id, data)
if count == 0:
return BaseResponse(status=False, message="用户不存在", data=None)
return BaseResponse(data=True)
@systemRouter.patch("/user/{id}")
async def patch_user(
id: str,
@@ -375,3 +359,118 @@ async def delete_user(
if deleted == 0:
return BaseResponse(status=False, message="用户不存在", data=None)
return BaseResponse(data=True)
@systemRouter.get("/dict/list")
def getScVideoList(
user_id: UUID = Depends(get_user_id_from_token),
name: str = "",
page: int = Query(1, ge=1),
page_size: int = Query(10, ge=1, le=100),
):
if not user_id:
return {"error": "userId is required"}
total, items = get_dict_list(name, page=page, page_size=page_size)
return BaseResponse(
data={
"total": total,
"items": items,
}
)
@systemRouter.post("/dict")
def create_dict_api(data: dict, user_id: UUID = Depends(get_user_id_from_token)):
"""
创建字典接口
data = { "key": str, "name": str, "remark": str }
"""
if not user_id:
return {"error": "userId is required"}
new_id = db_create_dict(data.get("key"), data.get("name"), data.get("remark"))
return BaseResponse(data={"id": new_id})
@systemRouter.put("/dict/{id}")
def update_dict_api(
id: str, data: dict, user_id: UUID = Depends(get_user_id_from_token)
):
"""
更新字典接口
"""
if not user_id:
return {"error": "userId is required"}
db_update_dict(id, data.get("key"), data.get("name"), data.get("remark"))
return BaseResponse(data={"id": id})
@systemRouter.delete("/dict/{id}")
def delete_dict_api(id: str, user_id: UUID = Depends(get_user_id_from_token)):
"""
删除字典接口
"""
if not user_id:
return {"error": "userId is required"}
db_delete_dict(id)
return BaseResponse(data={"id": id})
@systemRouter.get("/dict/detail/list")
def get_dict_detail_api(dictId: str, user_id: UUID = Depends(get_user_id_from_token)):
if not user_id:
return {"error": "userId is required"}
items = db_get_dict_detail(dictId)
return BaseResponse(data={"list": items})
@systemRouter.post("/dict/detail")
def create_dict_detail_api(data: dict, user_id: UUID = Depends(get_user_id_from_token)):
if not user_id:
return {"error": "userId is required"}
new_id = db_create_dict_detail(
value=data.get("value"),
dict_id=data.get("dict_id"),
sort=data.get("sort", 0),
pid=data.get("pid"),
remark=data.get("remark"),
)
return BaseResponse(data={"id": new_id})
@systemRouter.put("/dict/detail/{id}")
def update_dict_detail_api(
id: str, data: dict, user_id: UUID = Depends(get_user_id_from_token)
):
if not user_id:
return {"error": "userId is required"}
db_update_dict_detail(
id=id,
value=data.get("value"),
sort=data.get("sort"),
pid=data.get("pid"),
remark=data.get("remark"),
)
return BaseResponse(data={"id": id})
@systemRouter.delete("/dict/detail/{id}")
def delete_dict_detail_api(id: str, user_id: UUID = Depends(get_user_id_from_token)):
if not user_id:
return {"error": "userId is required"}
db_delete_dict_detail(id)
return BaseResponse(data={"id": id})
@systemRouter.get("/dict/getValue")
def get_dict_detail_by_key(
key: str = Query(..., min_length=1),
):
if not key:
return {"error": "key is required"}
items = get_dict_detail_list_by_key(key)
return BaseResponse(data=items)