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

master
zhaokai 2026-03-05 14:03:51 +08:00
parent 1b25f2b5c3
commit 6a6d5da681
1 changed files with 11 additions and 0 deletions

View File

@ -1,13 +1,16 @@
package com.zcloud.domain.command; package com.zcloud.domain.command;
import com.alibaba.cola.exception.BizException; import com.alibaba.cola.exception.BizException;
import com.jjb.saas.framework.auth.utils.AuthContext;
import com.zcloud.domain.domain.enums.CommonFlagEnum; import com.zcloud.domain.domain.enums.CommonFlagEnum;
import com.zcloud.domain.domain.enums.ScoreStatusEnum; import com.zcloud.domain.domain.enums.ScoreStatusEnum;
import com.zcloud.domain.domain.gateway.ProjectTaskScoreInfoGateway; import com.zcloud.domain.domain.gateway.ProjectTaskScoreInfoGateway;
import com.zcloud.domain.domain.model.CorpInfoE;
import com.zcloud.domain.domain.model.ProjectTaskScoreInfoE; import com.zcloud.domain.domain.model.ProjectTaskScoreInfoE;
import com.zcloud.domain.dto.ProjectTaskScoreInfoUpdateCmd; import com.zcloud.domain.dto.ProjectTaskScoreInfoUpdateCmd;
import com.zcloud.domain.dto.ProjectTaskSetScoreCmd; import com.zcloud.domain.dto.ProjectTaskSetScoreCmd;
import com.zcloud.domain.persistence.dataobject.ProjectTaskScoreInfoDO; import com.zcloud.domain.persistence.dataobject.ProjectTaskScoreInfoDO;
import com.zcloud.domain.persistence.repository.CorpInfoRepository;
import com.zcloud.domain.persistence.repository.ProjectTaskRepository; import com.zcloud.domain.persistence.repository.ProjectTaskRepository;
import com.zcloud.domain.persistence.repository.ProjectTaskScoreInfoRepository; import com.zcloud.domain.persistence.repository.ProjectTaskScoreInfoRepository;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
@ -32,6 +35,7 @@ public class ProjectTaskScoreInfoUpdateExe {
private final ProjectTaskScoreInfoGateway projectTaskScoreInfoGateway; private final ProjectTaskScoreInfoGateway projectTaskScoreInfoGateway;
private final ProjectTaskScoreInfoRepository projectTaskScoreInfoRepository; private final ProjectTaskScoreInfoRepository projectTaskScoreInfoRepository;
private final ProjectTaskRepository projectTaskRepository; private final ProjectTaskRepository projectTaskRepository;
private final CorpInfoRepository corpInfoRepository;
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void execute(ProjectTaskScoreInfoUpdateCmd projectTaskScoreInfoUpdateCmd) { public void execute(ProjectTaskScoreInfoUpdateCmd projectTaskScoreInfoUpdateCmd) {
@ -48,6 +52,13 @@ public class ProjectTaskScoreInfoUpdateExe {
if(info == null){ if(info == null){
throw new BizException("数据不存在"); throw new BizException("数据不存在");
} }
//不是企业账号,并且不是本人,不允许设置评分
if(!CorpInfoE.isCorp() && !AuthContext.getUserId().equals(info.getUserId())) {
throw new BizException("只允许设置自己的评分");
}
ProjectTaskScoreInfoE projectTaskScoreInfoE = new ProjectTaskScoreInfoE(); ProjectTaskScoreInfoE projectTaskScoreInfoE = new ProjectTaskScoreInfoE();
BeanUtils.copyProperties(projectTaskSetScoreCmd, projectTaskScoreInfoE); BeanUtils.copyProperties(projectTaskSetScoreCmd, projectTaskScoreInfoE);
boolean res = projectTaskScoreInfoGateway.update(projectTaskScoreInfoE); boolean res = projectTaskScoreInfoGateway.update(projectTaskScoreInfoE);