之前存在106.52上的仓库被重新初始化了,同时增加了测试账号的兼容,测试账号hxbtest001,...hxbtest005
This commit is contained in:
@@ -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]
|
||||
|
||||
Reference in New Issue
Block a user