This commit is contained in:
Felix
2025-12-10 20:13:19 +08:00
parent 96db49b98f
commit 83d2a35553
3 changed files with 22 additions and 56 deletions

View File

@@ -8,7 +8,7 @@ from backend.app.admin.schema.wx import WxLoginRequest, TokenResponse, UserInfo,
from backend.app.admin.service.wx_service import wx_service
from backend.common.response.response_schema import response_base, ResponseSchemaModel
from backend.common.security.jwt import wx_openid_authentication, create_access_token, create_refresh_token
from backend.common.security.jwt import wx_openid_authentication, create_access_token, create_refresh_token, DependsJwtAuth
from backend.app.admin.schema.token import BasicWxUserInfo, WxSettings, PointsBrief
from backend.app.admin.service.points_service import points_service
from backend.utils.timezone import timezone
@@ -113,55 +113,8 @@ async def get_current_user(request: Request, response: Response) -> ResponseSche
return response_base.success(data=data)
# @router.put("/settings", summary="更新用户设置", dependencies=[DependsJwtAuth])
# async def update_user_settings(
# request: Request,
# settings: UpdateUserSettingsRequest
# ) -> ResponseSchemaModel[None]:
# """
# 更新用户设置
# """
#
# # 更新用户设置
# await wx_service.update_user_settings(
# user_id=request.user.id,
# dict_level=settings.dict_level
# )
#
# return response_base.success()
#
#
# @router.get("/settings", summary="获取用户设置", dependencies=[DependsJwtAuth])
# async def get_user_settings(
# request: Request
# ) -> ResponseSchemaModel[GetUserSettingsResponse]:
# """
# 获取用户设置
# """
# # 从请求中获取用户ID实际项目中应该从JWT token中获取
# user_id = getattr(request.state, 'user_id', None)
# if not user_id:
# raise HTTPException(status_code=401, detail="未授权访问")
#
# # 获取用户信息
# async with async_db_session() as db:
# user = await wx_user_dao.get(db, user_id)
# if not user:
# raise HTTPException(status_code=404, detail="用户不存在")
#
# # 提取设置信息
# dict_level = None
# if user.profile and isinstance(user.profile, dict):
# dict_level_value = user.profile.get("dict_level")
# if dict_level_value:
# # 将字符串值转换为枚举值
# try:
# dict_level = DictLevel(dict_level_value)
# except ValueError:
# pass # 无效值保持为None
#
# response_data = GetUserSettingsResponse(
# dict_level=dict_level
# )
#
# return response_base.success(data=response_data)
# @router.put('/agree-terms', summary='同意服务条款时间', dependencies=[DependsJwtAuth])
# async def agree_terms(request: Request) -> ResponseSchemaModel[dict]:
# ts = await wx_service.update_agree_terms(user_id=request.user.id)
# return response_base.success(data={"agree_terms": ts})

View File

@@ -134,7 +134,7 @@ class FileService:
)
update_params = UpdateFileParam(
storage_path=avif_key,
storage_path=storage_path,
metadata_info=meta,
details={
"key": key,
@@ -143,7 +143,7 @@ class FileService:
}
)
await file_dao.update(db, file_id, update_params)
db_file.storage_path = avif_key
db_file.storage_path = storage_path
else:
# 数据库存储,将文件数据保存到数据库
db_file.file_data = content

View File

@@ -47,7 +47,8 @@ class WxAuthService:
session_key=session_key,
profile={
'dict_level': DictLevel.LEVEL1.value,
'dict_category': DictCategory.GENERAL.value
'dict_category': DictCategory.GENERAL.value,
'agree_terms': timezone.now().isoformat(),
},
)
await wx_user_dao.add(db, user)
@@ -154,5 +155,17 @@ class WxAuthService:
# 使用新的方法更新用户资料会自动更新updated_time字段
await wx_user_dao.update_user_profile(db, user_id, user.profile)
@staticmethod
async def update_agree_terms(*, user_id: int) -> str:
async with async_db_session.begin() as db:
user = await wx_user_dao.get(db, user_id)
if not user:
raise ValueError("用户不存在")
profile = user.profile or {}
ts = timezone.now().isoformat()
profile["agree_terms"] = ts
await wx_user_dao.update_user_profile(db, user_id, profile)
return ts
wx_service: WxAuthService = WxAuthService()