文件共享的sql逻辑

文件共享的逻辑


sql语句:

SELECT
    tct.*
FROM
    (
        SELECT
            t.*, AES_DECRYPT(s.yhxm, '" + keyt + "') AS creator_name 
        FROM
            t_contract_template t
        LEFT JOIN sys_b_user s ON t.creater_id = s.yhid
    ) tct 
WHERE
    tct.dqzt = '1'
AND (
    tct.creater_id = '" + yhid + "'
    OR EXISTS (
        " + " SELECT
            *
        FROM
            t_document_power tdp
        WHERE
            access_id IN (
                '" + userRoleId + "',
                '" + userId + "',
                '" + userDwid + "'
            )
        AND tdp.doc_id = tct.id
    )
) ";

主要是通过每个用户登录的用户 id 来查询出用户的角色和部门的编号.通过这个用户的id和角色和部门的编号来从数据库中查询出来,分别给sql语句赋值userRoleId userId userDwid

[条件是:先根据文档的creater_id是否和用户的Id相等,后面是or用户的id和角色和部门是否在access_id中来满足条件]

分享的人可以看到自己的并且可以看到别人给他分享的.

发布了15 篇原创文章 · 获赞 2 · 访问量 4233

猜你喜欢

转载自blog.csdn.net/weixin_41858337/article/details/89330485