Debugg load
This commit is contained in:
@@ -29,6 +29,8 @@ import com.ruoyi.project.domain.BizProject;
|
||||
import com.ruoyi.project.service.IBizProjectService;
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
import java.net.URLEncoder;
|
||||
import com.ruoyi.system.service.ISysUserService;
|
||||
import com.ruoyi.common.core.domain.entity.SysUser;
|
||||
|
||||
/**
|
||||
* 文档Controller
|
||||
@@ -49,6 +51,9 @@ public class BizDocController extends BaseController
|
||||
@Autowired
|
||||
private IBizModuleService bizModuleService;
|
||||
|
||||
@Autowired
|
||||
private ISysUserService sysUserService;
|
||||
|
||||
/**
|
||||
* 查询文档列表
|
||||
*/
|
||||
@@ -159,15 +164,50 @@ public class BizDocController extends BaseController
|
||||
Long currentUserId = getUserId();
|
||||
|
||||
if ("0".equals(kindType)) {
|
||||
// 项目文档:只有项目管理员可以上传
|
||||
// 项目文档:项目管理员 或 项目参与者(该项目下任一模块的接取人/被指派人)可上传
|
||||
BizProject project = bizProjectService.selectBizProjectByProjectId(projectId);
|
||||
if (!project.getOwnerId().equals(currentUserId)) {
|
||||
boolean isOwner = project != null && project.getOwnerId() != null && project.getOwnerId().equals(currentUserId);
|
||||
boolean isParticipant = false;
|
||||
if (!isOwner) {
|
||||
// 参与者判断:当前用户是否在该项目下拥有被指派的模块
|
||||
com.ruoyi.models.domain.BizModule query = new com.ruoyi.models.domain.BizModule();
|
||||
query.setProjectId(projectId);
|
||||
java.util.List<com.ruoyi.models.domain.BizModule> modules = bizModuleService.selectBizModuleList(query);
|
||||
if (modules != null) {
|
||||
for (com.ruoyi.models.domain.BizModule m : modules) {
|
||||
if (m.getAssignee() != null && (m.getAssignee().equals(String.valueOf(currentUserId)) || m.getAssignee().equals(getUsername()))) {
|
||||
isParticipant = true; break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!isOwner && !isParticipant) {
|
||||
return AjaxResult.error("无权上传项目文档");
|
||||
}
|
||||
} else if ("1".equals(kindType)) {
|
||||
// 模块文档:只有被指派该模块的用户可以上传
|
||||
// 模块文档:只有接取人可以上传(兼容历史:assignee 可能保存为用户ID/用户名/昵称)
|
||||
BizModule module = bizModuleService.selectBizModuleByModuleId(moduleId);
|
||||
if (!String.valueOf(currentUserId).equals(module.getAssignee())) {
|
||||
if (module == null) {
|
||||
return AjaxResult.error("模块不存在");
|
||||
}
|
||||
String assignee = module.getAssignee();
|
||||
boolean allowed = false;
|
||||
// 1) 与当前用户ID字符串相等(历史ID保存)
|
||||
if (String.valueOf(currentUserId).equals(assignee)) {
|
||||
allowed = true;
|
||||
} else {
|
||||
try {
|
||||
SysUser u = sysUserService.selectUserById(currentUserId);
|
||||
if (u != null) {
|
||||
if (StringUtils.isNotEmpty(u.getUserName()) && u.getUserName().equals(assignee)) {
|
||||
allowed = true;
|
||||
} else if (StringUtils.isNotEmpty(u.getNickName()) && u.getNickName().equals(assignee)) {
|
||||
allowed = true;
|
||||
}
|
||||
}
|
||||
} catch (Exception ignored) {}
|
||||
}
|
||||
if (!allowed) {
|
||||
return AjaxResult.error("无权上传此模块文档");
|
||||
}
|
||||
}
|
||||
|
@@ -6,7 +6,7 @@ spring:
|
||||
druid:
|
||||
# 主库数据源
|
||||
master:
|
||||
url: jdbc:mysql://127.0.0.1:n3306/managersystem?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
|
||||
url: jdbc:mysql://127.0.0.1:3306/managersystem?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
|
||||
username: root
|
||||
password: Wxit11335577
|
||||
# 从库数据源
|
||||
|
@@ -100,7 +100,7 @@
|
||||
<el-form label-width="90px" size="small" style="margin-bottom: 10px;">
|
||||
<el-form-item label="文档类型">
|
||||
<el-radio-group v-model="upload.meta.kindType" @change="handleKindTypeChange">
|
||||
<el-radio :label="0">项目文档</el-radio>
|
||||
<el-radio :label="0" :disabled="isNormalUser">项目文档</el-radio>
|
||||
<el-radio :label="1">模块文档</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
@@ -135,9 +135,9 @@
|
||||
<div class="el-upload__tip" slot="tip">
|
||||
<div>
|
||||
<strong>文档类型:</strong>{{ upload.meta.kindType === 1 ? '模块文档' : '项目文档' }}<br>
|
||||
<strong>所属项目:</strong>{{ (projectOptions.find(p=>p.projectId===upload.meta.projectId)||{}).projectName || '-' }}<br>
|
||||
<strong>所属项目:</strong>{{ (projectOptions.find(p=>String(p.projectId)===String(upload.meta.projectId))||{}).projectName || '-' }}<br>
|
||||
<template v-if="upload.meta.kindType === 1">
|
||||
<strong>所属模块:</strong>{{ (moduleOptions.find(m=>m.moduleId===upload.meta.moduleId)||{}).moduleName || '-' }}
|
||||
<strong>所属模块:</strong>{{ (moduleOptions.find(m=>String(m.moduleId)===String(upload.meta.moduleId))||{}).moduleName || '-' }}
|
||||
</template>
|
||||
</div>
|
||||
<br>
|
||||
|
Reference in New Issue
Block a user