diff --git a/tool-tech-admin/src/main/java/com/rzdata/web/controller/tool/ToolController.java b/tool-tech-admin/src/main/java/com/rzdata/web/controller/tool/ToolController.java index 87cb7b4..c891f71 100644 --- a/tool-tech-admin/src/main/java/com/rzdata/web/controller/tool/ToolController.java +++ b/tool-tech-admin/src/main/java/com/rzdata/web/controller/tool/ToolController.java @@ -73,18 +73,10 @@ public class ToolController extends BaseController for (Tool vo : list) { //创建人、下载权限、系统管理员 //1.已经审核通过、并且有下载权限 - vo.setDownloadStatus( - userId.equals(vo.getCreateBy())|| - SysUser.isAdmin(SecurityUtils.getUserId()) || - SecurityUtils.hasPermi(Constants.DOWNLOAD_TOOL_PERMISSION) || - ( RecordStatusEnum.DONE.getCode().equals(vo.getRecordStatus())&& - iToolApplyService.checkToolApply(vo.getToolId(),userId))); + vo.setDownloadStatus(toolService.isDownloadStatus(userId, vo)); - ToolApply toolApply = new ToolApply(); - toolApply.setToolId(vo.getToolId()); - toolApply.setUserId(userId); - List hasApplyUsToolApplyList = iToolApplyService.selectToolApplyList(toolApply); - vo.setIsHasApplyUse(hasApplyUsToolApplyList.size() > 0); + // 是否已发起使用申请 + vo.setIsHasApplyUse(iToolApplyService.hasToolUseApply(vo.getToolId(), userId)); } } return getDataTable(list); @@ -123,7 +115,10 @@ public class ToolController extends BaseController @GetMapping(value = "/{toolId}") public AjaxResult getInfo(@PathVariable("toolId") String toolId) { - return success(toolService.selectToolByToolId(toolId)); + Tool tool = toolService.selectToolByToolId(toolId); + String userId = SecurityUtils.getUserId().toString(); + tool.setDownloadStatus(toolService.isDownloadStatus(userId, tool)); + return success(tool); } /** @@ -237,4 +232,5 @@ public class ToolController extends BaseController { return AjaxResult.success(toolService.statistics()); } + } diff --git a/tool-tech-admin/src/main/java/com/rzdata/web/mapper/ToolApplyMapper.java b/tool-tech-admin/src/main/java/com/rzdata/web/mapper/ToolApplyMapper.java index 4f6b418..9b92df4 100644 --- a/tool-tech-admin/src/main/java/com/rzdata/web/mapper/ToolApplyMapper.java +++ b/tool-tech-admin/src/main/java/com/rzdata/web/mapper/ToolApplyMapper.java @@ -63,5 +63,7 @@ public interface ToolApplyMapper */ public int deleteToolApplyByIds(String[] ids); - int checkToolApply(@Param("toolId") String toolId, @Param("userId") String userId); + int hasToolUseApply(@Param("toolId") String toolId, @Param("userId") String userId); + + int checkToolUseApply(@Param("toolId") String toolId, @Param("userId") String userId); } diff --git a/tool-tech-admin/src/main/java/com/rzdata/web/service/IToolApplyService.java b/tool-tech-admin/src/main/java/com/rzdata/web/service/IToolApplyService.java index d59e9f2..e1d91b5 100644 --- a/tool-tech-admin/src/main/java/com/rzdata/web/service/IToolApplyService.java +++ b/tool-tech-admin/src/main/java/com/rzdata/web/service/IToolApplyService.java @@ -61,7 +61,9 @@ public interface IToolApplyService */ public int deleteToolApplyById(String id); - boolean checkToolApply(String toolId, String userId); + boolean hasToolUseApply(String toolId, String userId); + + boolean checkToolUseApply(String toolId, String userId); void sendTzMessage(ToolApply toolApply); } diff --git a/tool-tech-admin/src/main/java/com/rzdata/web/service/IToolService.java b/tool-tech-admin/src/main/java/com/rzdata/web/service/IToolService.java index a00ee4b..37e223c 100644 --- a/tool-tech-admin/src/main/java/com/rzdata/web/service/IToolService.java +++ b/tool-tech-admin/src/main/java/com/rzdata/web/service/IToolService.java @@ -98,4 +98,6 @@ public interface IToolService Map statistics(); List selectAllList(Tool tool); + + boolean isDownloadStatus(String userId, Tool tool); } diff --git a/tool-tech-admin/src/main/java/com/rzdata/web/service/impl/DocumentServiceImpl.java b/tool-tech-admin/src/main/java/com/rzdata/web/service/impl/DocumentServiceImpl.java index 108b40d..abe2aa7 100644 --- a/tool-tech-admin/src/main/java/com/rzdata/web/service/impl/DocumentServiceImpl.java +++ b/tool-tech-admin/src/main/java/com/rzdata/web/service/impl/DocumentServiceImpl.java @@ -5,7 +5,6 @@ import cn.hutool.core.date.DateUtil; import cn.hutool.core.lang.Snowflake; import cn.hutool.core.util.BooleanUtil; import cn.hutool.core.util.IdUtil; -import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.rzdata.common.annotation.DataScope; import com.rzdata.common.constant.Constants; @@ -93,6 +92,8 @@ public class DocumentServiceImpl implements IDocumentService if(CollUtil.isNotEmpty(attachments)){ document.setAttachment(attachments.get(0)); } + String userId = SecurityUtils.getUserId().toString(); + document.setDownloadStatus(isDownloadStatus(userId, document)); return document; } @@ -136,19 +137,23 @@ public class DocumentServiceImpl implements IDocumentService if (BooleanUtil.isTrue(document.getDownloadCheck())) { String userId = SecurityUtils.getUserId().toString(); for (Document dc: documents) { - //文档中 是创建人 或者 配置了下载权限 - boolean downStatus = false; - if(SecurityUtils.hasPermi(Constants.DOC_DOWNLOAD_PERMISSION) || userId.equals(dc.getCreateById()) || SysUser.isAdmin(SecurityUtils.getUserId())){ - downStatus = true; - }else if(StrUtil.isNotBlank(dc.getToolId()) && iUseApplyService.checkToolApply(dc.getToolId(),userId)){ - downStatus = true; - } - dc.setDownloadStatus(downStatus); + dc.setDownloadStatus(isDownloadStatus(userId, dc)); } } return documents; } + private boolean isDownloadStatus(String userId, Document dc){ + //文档中 是创建人 或者 配置了下载权限 + boolean downStatus = false; + if(SecurityUtils.hasPermi(Constants.DOC_DOWNLOAD_PERMISSION) || userId.equals(dc.getCreateById()) || SysUser.isAdmin(SecurityUtils.getUserId())){ + downStatus = true; + }else if(StrUtil.isNotBlank(dc.getToolId()) && iUseApplyService.checkToolUseApply(dc.getToolId(), userId)){ + downStatus = true; + } + return downStatus; + } + /** * 查询【请填写功能名称】列表 diff --git a/tool-tech-admin/src/main/java/com/rzdata/web/service/impl/ToolApplyServiceImpl.java b/tool-tech-admin/src/main/java/com/rzdata/web/service/impl/ToolApplyServiceImpl.java index 9d1cddf..5597f51 100644 --- a/tool-tech-admin/src/main/java/com/rzdata/web/service/impl/ToolApplyServiceImpl.java +++ b/tool-tech-admin/src/main/java/com/rzdata/web/service/impl/ToolApplyServiceImpl.java @@ -129,8 +129,14 @@ public class ToolApplyServiceImpl implements IToolApplyService return toolApplyMapper.deleteToolApplyById(id); } - public boolean checkToolApply(String toolId, String userId){ - return toolApplyMapper.checkToolApply(toolId, userId)>0; + @Override + public boolean checkToolUseApply(String toolId, String userId){ + return toolApplyMapper.checkToolUseApply(toolId, userId)>0; + } + + @Override + public boolean hasToolUseApply(String toolId, String userId){ + return toolApplyMapper.hasToolUseApply(toolId, userId) > 0; } @Override diff --git a/tool-tech-admin/src/main/java/com/rzdata/web/service/impl/ToolServiceImpl.java b/tool-tech-admin/src/main/java/com/rzdata/web/service/impl/ToolServiceImpl.java index fa078a7..20449e2 100644 --- a/tool-tech-admin/src/main/java/com/rzdata/web/service/impl/ToolServiceImpl.java +++ b/tool-tech-admin/src/main/java/com/rzdata/web/service/impl/ToolServiceImpl.java @@ -12,6 +12,7 @@ import com.rzdata.common.constant.Constants; import com.rzdata.common.core.domain.entity.SysDept; import com.rzdata.common.core.domain.entity.SysDictData; import com.rzdata.common.core.domain.entity.SysUser; +import com.rzdata.common.enums.RecordStatusEnum; import com.rzdata.common.utils.DateUtils; import com.rzdata.common.utils.SecurityUtils; import com.rzdata.system.service.ISysDeptService; @@ -72,6 +73,9 @@ public class ToolServiceImpl implements IToolService @Autowired private IToolRelationService iToolRelationService; + @Autowired + private IToolApplyService iToolApplyService; + /** * 查询工具信息 * @@ -454,4 +458,15 @@ public class ToolServiceImpl implements IToolService } return tools; } + + @Override + public boolean isDownloadStatus(String userId, Tool tool){ + //创建人、下载权限、系统管理员 + //1.已经审核通过、并且有下载权限 + return userId.equals(tool.getCreateBy()) || + SysUser.isAdmin(SecurityUtils.getUserId()) || + SecurityUtils.hasPermi(Constants.DOWNLOAD_TOOL_PERMISSION) || + ( RecordStatusEnum.DONE.getCode().equals(tool.getRecordStatus())&& + iToolApplyService.checkToolUseApply(tool.getToolId(), userId)); + } } diff --git a/tool-tech-admin/src/main/resources/mapper/ToolApplyMapper.xml b/tool-tech-admin/src/main/resources/mapper/ToolApplyMapper.xml index e1c60dc..b756f5d 100644 --- a/tool-tech-admin/src/main/resources/mapper/ToolApplyMapper.xml +++ b/tool-tech-admin/src/main/resources/mapper/ToolApplyMapper.xml @@ -129,11 +129,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + SELECT count(*) FROM t_tool_apply ta + WHERE ta.apply_type='use' and ta.tool_id = #{toolId} and ta.user_id = #{userId} + + +