Browse Source

任务创建人和负责人才可以新增修改活动

zyh
zhanyunjiu 3 years ago
parent
commit
f034ce1b1a
  1. 4
      zsw-farm/zsw-farm-api/src/main/java/cn/iocoder/yudao/module/farm/enums/ErrorCodeConstants.java
  2. 24
      zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/service/discuss/DiscussServiceImpl.java

4
zsw-farm/zsw-farm-api/src/main/java/cn/iocoder/yudao/module/farm/enums/ErrorCodeConstants.java

@ -54,6 +54,8 @@ public interface ErrorCodeConstants{
ErrorCode PROJECT_STARTING_CANT_CHANGE_CROP = new ErrorCode(100000724, "项目更改失败, 进行中的任务不可修改作物"); ErrorCode PROJECT_STARTING_CANT_CHANGE_CROP = new ErrorCode(100000724, "项目更改失败, 进行中的任务不可修改作物");
ErrorCode PROJECT_STARTING_CANT_CHANGE_AREA = new ErrorCode(100000724, "项目更改失败, 进行中的任务不可修改区域"); ErrorCode PROJECT_STARTING_CANT_CHANGE_AREA = new ErrorCode(100000725, "项目更改失败, 进行中的任务不可修改区域");
ErrorCode DISCUSS_NO_PERMISSION = new ErrorCode(100000726, "活动操作失败, 只有任务创建人或负责人才可以操作");
} }

24
zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/service/discuss/DiscussServiceImpl.java

@ -4,15 +4,25 @@ import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.iocoder.yudao.framework.common.page.PageUtil; import cn.iocoder.yudao.framework.common.page.PageUtil;
import cn.iocoder.yudao.framework.common.page.PageVO; import cn.iocoder.yudao.framework.common.page.PageVO;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.framework.security.core.LoginUser;
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
import cn.iocoder.yudao.module.farm.controller.admin.discuss.dto.DiscussDTO; import cn.iocoder.yudao.module.farm.controller.admin.discuss.dto.DiscussDTO;
import cn.iocoder.yudao.module.farm.controller.admin.discuss.dto.DiscussPageDTO; import cn.iocoder.yudao.module.farm.controller.admin.discuss.dto.DiscussPageDTO;
import cn.iocoder.yudao.module.farm.controller.admin.discuss.vo.DiscussCreateReqVO;
import cn.iocoder.yudao.module.farm.controller.admin.discuss.vo.DiscussExportReqVO;
import cn.iocoder.yudao.module.farm.controller.admin.discuss.vo.DiscussPageReqVO;
import cn.iocoder.yudao.module.farm.controller.admin.discuss.vo.DiscussUpdateReqVO;
import cn.iocoder.yudao.module.farm.controller.admin.workHour.dto.WorkUserMsgDTO; import cn.iocoder.yudao.module.farm.controller.admin.workHour.dto.WorkUserMsgDTO;
import cn.iocoder.yudao.module.farm.controller.admin.workHour.vo.WorkHourBaseVO; import cn.iocoder.yudao.module.farm.controller.admin.workHour.vo.WorkHourBaseVO;
import cn.iocoder.yudao.module.farm.convert.discuss.DiscussConvert;
import cn.iocoder.yudao.module.farm.dal.dataobject.area.AreaDO; import cn.iocoder.yudao.module.farm.dal.dataobject.area.AreaDO;
import cn.iocoder.yudao.module.farm.dal.dataobject.discuss.DiscussDO;
import cn.iocoder.yudao.module.farm.dal.dataobject.task.TaskDO; import cn.iocoder.yudao.module.farm.dal.dataobject.task.TaskDO;
import cn.iocoder.yudao.module.farm.dal.dataobject.workHour.WorkHourDO; import cn.iocoder.yudao.module.farm.dal.dataobject.workHour.WorkHourDO;
import cn.iocoder.yudao.module.farm.dal.mysql.area.AreaMapper; import cn.iocoder.yudao.module.farm.dal.mysql.area.AreaMapper;
import cn.iocoder.yudao.module.farm.dal.mysql.discuss.DiscussMapper;
import cn.iocoder.yudao.module.farm.dal.mysql.task.TaskMapper; import cn.iocoder.yudao.module.farm.dal.mysql.task.TaskMapper;
import cn.iocoder.yudao.module.farm.dal.mysql.workHour.WorkHourMapper; import cn.iocoder.yudao.module.farm.dal.mysql.workHour.WorkHourMapper;
import cn.iocoder.yudao.module.farm.enums.TaskStatus; import cn.iocoder.yudao.module.farm.enums.TaskStatus;
@ -25,19 +35,12 @@ import cn.iocoder.yudao.module.system.service.CpUser.CpUserService;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.zsw.base.R; import com.zsw.base.R;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import cn.iocoder.yudao.module.farm.controller.admin.discuss.vo.*;
import cn.iocoder.yudao.module.farm.dal.dataobject.discuss.DiscussDO;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.farm.convert.discuss.DiscussConvert;
import cn.iocoder.yudao.module.farm.dal.mysql.discuss.DiscussMapper;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
import static cn.iocoder.yudao.module.farm.enums.ErrorCodeConstants.*; import static cn.iocoder.yudao.module.farm.enums.ErrorCodeConstants.*;
@ -233,6 +236,11 @@ public class DiscussServiceImpl implements DiscussService {
if (taskDO.getDraft()){ if (taskDO.getDraft()){
throw exception(DISCUSS_TASK_IS_DRAFT); throw exception(DISCUSS_TASK_IS_DRAFT);
} }
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
CpUserDO cpUserDO = cpUserService.getByUserId(loginUser.getUsername());
if (taskDO.getMainPerson() != cpUserDO.getId() && !loginUser.getId().equals(taskDO.getCreator())){
throw exception(DISCUSS_NO_PERMISSION);
}
} }
} }

Loading…
Cancel
Save