文件共享的逻辑
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中来满足条件]
分享的人可以看到自己的并且可以看到别人给他分享的.