update 对接-打印错误日志
This commit is contained in:
@@ -40,4 +40,14 @@ public class CurrentUserUtil {
|
||||
return loginUser.getOrgCode();
|
||||
}
|
||||
|
||||
/**
|
||||
* @Author: liao
|
||||
* @Date: 2023/10/27 10:21
|
||||
* @Description: 获取当前用户角色编码(逗号分隔)
|
||||
**/
|
||||
public static String getRoles() {
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
return loginUser.getRoleIds();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+5
@@ -131,4 +131,9 @@ public class LawsDataCenterFolder implements Serializable {
|
||||
@ApiModelProperty(value = "子集")
|
||||
@TableField(exist = false)
|
||||
private List<LawsDataCenterFolder> children;
|
||||
/**
|
||||
* 构建树型结构-父id
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private java.lang.String pId;
|
||||
}
|
||||
|
||||
+1
-1
@@ -21,7 +21,7 @@ public interface LawsDataCenterFolderMapper extends BaseMapper<LawsDataCenterFol
|
||||
* @Date: 2023/10/26 17:33
|
||||
* @Description: 获取全部文件夹集合
|
||||
**/
|
||||
List<LawsDataCenterFolder> getAllFolderList(@Param("userId") String userId);
|
||||
List<LawsDataCenterFolder> getMyFolderList(@Param("userId") String userId);
|
||||
|
||||
|
||||
}
|
||||
|
||||
+3
-1
@@ -16,7 +16,7 @@
|
||||
<result column="parent_id" property="parentId" />
|
||||
<result column="owner_id" property="ownerId" />
|
||||
</resultMap>
|
||||
<select id="getAllFolderList" resultType="com.jero.modules.laws.dataCenter.entity.LawsDataCenterFolder">
|
||||
<select id="getMyFolderList" resultType="com.jero.modules.laws.dataCenter.entity.LawsDataCenterFolder">
|
||||
SELECT
|
||||
ldcf.id,
|
||||
ldcf.folder_name,
|
||||
@@ -26,5 +26,7 @@
|
||||
ldcf.sort
|
||||
FROM
|
||||
laws_data_center_folder ldcf
|
||||
WHERE ldcf.owner_id = #{userId}
|
||||
OR ldcf.auth_view_ids LIKE CONCAT('%',#{userId},'%')
|
||||
</select>
|
||||
</mapper>
|
||||
+55
-4
@@ -1,6 +1,7 @@
|
||||
package com.jero.modules.laws.dataCenter.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.jero.modules.laws.common.constant.FieldCommon;
|
||||
import com.jero.modules.laws.common.util.CurrentUserUtil;
|
||||
import com.jero.modules.laws.dataCenter.entity.LawsDataCenterFolder;
|
||||
import com.jero.modules.laws.dataCenter.mapper.LawsDataCenterFolderMapper;
|
||||
@@ -11,8 +12,10 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import java.util.List;
|
||||
import java.util.Date;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.common.system.query.QueryGenerator;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
@@ -41,8 +44,56 @@ public class LawsDataCenterFolderServiceImpl extends ServiceImpl<LawsDataCenterF
|
||||
@Override
|
||||
public List<LawsDataCenterFolder> getTreeList() {
|
||||
// 获取全部文件夹集合
|
||||
List<LawsDataCenterFolder> allFolderList = lawsDataCenterFolderMapper.getAllFolderList(CurrentUserUtil.getId());
|
||||
return allFolderList;
|
||||
List<LawsDataCenterFolder> folders = list();
|
||||
|
||||
// 创建节点映射,方便查找节点
|
||||
Map<String, LawsDataCenterFolder> nodeMap = new HashMap<>();
|
||||
folders.forEach(folder -> {
|
||||
folder.setPId(folder.getParentId());
|
||||
nodeMap.put(folder.getId(), folder);
|
||||
});
|
||||
|
||||
// 创建根节点列表
|
||||
List<LawsDataCenterFolder> roots = folders.stream().filter(folder ->
|
||||
"0".equals(folder.getParentId())).collect(Collectors.toList());
|
||||
|
||||
// 递归构建子节点
|
||||
roots.forEach(root -> buildChildren(root, nodeMap));
|
||||
|
||||
if (CurrentUserUtil.getRoles().contains(FieldCommon.ROLE_ADMIN)) {
|
||||
// 如果是管理员,可以查看全部文件夹
|
||||
return roots;
|
||||
} else {
|
||||
// 获取自己拥有权限的文件夹集合
|
||||
List<LawsDataCenterFolder> myFolders = lawsDataCenterFolderMapper.getMyFolderList(CurrentUserUtil.getId());
|
||||
|
||||
Map<String, LawsDataCenterFolder> myNodeMap = new HashMap<>();
|
||||
myFolders.forEach(folder -> {
|
||||
folder.setPId(folder.getParentId());
|
||||
myNodeMap.put(folder.getId(), folder);
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
|
||||
return roots;
|
||||
}
|
||||
|
||||
/**
|
||||
* @Author: liao
|
||||
* @Date: 2023/10/27 10:03
|
||||
* @Description: 递归构建子节点
|
||||
**/
|
||||
private void buildChildren(LawsDataCenterFolder node, Map<String, LawsDataCenterFolder> nodeMap) {
|
||||
if (node.getChildren() == null) {
|
||||
node.setChildren(new ArrayList<>());
|
||||
}
|
||||
nodeMap.values().forEach(child -> {
|
||||
if (node.getId().equals(child.getPId())) {
|
||||
node.getChildren().add(child);
|
||||
buildChildren(child, nodeMap);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user