fix(task): 修复任务评分权限控制问题

master
zhaokai 2026-03-05 18:58:33 +08:00
parent b20c216216
commit 3ebbdb0859
5 changed files with 23 additions and 7 deletions

View File

@ -60,17 +60,22 @@ public class ProjectTaskQueryExe {
* 1. * 1.
* 2. * 2.
*/ */
examCenterCOS.forEach(videoCoursewareCO -> { examCenterCOS.forEach(info -> {
//如果是企业,可以看本企业下所有的,如果是个人,只能看个人的,判断登录的账号是企业主账号还是个人 //如果是企业,可以看本企业下所有的,如果是个人,只能看个人的,判断登录的账号是企业主账号还是个人
Boolean isCorpAccount = corpInfoRepository.checkCorp(); Boolean isCorpAccount = corpInfoRepository.checkCorp();
// 企业账户检查租户ID匹配 // 企业账户检查租户ID匹配
if (isCorpAccount && AuthContext.getTenantId().equals(videoCoursewareCO.getTenantId())) { if (isCorpAccount && AuthContext.getTenantId().equals(info.getTenantId())) {
videoCoursewareCO.setIsUserCreate(true); info.setIsUserCreate(true);
return; return;
} }
// 个人账户检查创建者ID匹配 // 个人账户检查创建者ID匹配
if (!isCorpAccount && videoCoursewareCO.getCreateId().equals(AuthContext.getUserId())) { if (!isCorpAccount && info.getCreateId().equals(AuthContext.getUserId())) {
videoCoursewareCO.setIsUserCreate(true); info.setIsUserCreate(true);
}
//只有组长和企业主账号可以看到 指定课题组人员按钮
if (isCorpAccount || AuthContext.getUserId().equals(info.getTeamUserId())){
info.setIsDomainGroupUser(true);
} }
}); });
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex()); return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());

View File

@ -1,6 +1,7 @@
package com.zcloud.domain.dto.clientobject; package com.zcloud.domain.dto.clientobject;
import com.alibaba.cola.dto.ClientObject; import com.alibaba.cola.dto.ClientObject;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
@ -71,9 +72,14 @@ public class ProjectTaskCO implements Serializable {
private Long tenantId; private Long tenantId;
@ApiModelProperty(value = "领域组组长id")
@TableField(exist = false)
private Long teamUserId;
@ApiModelProperty(value = "是否是当前用户创建的数据") @ApiModelProperty(value = "是否是当前用户创建的数据")
private Boolean isUserCreate = false; private Boolean isUserCreate = false;
@ApiModelProperty(value = "是否是指定课题组人员按钮")
private Boolean isDomainGroupUser = false;
} }

View File

@ -71,6 +71,9 @@ public class ProjectTaskDO extends BaseDO {
@ApiModelProperty(value = "领域组名称") @ApiModelProperty(value = "领域组名称")
@TableField(exist = false) @TableField(exist = false)
private String domainGroupName; private String domainGroupName;
@ApiModelProperty(value = "领域组组长id")
@TableField(exist = false)
private Long teamUserId;
public ProjectTaskDO(String projectTaskId) { public ProjectTaskDO(String projectTaskId) {
this.projectTaskId = projectTaskId; this.projectTaskId = projectTaskId;

View File

@ -51,6 +51,8 @@ public class ProjectTaskRepositoryImpl extends BaseRepositoryImpl<ProjectTaskMap
} }
IPage<ProjectTaskDO> iPage = new Query<ProjectTaskDO>().getPage(params); IPage<ProjectTaskDO> iPage = new Query<ProjectTaskDO>().getPage(params);
IPage<ProjectTaskDO> result = projectTaskMapper.listPage(iPage, params,menuPerms); IPage<ProjectTaskDO> result = projectTaskMapper.listPage(iPage, params,menuPerms);
return PageHelper.pageToResponse(result, result.getRecords()); return PageHelper.pageToResponse(result, result.getRecords());
} }

View File

@ -4,7 +4,7 @@
<mapper namespace="com.zcloud.domain.persistence.mapper.ProjectTaskMapper"> <mapper namespace="com.zcloud.domain.persistence.mapper.ProjectTaskMapper">
<select id="listPage" resultType="com.zcloud.domain.persistence.dataobject.ProjectTaskDO"> <select id="listPage" resultType="com.zcloud.domain.persistence.dataobject.ProjectTaskDO">
select pt.*, c.corp_name as executeCorpinfoName, d.name as masterDepartmentName,dg.domain_group_name as domainGroupName select pt.*, c.corp_name as executeCorpinfoName, d.name as masterDepartmentName,dg.domain_group_name as domainGroupName,dg.team_user_id
from project_task pt from project_task pt
left join domain_group dg on pt.domain_group_id = dg.domain_group_id and dg.delete_enum = 'false' left join domain_group dg on pt.domain_group_id = dg.domain_group_id and dg.delete_enum = 'false'
left join domain_department dd left join domain_department dd