PCの使用チェックにmember_idで確認できる処理を追加

PC使用登録時にmember_idを使ってPCの使用確認をするように
This commit is contained in:
suti7yk5032 2024-08-23 01:09:00 +09:00
parent 69dbdd0bc3
commit cd6461641c

View file

@ -181,20 +181,42 @@ class Bot(discord.Client):
discord_user_id = str(kwargs["discord_user_id"]) discord_user_id = str(kwargs["discord_user_id"])
else: else:
discord_user_id = None discord_user_id = None
if "member_id" in kwargs:
member_id = str(kwargs["member_id"])
else:
member_id = None
cursor = dislocker.db.cursor() cursor = dislocker.db.cursor()
if discord_user_id == None: if pc_number != None:
# pc_listから探す # pc番号を指定してpc_listから探す
cursor.execute("SELECT * FROM pc_list WHERE pc_number= %s", (pc_number,)) cursor.execute("SELECT * FROM pc_list WHERE pc_number= %s", (pc_number,))
pc_list_record = cursor.fetchall() pc_list_record = cursor.fetchall()
if pc_list_record[0][1] == None: if pc_list_record[0][1] == None:
return {"result": 0, "about": "vacent"} return {"result": 0, "about": "vacent"}
else: else:
return {"result": 1, "about": "used_by_other"} return {"result": 1, "about": "used_by_other"}
else: elif discord_user_id != None:
#ユーザーIDを指定してPC使用履歴から探す #ユーザーIDを指定してPC使用履歴から探す
cursor.execute("SELECT * FROM pc_usage_history WHERE member_id= %s ORDER BY id DESC LIMIT 1", (discord_user_id,)) cursor.execute("SELECT * FROM club_member WHERE discord_user_id = %s", (discord_user_id,))
user_record = cursor.fetchall()
#ユーザーデータが見つかった場合(登録済みの場合)
if user_record:
member_id = user_record[0][0]
cursor.execute("SELECT * FROM pc_usage_history WHERE member_id = %s ORDER BY id DESC LIMIT 1", (member_id,))
pc_usage_history_record = cursor.fetchall()
if pc_usage_history_record:
print("used")
if pc_usage_history_record[0][5] == None:
return {"result": 1, "about": "used_by_you", "pc_usage_history": {"pc_number": str(pc_usage_history_record[0][2]), "keyboard_number": str(pc_usage_history_record[0][3]), "mouse_number": str(pc_usage_history_record[0][4]), "start_time": str(pc_usage_history_record[0][5]), "use_detail": str(pc_usage_history_record[0][7])}}
else:
return {"result": 0, "about": "vacent"}
else:
return {"result": 0, "about": "vacent"}
else:
return {"result": 1, "about": "user_data_not_found"}
elif member_id != None:
cursor.execute("SELECT * FROM pc_usage_history WHERE member_id = %s ORDER BY id DESC LIMIT 1", (member_id,))
pc_usage_history_record = cursor.fetchall() pc_usage_history_record = cursor.fetchall()
if pc_usage_history_record: if pc_usage_history_record:
print("used") print("used")
@ -204,6 +226,8 @@ class Bot(discord.Client):
return {"result": 0, "about": "vacent"} return {"result": 0, "about": "vacent"}
else: else:
return {"result": 0, "about": "vacent"} return {"result": 0, "about": "vacent"}
else:
return {"result": 1, "about": "search_options_error"}
except Exception as error: except Exception as error:
print("PCの使用状況を調査中にエラーが発生しました。\nエラー内容") print("PCの使用状況を調査中にエラーが発生しました。\nエラー内容")
@ -296,7 +320,7 @@ class Bot(discord.Client):
member_id = user_register["user_info"]["member_id"] member_id = user_register["user_info"]["member_id"]
discord_user_name = user_register["user_info"]["discord_user_name"] discord_user_name = user_register["user_info"]["discord_user_name"]
# ユーザーがPCを使っているか # ユーザーがPCを使っているか
pc_check_self = self.pc_used_check(discord_user_id=user_info["id"]) pc_check_self = self.pc_used_check(member_id=member_id)
if pc_check_self["result"] == 0: if pc_check_self["result"] == 0:
# 他の人がそのPCを使っているか # 他の人がそのPCを使っているか
pc_check = self.pc_used_check(pc_number=user_info["pc_number"]) pc_check = self.pc_used_check(pc_number=user_info["pc_number"])