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逗号拼接)") @ApiModelProperty(value = "查看权限(用户id逗号拼接)")
@Size(max = 2000, message = "查看权限超出最大限度") @Size(max = 2000, message = "查看权限超出最大限度")
private java.lang.String authViewIds; private java.lang.String authViewIds;
/**
* 下载权限(用户id逗号拼接)
*/
@Excel(name = "下载权限(用户id逗号拼接)", width = 15)
@ApiModelProperty(value = "下载权限(用户id逗号拼接)")
@Size(max = 2000, message = "下载权限超出最大限度")
private java.lang.String authDownloadIds;
/** /**
* 查看权限(用户id逗号拼接) 翻译 * 查看权限(用户id逗号拼接) 翻译
*/ */
@@ -41,11 +41,12 @@
folder_id, folder_id,
owner_id, owner_id,
uploader, uploader,
(SELECT auth_manage_ids FROM laws_data_center_folder d WHERE d.id = folder_id) 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 = 1) 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 = 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 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 (SELECT create_by FROM laws_data_center_folder d WHERE d.id = folder_id) folder_create_by
FROM laws_data_center_file) t FROM laws_data_center_file) t
${ew.customSqlSegment} ${ew.customSqlSegment}
</sql> </sql>
</mapper> </mapper>
@@ -10,14 +10,18 @@ import com.jero.common.exception.JeroBootException;
import com.jero.common.system.vo.LoginUser; import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.BeanCopyUtils; import com.jero.common.util.BeanCopyUtils;
import com.jero.common.util.MessageUtils; import com.jero.common.util.MessageUtils;
import com.jero.common.util.SnowflakeUtils;
import com.jero.common.util.StreamUtils; import com.jero.common.util.StreamUtils;
import com.jero.modules.laws.common.util.CurrentUserUtil; import com.jero.modules.laws.common.util.CurrentUserUtil;
import com.jero.modules.laws.common.util.TreeNodeComparator; 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.LawsDataCenterFile;
import com.jero.modules.laws.dataCenter.entity.LawsDataCenterFolder; 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.mapper.LawsDataCenterFolderMapper;
import com.jero.modules.laws.dataCenter.service.ILawsDataCenterFileService; import com.jero.modules.laws.dataCenter.service.ILawsDataCenterFileService;
import com.jero.modules.laws.dataCenter.service.ILawsDataCenterFolderService; import com.jero.modules.laws.dataCenter.service.ILawsDataCenterFolderService;
import com.jero.modules.laws.dataCenter.service.LawsDataCenterFolderSublistService;
import com.jero.modules.system.service.ISysUserService; import com.jero.modules.system.service.ISysUserService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
@@ -51,6 +55,8 @@ public class LawsDataCenterFolderServiceImpl extends ServiceImpl<LawsDataCenterF
private ISysUserService sysUserService; private ISysUserService sysUserService;
@Value("${adminRoleCode}") @Value("${adminRoleCode}")
private String adminRoleCode; private String adminRoleCode;
@Autowired
private LawsDataCenterFolderSublistService lawsDataCenterFolderSublistService;
/** /**
* @Author: liao * @Author: liao
@@ -175,8 +181,32 @@ public class LawsDataCenterFolderServiceImpl extends ServiceImpl<LawsDataCenterF
if (StringUtils.isBlank(lawsDataCenterFolder.getParentId())) { if (StringUtils.isBlank(lawsDataCenterFolder.getParentId())) {
lawsDataCenterFolder.setParentId("0"); lawsDataCenterFolder.setParentId("0");
} }
String id = String.valueOf(SnowflakeUtils.snowflake());
lawsDataCenterFolder.setId(id);
save(lawsDataCenterFolder); 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 @Override
public void editById(LawsDataCenterFolder lawsDataCenterFolder) { public void editById(LawsDataCenterFolder lawsDataCenterFolder) {
saveOrUpdate(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);
} }
/** /**