This commit is contained in:
2025-11-28 17:56:50 +08:00
parent 9d55d573d6
commit 9f38a7627b
3 changed files with 150 additions and 11 deletions
+75 -5
View File
@@ -12,7 +12,68 @@ class WZRYFunction:
self.__db = db
self.__api_config = api_config
async def zhanji(self,id: str ,option: str):
async def _SELECT_ID(self,name: str):
"""
查询ID
"""
sql = "SELECT id FROM wzydid WHERE name = %s or id = %s"
sqlid = await self.__db.fetch_one(sql, (name,name))
return sqlid["id"] if sqlid else None
async def all_user(self):
"""
查询所有用户
"""
sql = "SELECT id,name FROM wzydid"
sqlid = await self.__db.fetch_all(sql)
return_data = "营地ID\t\t昵称\n"
for m in sqlid:
return_data += f"{m['id']}\t{m['name']}\n"
return return_data
async def add_user(self,id: str ,name: str):
"""
添加用户
"""
self_id = await self._SELECT_ID(id)
if self_id is not None:
return "该用户已存在,无需重复添加"
sql = "INSERT INTO wzydid (id,name) VALUES (%s, %s)"
rowcount = await self.__db.execute(sql, (id,name))
if rowcount > 0:
return f"id:{id}昵称:{name}\n添加成功"
else:
return f"id:{id}昵称:{name}\n添加失败,请稍后再试"
async def update_user(self,id: str ,name: str):
"""
更新用户
"""
self_id = await self._SELECT_ID(id)
if self_id is None:
return "该用户不存在,请先添加用户"
sql = "UPDATE wzydid SET name = %s WHERE id = %s"
rowcount = await self.__db.execute(sql, (name,id))
if rowcount > 0:
return f"id:{id}昵称:{name}\n更新成功"
else:
return f"id:{id}昵称:{name}\n更新失败,请稍后再试"
async def delete_user(self,id: str ):
"""
删除用户
"""
self_id = await self._SELECT_ID(id)
if self_id is None:
return "该用户不存在,无需删除"
sql = "DELETE FROM wzydid WHERE id = %s"
rowcount = await self.__db.execute(sql, (id,))
if rowcount > 0:
return f"id:{id}\n删除成功"
else:
return f"id:{id}\n删除失败,请稍后再试"
async def zhanji(self,name: str ,option: str):
"""
战绩查询
"""
@@ -23,9 +84,15 @@ class WZRYFunction:
}
#在配置文件中获取接口配置
api_config = self.__api_config["wzry_zhanji"]
# ID查询
sql_id = await self._SELECT_ID(name)
if sql_id is None:
return_data["msg"] = "未查询到该用户,请确认输入正确的昵称或营地ID"
return return_data
#更新参数
api_config["params"]["id"] = id
api_config["params"]["id"] = sql_id
api_config["params"]["option"] = option
# 需要提取的字段
fields = ["gametime","killcnt","deadcnt","assistcnt","gameresult","mvpcnt","losemvp","mapName",
"oldMasterMatchScore","newMasterMatchScore","usedTime","winNum","failNum","roleJobName","stars","desc",
"gradeGame","heroIcon"]
@@ -37,7 +104,7 @@ class WZRYFunction:
return_data["msg"] = "获取接口信息失败"
return return_data
result = extract_fields(data["list"], fields)
result = result[:15]
result = result[:20]
# 数据处理
for m in result:
minutes = m["usedTime"] // 60
@@ -77,7 +144,7 @@ class WZRYFunction:
return_data["code"] = 200
return return_data
async def ziliao(self,id: str):
async def ziliao(self,name: str):
"""
资料查询
"""
@@ -86,10 +153,13 @@ class WZRYFunction:
"msg": "功能函数未执行",
"data": {}
}
#id查询
sql = "SELECT id FROM wzydid WHERE name = %s or id = %s"
sqlid = await self.__db.fetch_one(sql, (name,name))
#在配置文件中获取接口配置
api_config = self.__api_config["wzry_ziliao"]
#更新参数
api_config["params"]["id"] = id
api_config["params"]["id"] = sqlid["id"]
# 处理返回数据
try:
# 获取数据