之前存在106.52上的仓库被重新初始化了,同时增加了测试账号的兼容,测试账号hxbtest001,...hxbtest005

This commit is contained in:
qcloud
2025-09-01 20:09:26 +08:00
parent e6644a5262
commit 8d90798647
16 changed files with 25420 additions and 157 deletions

View File

@@ -206,7 +206,8 @@ async def wechat_login(request: Request):
"openid": wx_data["openid"],
"phone": str(phone_number),
"status": 1, # 默认启用状态
"balance": 0 # 初始余额设为0
"balance": 0, # 初始余额设为0
"is_test_account":0
# museums字段需要另存关联表此处暂时保留伪数据
}
create_user(new_user) # 调用CRUD创建方法
@@ -233,6 +234,68 @@ async def wechat_login(request: Request):
}
})
fake_phone_number = {
'hxbtest001':'19912345631',
'hxbtest002':'19912345632',
'hxbtest003':'19912345633',
'hxbtest004':'19912345634',
'hxbtest005':'19912345635',
}
@login_router.post("/testAccountLogin")
async def test_account_login(request: Request):
# 获取原始请求数据
try:
data = await request.json()
except json.JSONDecodeError:
raise HTTPException(400, "Invalid JSON")
# 校验必要参数
required_fields = ["account"]
if not all(k in data for k in required_fields):
raise HTTPException(400, "Missing required fields")
account = data.get('account')
phone_number = fake_phone_number.get(account,'19923145671')
logging.info(f"decrypt_data return {phone_number}")
# ========== 数据库操作开始 ==========
# 使用数据库查询替代内存查询
db_users = get_users(openid=account)
user = db_users[0] if db_users else None
# 用户不存在时创建新用户
if not user:
try:
new_user = {
"user_id": str(uuid.uuid4()), # 使用UUID生成唯一ID
"openid": account,
"phone": phone_number,
"status": 1, # 默认启用状态
"balance": 0, # 初始余额设为0
"is_test_account": 1
# museums字段需要另存关联表此处暂时保留伪数据
}
create_user(new_user) # 调用CRUD创建方法
user = new_user
except Exception as e: # 捕获唯一约束等异常
logging.error(f"User creation failed: {str(e)}")
raise HTTPException(500, "User registration failed")
# 更新最后登录时间
update_data = {
"last_login_time": int(datetime.now().timestamp()),
"token": create_jwt(user["user_id"]) # 生成新token
}
updated_user = update_user(user["user_id"], update_data)
# ========== 数据库操作结束 ==========
logging.info(f"test account login return {user}")
# 生成token
return JSONResponse({
"token": create_jwt(user["user_id"]),
"user_info": {
"phone": phone_number,
"museums": get_museum_avail(user)
}
})
def get_museum_avail(user):
museum_list = get_museums(None, None)
id_list = [museum['id'] for museum in museum_list]