update 对接-打印错误日志

This commit is contained in:
liao
2023-10-27 11:56:15 +08:00
parent eb680d2159
commit 6d9a727e21
6 changed files with 76 additions and 6 deletions
@@ -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();
}
}
@@ -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;
}
@@ -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);
}
@@ -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>
@@ -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);
}
});
}
/**