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

View File

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

View File

@ -71,6 +71,9 @@ public class ProjectTaskDO extends BaseDO {
@ApiModelProperty(value = "领域组名称")
@TableField(exist = false)
private String domainGroupName;
@ApiModelProperty(value = "领域组组长id")
@TableField(exist = false)
private Long teamUserId;
public ProjectTaskDO(String 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> result = projectTaskMapper.listPage(iPage, params,menuPerms);
return PageHelper.pageToResponse(result, result.getRecords());
}

View File

@ -4,7 +4,7 @@
<mapper namespace="com.zcloud.domain.persistence.mapper.ProjectTaskMapper">
<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
left join domain_group dg on pt.domain_group_id = dg.domain_group_id and dg.delete_enum = 'false'
left join domain_department dd