diff --git a/laws-modules/src/main/java/com/jero/modules/laws/dataCenter/controller/LawsDataCenterFileController.java b/laws-modules/src/main/java/com/jero/modules/laws/dataCenter/controller/LawsDataCenterFileController.java index abe62d02..5fa1406d 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/dataCenter/controller/LawsDataCenterFileController.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/dataCenter/controller/LawsDataCenterFileController.java @@ -1,5 +1,6 @@ package com.jero.modules.laws.dataCenter.controller; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.jero.common.api.vo.Result; import com.jero.common.api.vo.ResultCommon; @@ -8,9 +9,12 @@ import com.jero.common.exception.JeroBootException; import com.jero.common.system.base.controller.JeroController; import com.jero.modules.laws.common.constant.FieldCommon; import com.jero.modules.laws.common.util.CurrentUserUtil; +import com.jero.modules.laws.dataCenter.common.DataCenterCommon; import com.jero.modules.laws.dataCenter.entity.LawsDataCenterFile; +import com.jero.modules.laws.dataCenter.entity.LawsDataCenterFolderSublist; 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.sys.controller.SysCommonController; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -22,6 +26,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.Arrays; @@ -45,6 +50,8 @@ public class LawsDataCenterFileController extends JeroController queryLawsDataCenterFolderSublist = new LambdaQueryWrapper<>(); + queryLawsDataCenterFolderSublist.eq(LawsDataCenterFolderSublist::getDataCenterFolderId,file.getFolderId()); + queryLawsDataCenterFolderSublist.eq(LawsDataCenterFolderSublist::getUserId,CurrentUserUtil.getId()); + queryLawsDataCenterFolderSublist.and(o-> + o.eq(LawsDataCenterFolderSublist::getType, DataCenterCommon.AUTH_MANAGE).or() + .eq(LawsDataCenterFolderSublist::getType,DataCenterCommon.AUTH_DOWNLOAD)); + long l = lawsDataCenterFolderSublistService.count(queryLawsDataCenterFolderSublist); // 不是管理员,不是自己上传的文件,并且推送范围不包含自己 if (!CurrentUserUtil.getRoles().contains(FieldCommon.ROLE_ADMIN) - && !CurrentUserUtil.getId().equals(file.getOwnerId()) - && (StringUtils.isBlank(file.getPushRangeIds()) || !file.getPushRangeIds().contains(CurrentUserUtil.getId()))) { + && !CurrentUserUtil.getId().equals(file.getOwnerId()) && l == 0) { throw new JeroBootException(ResultCommon.NO_PERMISSION); } // 下载