From d626cdac03b88d1cb9ea0150f9935616de9d253b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E8=A3=95=E8=B4=A2?= Date: Wed, 23 Feb 2022 17:53:49 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=8A=82=E7=82=B9=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=E3=80=81=E6=A0=87=E7=AD=BE=E7=AD=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ctrl/XmProjectGroupUserController.java | 72 +++++++++++++------ .../com/xm/core/vo/XmProjectGroupUserVo.java | 21 ------ 2 files changed, 50 insertions(+), 43 deletions(-) diff --git a/xm-core/src/main/java/com/xm/core/ctrl/XmProjectGroupUserController.java b/xm-core/src/main/java/com/xm/core/ctrl/XmProjectGroupUserController.java index e0e2e1ff..ba6319a4 100644 --- a/xm-core/src/main/java/com/xm/core/ctrl/XmProjectGroupUserController.java +++ b/xm-core/src/main/java/com/xm/core/ctrl/XmProjectGroupUserController.java @@ -8,12 +8,12 @@ import com.mdp.mybatis.PageUtils; import com.mdp.safe.client.entity.User; import com.mdp.safe.client.utils.LoginUtils; import com.xm.core.entity.XmProduct; +import com.xm.core.entity.XmProject; import com.xm.core.entity.XmProjectGroup; import com.xm.core.entity.XmProjectGroupUser; -import com.xm.core.service.XmProductService; -import com.xm.core.service.XmProjectGroupService; -import com.xm.core.service.XmProjectGroupUserService; -import com.xm.core.service.XmProjectService; +import com.xm.core.service.*; +import com.xm.core.service.cache.XmProjectGroupCacheService; +import com.xm.core.service.push.XmPushMsgService; import com.xm.core.vo.XmProjectGroupUserVo; import com.xm.core.vo.XmProjectGroupVo; import io.swagger.annotations.*; @@ -59,6 +59,13 @@ public class XmProjectGroupUserController { @Autowired XmProjectGroupService xmProjectGroupService; + + + @Autowired + XmRecordService xmRecordService; + + @Autowired + XmPushMsgService pushMsgService; @ApiOperation( value = "查询xm_project_group_user信息列表",notes="listXmProjectGroupUser,条件之间是 and关系,模糊查询写法如 {studentName:'%才哥%'}") @@ -103,57 +110,78 @@ public class XmProjectGroupUserController { @ApiResponse(code = 200,response=XmProjectGroupUser.class,message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}") }) @RequestMapping(value="/add",method=RequestMethod.POST) - public Map addXmProjectGroupUser(@RequestBody XmProjectGroupUserVo xmProjectGroupUser) { + public Map addXmProjectGroupUser(@RequestBody XmProjectGroupUserVo gu) { Map m = new HashMap<>(); Tips tips=new Tips("成功新增一条数据"); try{ - if(!StringUtils.hasText(xmProjectGroupUser.getGroupId())||!StringUtils.hasText(xmProjectGroupUser.getUserid())){ + if(!StringUtils.hasText(gu.getGroupId())||!StringUtils.hasText(gu.getUserid())){ return ResponseHelper.failed("pk-0","请上送小组编号,用户编号groupId,userid"); } - if(!StringUtils.hasText(xmProjectGroupUser.getPgClass())){ + if(!StringUtils.hasText(gu.getPgClass())){ return ResponseHelper.failed("pgClass-0","请上送小组类型pgClass"); } - String pgClass=xmProjectGroupUser.getPgClass(); + String pgClass=gu.getPgClass(); User user=LoginUtils.getCurrentUserInfo(); if("1".equals(pgClass)){ - if(!StringUtils.hasText(xmProjectGroupUser.getProductId())){ + if(!StringUtils.hasText(gu.getProductId())){ return ResponseHelper.failed("productId-0","请上送小组归属产品编号"); } - XmProduct xmProduct=this.xmProductService.getProductFromCache(xmProjectGroupUser.getProductId()); + XmProduct xmProduct=this.xmProductService.getProductFromCache(gu.getProductId()); if(xmProduct==null){ return ResponseHelper.failed("product-0","产品已不存在"); } if(!xmProjectGroupService.checkUserIsProductAdm(xmProduct, user.getUserid())){ - XmProjectGroupVo xmProjectGroupVo=this.xmProjectGroupService.getProductGroupFromCache(xmProduct.getId(),xmProjectGroupUser.getGroupId()); + XmProjectGroupVo xmProjectGroupVo=this.xmProjectGroupService.getProductGroupFromCache(xmProduct.getId(),gu.getGroupId()); if(xmProjectGroupVo==null){ return ResponseHelper.failed("group-0","小组已不存在"); } - xmProjectGroupService.checkUserIsTeamHeadOrAss(null,user.getUserid()); + boolean isHead=xmProjectGroupService.checkUserIsTeamHeadOrAss(xmProjectGroupVo,user.getUserid()); + if(isHead==false){ + return ResponseHelper.failed("not-leader-ass","组长、副组长、组长助理以上人员可以添加小组成员。"); + } } }else{ - if(!StringUtils.hasText(xmProjectGroupUser.getProjectId())){ + if(!StringUtils.hasText(gu.getProjectId())){ return ResponseHelper.failed("projectId-0","请上送小组归属项目编号"); } + + XmProject xmProject=this.xmProjectService.getProjectFromCache(gu.getProjectId()); + if(xmProject==null){ + return ResponseHelper.failed("product-0","产品已不存在"); + } + if(!xmProjectGroupService.checkUserIsProjectAdm(xmProject, user.getUserid())){ + XmProjectGroupVo xmProjectGroupVo=this.xmProjectGroupService.getProductGroupFromCache(xmProject.getId(),gu.getGroupId()); + if(xmProjectGroupVo==null){ + return ResponseHelper.failed("group-0","小组已不存在"); + } + boolean isHead=xmProjectGroupService.checkUserIsTeamHeadOrAss(xmProjectGroupVo,user.getUserid()); + if(isHead==false){ + return ResponseHelper.failed("not-leader-ass","组长、副组长、组长助理以上人员可以添加小组成员。"); + } + } } - if(xmProjectGroupUserService.countByWhere(xmProjectGroupUser)>0){ + if(xmProjectGroupUserService.countByWhere(gu)>0){ tips.setFailureMsg("该用户已在小组中"); m.put("tips", tips); return m; } - - this.xmProjectGroupService.checkUserIsProjectAdm(); - xmProjectGroupUserService.insert(xmProjectGroupUser); + xmProjectGroupUserService.insert(gu); Map usermap=new HashMap<>(); - usermap.put("userid", xmProjectGroupUser.getUserid()); - usermap.put("username", xmProjectGroupUser.getUsername()); + usermap.put("userid", gu.getUserid()); + usermap.put("username", gu.getUsername()); List> users=new ArrayList<>(); users.add(usermap); - pushMsgService.pushJoinChannelGroupMsg(user.getBranchId(), u.getGroupId(), users); - xmRecordService.addXmGroupRecord(projectId,xmProjectGroupUser.getGroupId(), "项目-团队-新增小组成员", "增加组员["+u.getUsername()+"]",u.getUserid(),null); - m.put("data",xmProjectGroupUser); + pushMsgService.pushJoinChannelGroupMsg(user.getBranchId(), gu.getGroupId(), users); + if("1".equals(0)){ + xmRecordService.addXmGroupRecord("",gu.getGroupId(), "产品-团队-新增小组成员", "增加组员["+gu.getUsername()+"]",gu.getUserid(),null); + }else{ + xmRecordService.addXmGroupRecord(gu.getProjectId(),gu.getGroupId(), "项目-团队-新增小组成员", "增加组员["+gu.getUsername()+"]",gu.getUserid(),null); + } + + m.put("data",gu); }catch (BizException e) { tips=e.getTips(); logger.error("",e); diff --git a/xm-core/src/main/java/com/xm/core/vo/XmProjectGroupUserVo.java b/xm-core/src/main/java/com/xm/core/vo/XmProjectGroupUserVo.java index 818e2075..e19c7de6 100644 --- a/xm-core/src/main/java/com/xm/core/vo/XmProjectGroupUserVo.java +++ b/xm-core/src/main/java/com/xm/core/vo/XmProjectGroupUserVo.java @@ -6,11 +6,6 @@ public class XmProjectGroupUserVo extends XmProjectGroupUser { String pgClass; - String projectId; - - - String productId; - public String getPgClass() { return pgClass; } @@ -19,21 +14,5 @@ public class XmProjectGroupUserVo extends XmProjectGroupUser { this.pgClass = pgClass; } - public String getProjectId() { - return projectId; - } - - public void setProjectId(String projectId) { - this.projectId = projectId; - } - - public String getProductId() { - return productId; - } - - public void setProductId(String productId) { - this.productId = productId; - } - }