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.project.service.IBizProjectService;
|
||||||
import com.ruoyi.common.utils.StringUtils;
|
import com.ruoyi.common.utils.StringUtils;
|
||||||
import java.net.URLEncoder;
|
import java.net.URLEncoder;
|
||||||
|
import com.ruoyi.system.service.ISysUserService;
|
||||||
|
import com.ruoyi.common.core.domain.entity.SysUser;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 文档Controller
|
* 文档Controller
|
||||||
@@ -49,6 +51,9 @@ public class BizDocController extends BaseController
|
|||||||
@Autowired
|
@Autowired
|
||||||
private IBizModuleService bizModuleService;
|
private IBizModuleService bizModuleService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ISysUserService sysUserService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询文档列表
|
* 查询文档列表
|
||||||
*/
|
*/
|
||||||
@@ -159,15 +164,50 @@ public class BizDocController extends BaseController
|
|||||||
Long currentUserId = getUserId();
|
Long currentUserId = getUserId();
|
||||||
|
|
||||||
if ("0".equals(kindType)) {
|
if ("0".equals(kindType)) {
|
||||||
// 项目文档:只有项目管理员可以上传
|
// 项目文档:项目管理员 或 项目参与者(该项目下任一模块的接取人/被指派人)可上传
|
||||||
BizProject project = bizProjectService.selectBizProjectByProjectId(projectId);
|
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("无权上传项目文档");
|
return AjaxResult.error("无权上传项目文档");
|
||||||
}
|
}
|
||||||
} else if ("1".equals(kindType)) {
|
} else if ("1".equals(kindType)) {
|
||||||
// 模块文档:只有被指派该模块的用户可以上传
|
// 模块文档:只有接取人可以上传(兼容历史:assignee 可能保存为用户ID/用户名/昵称)
|
||||||
BizModule module = bizModuleService.selectBizModuleByModuleId(moduleId);
|
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("无权上传此模块文档");
|
return AjaxResult.error("无权上传此模块文档");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -6,7 +6,7 @@ spring:
|
|||||||
druid:
|
druid:
|
||||||
# 主库数据源
|
# 主库数据源
|
||||||
master:
|
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
|
username: root
|
||||||
password: Wxit11335577
|
password: Wxit11335577
|
||||||
# 从库数据源
|
# 从库数据源
|
||||||
|
@@ -100,7 +100,7 @@
|
|||||||
<el-form label-width="90px" size="small" style="margin-bottom: 10px;">
|
<el-form label-width="90px" size="small" style="margin-bottom: 10px;">
|
||||||
<el-form-item label="文档类型">
|
<el-form-item label="文档类型">
|
||||||
<el-radio-group v-model="upload.meta.kindType" @change="handleKindTypeChange">
|
<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 :label="1">模块文档</el-radio>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@@ -135,9 +135,9 @@
|
|||||||
<div class="el-upload__tip" slot="tip">
|
<div class="el-upload__tip" slot="tip">
|
||||||
<div>
|
<div>
|
||||||
<strong>文档类型:</strong>{{ upload.meta.kindType === 1 ? '模块文档' : '项目文档' }}<br>
|
<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">
|
<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>
|
</template>
|
||||||
</div>
|
</div>
|
||||||
<br>
|
<br>
|
||||||
|
Reference in New Issue
Block a user