Administrator
2022-10-21 892b50e242e3c59a738b92dfdfee1bf1ff8932f2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
"""
用户验证
"""
 
import mysql_data
 
 
# 新增用户
def add_user(id, account, pwd, rule):
    mysqldb = mysql_data.Mysqldb()
 
    result = mysqldb.select_one("select * from clients where _id={}".format(id))
    if result is None:
        mysqldb.execute(
            "insert into clients(_id,account,pwd,rule) values({},'{}','{}','{}')".format(id, account, pwd, rule))
    else:
        mysqldb.execute("update clients set account='{}', pwd='{}', rule='{}' where _id={}".format(account, pwd, rule,id))
 
 
def add_rule(rule, authritys):
    mysqldb = mysql_data.Mysqldb()
    result = mysqldb.select_one("select * from clients_authritys where _id='{}'".format(rule))
    if result is None:
        mysqldb.execute(
            "insert into clients_authritys(_id,authritys) values('{}','{}')".format(id, authritys))
    else:
        mysqldb.execute(
            "update clients_authritys set authritys='{}' where _id={}".format(authritys.replace("\"", "\\" + "\""),
                                                                              rule))
 
 
def _get_client_ids_by_rule(rule):
    mysqldb = mysql_data.Mysqldb()
    results = mysqldb.select_all("select * from clients where rule='{}'".format(rule))
    _ids = []
    for result in results:
        _ids.append(result[0])
    return _ids
 
 
# 获取L2的客户端
def get_l2_clients():
    return _get_client_ids_by_rule("client-l2")
 
 
# 登录,返回用户ID与权限
def login(account, pwd):
    mysqldb = mysql_data.Mysqldb()
    results = mysqldb.select_all("select * from clients where account='{}'".format(account))
    if len(results) <= 0:
        raise Exception("账号不存在")
    result = results[0]
    if result[2] != pwd:
        raise Exception("密码错误")
 
    results_ = mysqldb.select_one("select * from clients_authritys where _id='{}'".format(result[3]))
    return result[0], results_[1]
 
 
if __name__ == '__main__':
    # add_rule("super", ["l2", "limit_up", "industry", "trade_success", "trade_delegate", "code_upload"])
    # add_rule("client-l2", ["l2", "limit_up", "trade_success", "trade_delegate"])
    # add_rule("client-industry", ["industry"])
    # add_rule("uploader", ["code_upload"])
    #
    #
    #add_user(10, "super1", "123456", "super")
    # add_user(2, "client1", "123456", "client-l2")
    # add_user(3, "client2", "123456", "client-l2")
    # add_user(4, "client3", "123456", "client-l2")
    # add_user(5, "client2", "123456", "client-industry")
    # add_user(6, "admin", "123456", "uploader")
    get_l2_clients()
 
    try:
        print(login("client1", "1234567"))
    except Exception as e:
        print(str(e))
 
    print(get_l2_clients())