diff --git a/laws-modules/src/main/java/com/jero/modules/laws/dataCenter/common/DataCenterCommon.java b/laws-modules/src/main/java/com/jero/modules/laws/dataCenter/common/DataCenterCommon.java new file mode 100644 index 00000000..376b4d43 --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/laws/dataCenter/common/DataCenterCommon.java @@ -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"; +} diff --git a/laws-modules/src/main/java/com/jero/modules/laws/dataCenter/entity/LawsDataCenterFolder.java b/laws-modules/src/main/java/com/jero/modules/laws/dataCenter/entity/LawsDataCenterFolder.java index ea3a10d0..3db0c13d 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/dataCenter/entity/LawsDataCenterFolder.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/dataCenter/entity/LawsDataCenterFolder.java @@ -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逗号拼接) 翻译 */ diff --git a/laws-modules/src/main/java/com/jero/modules/laws/dataCenter/mapper/xml/LawsDataCenterFileMapper.xml b/laws-modules/src/main/java/com/jero/modules/laws/dataCenter/mapper/xml/LawsDataCenterFileMapper.xml index 5610a2b4..4dfe3d67 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/dataCenter/mapper/xml/LawsDataCenterFileMapper.xml +++ b/laws-modules/src/main/java/com/jero/modules/laws/dataCenter/mapper/xml/LawsDataCenterFileMapper.xml @@ -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} - \ No newline at end of file + diff --git a/laws-modules/src/main/java/com/jero/modules/laws/dataCenter/service/impl/LawsDataCenterFolderServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/laws/dataCenter/service/impl/LawsDataCenterFolderServiceImpl.java index 23e5820f..9d14ef9c 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/dataCenter/service/impl/LawsDataCenterFolderServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/dataCenter/service/impl/LawsDataCenterFolderServiceImpl.java @@ -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 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 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() + .eq(LawsDataCenterFolderSublist::getDataCenterFolderId, id)); + // 生成子表数据 + String authManageIds = lawsDataCenterFolder.getAuthManageIds(); + String authViewIds = lawsDataCenterFolder.getAuthViewIds(); + String authDownloadIds = lawsDataCenterFolder.getAuthDownloadIds(); + List 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); } /**