From a3555407a143a29376dbdd7bbb6e227aa4b3120b Mon Sep 17 00:00:00 2001 From: zhanyunjiu <787952492@qq.com> Date: Thu, 30 Jun 2022 16:21:25 +0800 Subject: [PATCH] =?UTF-8?q?=E9=97=AE=E9=A2=98=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/project/vo/ProjectBaseVO.java | 27 ++++++++++------- .../controller/admin/task/vo/TaskBaseVO.java | 29 +++++++++++-------- .../service/project/ProjectServiceImpl.java | 15 +++++----- 3 files changed, 40 insertions(+), 31 deletions(-) diff --git a/zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/project/vo/ProjectBaseVO.java b/zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/project/vo/ProjectBaseVO.java index e9afbfc1..b443f9a6 100644 --- a/zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/project/vo/ProjectBaseVO.java +++ b/zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/project/vo/ProjectBaseVO.java @@ -1,5 +1,6 @@ package cn.iocoder.yudao.module.farm.controller.admin.project.vo; +import cn.hutool.core.util.ObjectUtil; import cn.hutool.extra.spring.SpringUtil; import cn.iocoder.yudao.framework.security.core.LoginUser; import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; @@ -7,17 +8,17 @@ import cn.iocoder.yudao.module.farm.dal.dataobject.project.ProjectDO; import cn.iocoder.yudao.module.farm.enums.ProjectStateEnum; import cn.iocoder.yudao.module.system.dal.dataobject.permission.RoleDO; import cn.iocoder.yudao.module.system.service.permission.RoleService; -import cn.iocoder.yudao.module.system.service.permission.RoleServiceImpl; import com.alibaba.fastjson.JSONArray; import com.google.common.collect.Maps; -import lombok.*; -import java.util.*; -import io.swagger.annotations.*; -import javax.validation.constraints.*; - -import org.springframework.beans.factory.annotation.Autowired; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.Optional; + import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; /** @@ -79,11 +80,15 @@ ProjectBaseVO extends ProjectDO { List roles = roleService.getRolesFromCache(loginUser.getRoleIds()); Optional admin = roles.stream().filter(roleDO -> roleDO.getName().contains("管理员") || roleDO.getCode().contains("admin")).findAny(); -// // 是创建者 或者 是 租户的管理员,可以更改项目 - actions.put("edit",this.getCreator().equals(loginUser.getId().toString()) || admin.isPresent()); - // 应该加上,项目下面没有运行中的任务才可以删除 ,或者是在删除部分再做判断 ,此处只做权限显示 - actions.put("delete",this.getCreator().equals(loginUser.getId().toString()) || admin.isPresent()); + //小程序 修改项目的时候 this.getCreator() 获取不到 + if (ObjectUtil.isNotEmpty(this.getCreator())){ + // 是创建者 或者 是 租户的管理员,可以更改项目 + actions.put("edit",this.getCreator().equals(loginUser.getId().toString()) || admin.isPresent()); + + // 应该加上,项目下面没有运行中的任务才可以删除 ,或者是在删除部分再做判断 ,此处只做权限显示 + actions.put("delete",this.getCreator().equals(loginUser.getId().toString()) || admin.isPresent()); + } return actions; } diff --git a/zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/task/vo/TaskBaseVO.java b/zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/task/vo/TaskBaseVO.java index 4f63f860..35fda85b 100644 --- a/zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/task/vo/TaskBaseVO.java +++ b/zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/task/vo/TaskBaseVO.java @@ -1,21 +1,24 @@ package cn.iocoder.yudao.module.farm.controller.admin.task.vo; +import cn.hutool.core.util.ObjectUtil; import cn.hutool.extra.spring.SpringUtil; import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; import cn.iocoder.yudao.framework.security.core.LoginUser; import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; +import cn.iocoder.yudao.module.farm.enums.TaskStatus; import cn.iocoder.yudao.module.system.dal.dataobject.permission.RoleDO; import cn.iocoder.yudao.module.system.service.permission.RoleService; import com.alibaba.fastjson.JSONArray; -import cn.iocoder.yudao.module.farm.enums.TaskStatus; -import com.fasterxml.jackson.annotation.JsonManagedReference; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.google.common.collect.Maps; -import lombok.*; -import java.util.*; -import io.swagger.annotations.*; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.Optional; + import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; /** @@ -76,12 +79,14 @@ public class TaskBaseVO extends BaseDO { List roles = roleService.getRolesFromCache(loginUser.getRoleIds()); Optional admin = roles.stream().filter(roleDO -> roleDO.getName().contains("管理员") || roleDO.getCode().contains("admin")).findAny(); -// // 是创建者 或者 是 租户的管理员,可以更改项目 - actions.put("edit",this.getCreator().equals(loginUser.getId().toString()) || admin.isPresent()); - - // 应该加上,项目下面没有运行中的任务才可以删除 ,或者是在删除部分再做判断 ,此处只做权限显示 - actions.put("delete",this.getCreator().equals(loginUser.getId().toString()) || admin.isPresent()); - + // 是创建者 或者 是 租户的管理员,可以更改项目 + //小程序 修改项目的时候 this.getCreator() 获取不到 + if (ObjectUtil.isNotEmpty(this.getCreator())){ + actions.put("edit",this.getCreator().equals(loginUser.getId().toString()) || admin.isPresent()); + + // 应该加上,项目下面没有运行中的任务才可以删除 ,或者是在删除部分再做判断 ,此处只做权限显示 + actions.put("delete",this.getCreator().equals(loginUser.getId().toString()) || admin.isPresent()); + } return actions; } } diff --git a/zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/service/project/ProjectServiceImpl.java b/zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/service/project/ProjectServiceImpl.java index 60b5d87c..d9668a50 100644 --- a/zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/service/project/ProjectServiceImpl.java +++ b/zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/service/project/ProjectServiceImpl.java @@ -5,12 +5,17 @@ import cn.hutool.core.util.ObjectUtil; import cn.iocoder.yudao.framework.common.page.PageUtil; import cn.iocoder.yudao.framework.common.page.PageVO; import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; import cn.iocoder.yudao.module.farm.controller.admin.project.dto.ProjectListDTO; import cn.iocoder.yudao.module.farm.controller.admin.project.dto.ProjectPageDTO; +import cn.iocoder.yudao.module.farm.controller.admin.project.vo.*; import cn.iocoder.yudao.module.farm.controller.admin.task.dto.TaskAssemblyDTO; +import cn.iocoder.yudao.module.farm.convert.project.ProjectConvert; +import cn.iocoder.yudao.module.farm.dal.dataobject.project.ProjectDO; import cn.iocoder.yudao.module.farm.dal.dataobject.task.TaskDO; +import cn.iocoder.yudao.module.farm.dal.mysql.project.ProjectMapper; import cn.iocoder.yudao.module.farm.dal.mysql.task.TaskMapper; import cn.iocoder.yudao.module.farm.enums.ProjectStateEnum; import cn.iocoder.yudao.module.farm.enums.TaskStatus; @@ -21,20 +26,13 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.zsw.base.R; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; -import javax.annotation.Resource; import org.springframework.validation.annotation.Validated; +import javax.annotation.Resource; import java.time.LocalDateTime; import java.util.*; import java.util.stream.Collectors; -import cn.iocoder.yudao.module.farm.controller.admin.project.vo.*; -import cn.iocoder.yudao.module.farm.dal.dataobject.project.ProjectDO; -import cn.iocoder.yudao.framework.common.pojo.PageResult; - -import cn.iocoder.yudao.module.farm.convert.project.ProjectConvert; -import cn.iocoder.yudao.module.farm.dal.mysql.project.ProjectMapper; - import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUser; import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; @@ -242,6 +240,7 @@ public class ProjectServiceImpl implements ProjectService { LambdaQueryWrapperX queryWrapperX = new LambdaQueryWrapperX<>(); queryWrapperX.eq(ProjectDO::getState, ProjectStateEnum.STARTING) .neIfPresent(ProjectDO::getId, projectDO.getId()) + .eq(ProjectDO::getPretendDelete, false) .apply("JSON_CONTAINS(areas, '"+ aLong +"')"); Long count = projectMapper.selectCount(queryWrapperX); if (count > 0){