Update to v2.0

close #11
close #10
close #9
This commit is contained in:
Lost-MSth
2021-01-08 14:51:37 +08:00
parent 29a6cfaac1
commit 08872399cc
13 changed files with 884 additions and 877 deletions

View File

@@ -1139,7 +1139,7 @@ def edit_userpwd():
return render_template('web/changeuserpwd.html')
error = None
name = request.form['name']
user_code = request.form['user_code']
pwd = request.form['pwd']
@@ -1182,3 +1182,86 @@ def edit_userpwd():
flash(error)
return redirect(url_for('index.edit_userpwd'))
@bp.route('/banuser', methods=['POST', 'GET'])
@login_required
def ban_user():
# 封禁用户
if request.method == 'GET':
return render_template('web/banuser.html')
error = None
name = request.form['name']
user_code = request.form['user_code']
conn = sqlite3.connect('./database/arcaea_database.db')
c = conn.cursor()
if name or user_code:
if user_code:
c.execute('''select user_id from user where user_code=:a''', {
'a': user_code})
else:
c.execute(
'''select user_id from user where name=:a''', {'a': name})
user_id = c.fetchone()
if user_id:
user_id = user_id[0]
web.system.ban_one_user(c, user_id)
flash('用户封禁成功 Successfully ban the user.')
else:
error = '玩家不存在 The player does not exist.'
else:
error = '输入为空 Null Input.'
conn.commit()
conn.close()
if error:
flash(error)
return redirect(url_for('index.ban_user'))
@bp.route('/banuser/deleteuserscore', methods=['POST'])
@login_required
def delete_user_score():
# 删除用户所有成绩
error = None
name = request.form['name']
user_code = request.form['user_code']
conn = sqlite3.connect('./database/arcaea_database.db')
c = conn.cursor()
if name or user_code:
if user_code:
c.execute('''select user_id from user where user_code=:a''', {
'a': user_code})
else:
c.execute(
'''select user_id from user where name=:a''', {'a': name})
user_id = c.fetchone()
if user_id:
user_id = user_id[0]
web.system.clear_user_score(c, user_id)
flash("用户成绩删除成功 Successfully delete the user's scores.")
else:
error = '玩家不存在 The player does not exist.'
else:
error = '输入为空 Null Input.'
conn.commit()
conn.close()
if error:
flash(error)
return redirect(url_for('index.ban_user'))

View File

@@ -307,6 +307,8 @@ def update_one_save(c, user_id):
for i in scores:
rating = server.arcscore.get_one_ptt(
i['song_id'], i['difficulty'], i['score'])
if rating < 0:
rating = 0
try:
index = clear_song_id_difficulty.index(
i['song_id'] + str(i['difficulty']))
@@ -485,3 +487,20 @@ def change_userpwd(c, user_id, password):
c.execute('''update user set password =:a where user_id=:b''',
{'a': hash_pwd, 'b': user_id})
return
def ban_one_user(c, user_id):
# 封禁用户
c.execute('''update user set password = '' where user_id=:a''',
{'a': user_id})
c.execute('''delete from login where user_id=:a''', {'a': user_id})
return
def clear_user_score(c, user_id):
# 清除用户所有成绩包括best_score和recent30以及recent数据但不包括云端存档
c.execute('''update user set rating_ptt=0, song_id='', difficulty=0, score=0, shiny_perfect_count=0, perfect_count=0, near_count=0, miss_count=0, health=0, time_played=0, rating=0 where user_id=:a''',
{'a': user_id})
c.execute('''delete from best_score where user_id=:a''', {'a': user_id})
c.execute('''delete from recent30 where user_id=:a''', {'a': user_id})
return