feat(资料中心): 更改为子表

This commit is contained in:
yjz
2024-07-16 17:08:08 +08:00
parent e221137a96
commit 6ef54759ca
4 changed files with 82 additions and 4 deletions
@@ -0,0 +1,27 @@
package com.jero.modules.laws.dataCenter.common;
/**
* @ClassName: DataCenterCommon
* @Description:
* @Author: yjz
* @Date: 2024-07-16 16:52
* @Version: 1.0
**/
public class DataCenterCommon {
private DataCenterCommon(){
}
/**
* 数据中心文件夹类型 1:管理权限 2:查看权限 3:下载权限
*/
public static final String AUTH_MANAGE = "1";
/**
* 数据中心文件夹类型 1:管理权限 2:查看权限 3:下载权限
*/
public static final String AUTH_VIEW = "2";
/**
* 数据中心文件夹类型 1:管理权限 2:查看权限 3:下载权限
*/
public static final String AUTH_DOWNLOAD = "3";
}
@@ -102,6 +102,13 @@ public class LawsDataCenterFolder implements Serializable {
@ApiModelProperty(value = "查看权限(用户id逗号拼接)")
@Size(max = 2000, message = "查看权限超出最大限度")
private java.lang.String authViewIds;
/**
* 下载权限(用户id逗号拼接)
*/
@Excel(name = "下载权限(用户id逗号拼接)", width = 15)
@ApiModelProperty(value = "下载权限(用户id逗号拼接)")
@Size(max = 2000, message = "下载权限超出最大限度")
private java.lang.String authDownloadIds;
/**
* 查看权限(用户id逗号拼接) 翻译
*/
@@ -41,11 +41,12 @@
folder_id,
owner_id,
uploader,
(SELECT auth_manage_ids FROM laws_data_center_folder d WHERE d.id = folder_id) auth_manage_ids,
(SELECT auth_view_ids FROM laws_data_center_folder d WHERE d.id = folder_id) auth_view_ids,
(SELECT group_concat(user_id) FROM laws_data_center_folder_sublist d WHERE d.data_center_folder_id = folder_id and d.type = 1) auth_manage_ids,
(SELECT group_concat(user_id) FROM laws_data_center_folder_sublist d WHERE d.data_center_folder_id = folder_id and d.type = 2) auth_view_ids,
(SELECT group_concat(user_id) FROM laws_data_center_folder_sublist d WHERE d.data_center_folder_id = folder_id and d.type = 3) auth_download_ids,
(SELECT default_folder FROM laws_data_center_folder d WHERE d.id = folder_id) default_folder,
(SELECT create_by FROM laws_data_center_folder d WHERE d.id = folder_id) folder_create_by
FROM laws_data_center_file) t
${ew.customSqlSegment}
</sql>
</mapper>
</mapper>
@@ -10,14 +10,18 @@ import com.jero.common.exception.JeroBootException;
import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.BeanCopyUtils;
import com.jero.common.util.MessageUtils;
import com.jero.common.util.SnowflakeUtils;
import com.jero.common.util.StreamUtils;
import com.jero.modules.laws.common.util.CurrentUserUtil;
import com.jero.modules.laws.common.util.TreeNodeComparator;
import com.jero.modules.laws.dataCenter.common.DataCenterCommon;
import com.jero.modules.laws.dataCenter.entity.LawsDataCenterFile;
import com.jero.modules.laws.dataCenter.entity.LawsDataCenterFolder;
import com.jero.modules.laws.dataCenter.entity.LawsDataCenterFolderSublist;
import com.jero.modules.laws.dataCenter.mapper.LawsDataCenterFolderMapper;
import com.jero.modules.laws.dataCenter.service.ILawsDataCenterFileService;
import com.jero.modules.laws.dataCenter.service.ILawsDataCenterFolderService;
import com.jero.modules.laws.dataCenter.service.LawsDataCenterFolderSublistService;
import com.jero.modules.system.service.ISysUserService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
@@ -51,6 +55,8 @@ public class LawsDataCenterFolderServiceImpl extends ServiceImpl<LawsDataCenterF
private ISysUserService sysUserService;
@Value("${adminRoleCode}")
private String adminRoleCode;
@Autowired
private LawsDataCenterFolderSublistService lawsDataCenterFolderSublistService;
/**
* @Author: liao
@@ -175,8 +181,32 @@ public class LawsDataCenterFolderServiceImpl extends ServiceImpl<LawsDataCenterF
if (StringUtils.isBlank(lawsDataCenterFolder.getParentId())) {
lawsDataCenterFolder.setParentId("0");
}
String id = String.valueOf(SnowflakeUtils.snowflake());
lawsDataCenterFolder.setId(id);
save(lawsDataCenterFolder);
}
// 生成子表数据
String authManageIds = lawsDataCenterFolder.getAuthManageIds();
String authViewIds = lawsDataCenterFolder.getAuthViewIds();
String authDownloadIds = lawsDataCenterFolder.getAuthDownloadIds();
List<LawsDataCenterFolderSublist> lawsDataCenterFolderSublistList = new ArrayList<>();
createChild(id, authManageIds, DataCenterCommon.AUTH_MANAGE, lawsDataCenterFolderSublistList);
createChild(id, authViewIds, DataCenterCommon.AUTH_VIEW, lawsDataCenterFolderSublistList);
createChild(id, authDownloadIds, DataCenterCommon.AUTH_DOWNLOAD, lawsDataCenterFolderSublistList);
lawsDataCenterFolderSublistService.saveOrUpdateBatch(lawsDataCenterFolderSublistList);
}
private static void createChild(String id, String authIds, String type,
List<LawsDataCenterFolderSublist> lawsDataCenterFolderSublistList) {
if (StringUtils.isNotBlank(authIds)){
for (String userId : authIds.split(",")) {
LawsDataCenterFolderSublist lawsDataCenterFolderSublist = new LawsDataCenterFolderSublist();
lawsDataCenterFolderSublist.setType(type);
lawsDataCenterFolderSublist.setUserId(userId);
lawsDataCenterFolderSublist.setDataCenterFolderId(id);
lawsDataCenterFolderSublistList.add(lawsDataCenterFolderSublist);
}
}
}
/**
* 更新
@@ -187,6 +217,19 @@ public class LawsDataCenterFolderServiceImpl extends ServiceImpl<LawsDataCenterF
@Override
public void editById(LawsDataCenterFolder lawsDataCenterFolder) {
saveOrUpdate(lawsDataCenterFolder);
// 更新子表
String id = lawsDataCenterFolder.getId();
lawsDataCenterFolderSublistService.remove(new LambdaQueryWrapper<LawsDataCenterFolderSublist>()
.eq(LawsDataCenterFolderSublist::getDataCenterFolderId, id));
// 生成子表数据
String authManageIds = lawsDataCenterFolder.getAuthManageIds();
String authViewIds = lawsDataCenterFolder.getAuthViewIds();
String authDownloadIds = lawsDataCenterFolder.getAuthDownloadIds();
List<LawsDataCenterFolderSublist> lawsDataCenterFolderSublistList = new ArrayList<>();
createChild(id, authManageIds, DataCenterCommon.AUTH_MANAGE, lawsDataCenterFolderSublistList);
createChild(id, authViewIds, DataCenterCommon.AUTH_VIEW, lawsDataCenterFolderSublistList);
createChild(id, authDownloadIds, DataCenterCommon.AUTH_DOWNLOAD, lawsDataCenterFolderSublistList);
lawsDataCenterFolderSublistService.saveOrUpdateBatch(lawsDataCenterFolderSublistList);
}
/**