from model.DataBaseUtils import MysqlUtils




def get_auth_user(user_id):
    """获取用户拥有所有用户(包括自己)的权限"""
    db = MysqlUtils()
    sql = f"""select b.nick_name from t_sys_user_group_relation a
            left join t_sys_user b USING(user_id)
            where a.group_id=(select id from t_sys_user_group where del_flag=0 and group_user_id={user_id})
            union 
            select nick_name from t_sys_user where user_id='{user_id}'
"""

    return db.zx.getOneList(sql)


def get_auth_channel(user_id):
    """获取用户拥有的所有公众号权限"""
    db = MysqlUtils()
    sql=f"""select nick_name from t_mp_account where 
    oper_user_id in (select user_id from t_sys_user_group_relation where  group_id=(select id from t_sys_user_group where del_flag=0 and group_user_id={user_id})) or 
    put_user_id in (select user_id from t_sys_user_group_relation where group_id=(select id from t_sys_user_group where del_flag=0 and group_user_id={user_id})) or 
    oper_user_id = {user_id} or put_user_id = {user_id}
    
"""
    data1 = db.zx.getOneList(sql)


    sql2 = f"""select GROUP_CONCAT(channel_ids) from user_channel_group_auth a
                left join channel_group b on a.channel_group_id=b.id
                where user_id={user_id}"""
    data2 = db.quchen_text.getOne(sql2)


    if data2:
        data2_2 = tuple(data2.split(','))
        sql3 = f"""select nick_name from t_mp_account where id in {str(data2_2)}"""

        data3= db.zx.getOneList(sql3)
        # print(data3)
    else:
        data3 =[]
    return tuple(data1+data3)

def super_auth():
    "获取超级数据权限的用户列表"
    db = MysqlUtils()
    sql = "select user_id from t_sys_user_role where role_id =39"
    return db.zx.getOneList(sql)


def get_role(user_id):
    """获取用户的角色"""
    db = MysqlUtils()
    sql = "select role_id from t_sys_user_role where user_id ="+str(user_id)
    return db.zx.getOneList(sql)

def get_user_name_by_id(user_id):
    db = MysqlUtils()
    sql = "select nick_name from t_sys_user where user_id =" + str(user_id)
    return db.zx.getOne(sql)

if __name__ == '__main__':
    # print(get_auth_channel(109))
    # print(get_role(78))
    print(f"ssed{tuple([1,3,4])}")