From ec1121e9aad55af6ac4c6f430fbcc33f295fdc47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E8=A3=95=E8=B4=A2?= Date: Fri, 20 Jan 2023 18:24:06 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9B=A2=E9=98=9F=E9=87=8D=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- xm-core/src/main/java/com/xm/core/QxTool.java | 5 +- .../com/xm/core/service/XmGroupService.java | 350 ++++++++++-------- 2 files changed, 194 insertions(+), 161 deletions(-) diff --git a/xm-core/src/main/java/com/xm/core/QxTool.java b/xm-core/src/main/java/com/xm/core/QxTool.java index 3c5cd84a..61a604f1 100644 --- a/xm-core/src/main/java/com/xm/core/QxTool.java +++ b/xm-core/src/main/java/com/xm/core/QxTool.java @@ -23,7 +23,7 @@ public class QxTool { * @param qxCode * @return */ - public static String getTaskScopeQx(String qxCode){ + public static String getProjectScopeQx(String qxCode){ String def="2"; if(StringUtils.isEmpty(qxCode)){ return def; @@ -46,7 +46,7 @@ public class QxTool { * @param qxCode * @return */ - public static String getTaskTransmitQx(String qxCode){ + public static String getProjectTransmitQx(String qxCode){ String def="0"; if(StringUtils.isEmpty(qxCode)){ return def; @@ -125,4 +125,5 @@ public class QxTool { } } } + } diff --git a/xm-core/src/main/java/com/xm/core/service/XmGroupService.java b/xm-core/src/main/java/com/xm/core/service/XmGroupService.java index 8cdf2070..439b0b84 100644 --- a/xm-core/src/main/java/com/xm/core/service/XmGroupService.java +++ b/xm-core/src/main/java/com/xm/core/service/XmGroupService.java @@ -155,7 +155,7 @@ public class XmGroupService extends BaseService { /** * * @param xmProduct - * @param teamType 1-需求人员 2-测试人员 + * @param teamType 1-需求人员 2-测试人员,3-迭代人员 * @param head * @return */ @@ -165,7 +165,7 @@ public class XmGroupService extends BaseService { if(headIsPm){ return tips; } - tips=this.checkProductScopeQx(xmProduct,teamType,head,head.getUserid()); + tips=this.checkProductScopeQx(xmProduct,teamType,head); if(!tips.isOk()){ return tips; } @@ -187,17 +187,18 @@ public class XmGroupService extends BaseService { Tips tips=new Tips(); if(memUserids==null || memUserids.length==0){ - return this.checkProductScopeQx(xmProduct,teamType,head.getUserid(),head.getBranchId()); + return this.checkProductScopeQx(xmProduct,teamType,head.getUserid(),head.getUsername(),head.getBranchId()); } Set memUseridSet= Arrays.stream(memUserids).filter(k->StringUtils.hasText(k)&&!k.equals(head.getUserid())).collect(Collectors.toSet()); if(memUseridSet.size()==0){ - return this.checkProductScopeQx(xmProduct,teamType,head.getUserid(),head.getBranchId()); + return this.checkProductScopeQx(xmProduct,teamType,head.getUserid(),head.getUsername(),head.getBranchId()); } - + String username=head.getUsername(); String scopeQx= QxTool.getProductScopeQx(xmProduct.getQxCode(),teamType); + boolean headIsPm=xmGroupService.checkUserIsProductAdm(xmProduct,head.getUserid()); if("1".equals(scopeQx)){//同组织 - if( !head.getBranchId().equals(xmProduct.getBranchId())){ - tips.setFailureMsg("no-qx-no-same-branchId","产品【"+xmProduct.getId()+"】只开放给同企业人员。"); + if( !headIsPm && !head.getBranchId().equals(xmProduct.getBranchId())){ + tips.setFailureMsg("pdqx-scope-branch-0",String.format("产品【%s】只开放给同企业人员,【%s】不在企业【%s】中。",xmProduct.getId(),username,xmProduct.getBranchId())); return tips; } boolean isAllNull=true; @@ -217,15 +218,15 @@ public class XmGroupService extends BaseService { if(isAllNull){ return tips; }else{ - tips.setFailureMsg("no-qx-no-same-branchId","产品【"+xmProduct.getId()+"】只开放给同企业人员。"); + tips.setFailureMsg("pdqx-scope-branch-1",String.format("产品【%s】只开放给同企业人员,【%s】不在企业【%s】中。",xmProduct.getId(),memUseridSet.stream().collect(Collectors.joining(",")),xmProduct.getBranchId())); return tips; } }else if("2".equals(scopeQx)){//同产品 List groups=this.getProductGroupVoList(xmProduct.getId()); - if( !this.checkUserExistsGroup(groups, head.getUserid())){ - tips.setFailureMsg("no-qx-no-same-project","产品【"+xmProduct.getId()+"】只开放给同产品组人员。请先加入产品团队再操作。"); + if( !headIsPm && !this.checkUserExistsGroup(groups, head.getUserid())){ + tips.setFailureMsg("pdqx-scope-product-0",String.format("产品【%s】只开放给同产品团队人员,【%s】不在产品团队中。",xmProduct.getId(),username)); return tips; }; for (String memUserid : memUseridSet) { @@ -236,18 +237,19 @@ public class XmGroupService extends BaseService { return tips; }; } - tips.setFailureMsg("no-qx-no-same-project","产品【"+xmProduct.getId()+"】只开放给同产品组人员。请先加入产品团队再操作。"); + tips.setFailureMsg("pdqx-scope-product-1",String.format("产品【%s】只开放给同产品团队人员,【%s】不在产品团队中。",xmProduct.getId(),memUseridSet.stream().collect(Collectors.joining(",")))); return tips; }else if("3".equals(scopeQx)){//同小组 List groups=this.getProductGroupVoList(xmProduct.getId()); - List headGroups=groups; - headGroups=this.getUserGroups(groups,head.getUserid()); - if( headGroups==null || headGroups.size()==0 ){ - tips.setFailureMsg("no-qx-no-same-team","产品【"+xmProduct.getId()+"】只开放给同产品同小组人员。请先加入产品团队再操作。"); - return tips; - } - - + List headGroups=groups; + + if( !headIsPm ){ + headGroups=this.getUserGroups(groups,head.getUserid()); + if( headGroups==null || headGroups.size()==0 ){ + tips.setFailureMsg("pdqx-scope-team-1",String.format("产品【%s】只开放给同产品同小组人员,【%s】不在产品团队中。",xmProduct.getId(),username)); + return tips; + } + } for (String memUserid : memUseridSet) { if(this.checkUserIsProductAdm(xmProduct,memUserid)){ return tips; @@ -257,88 +259,103 @@ public class XmGroupService extends BaseService { return tips; } } - tips.setFailureMsg("no-qx-no-same-team","产品【"+xmProduct.getId()+"】只开放给同产品同小组人员。请先加入产品团队再操作。"); + tips.setFailureMsg("pdqx-scope-team-2",String.format("产品【%s】只开放给同产品同小组人员,【%s】不在产品团队中。",xmProduct.getId(),memUseridSet.stream().collect(Collectors.joining(",")))); return tips; - - - } - return tips; - } - - - public Tips checkProductTransmitQx(XmProduct xmProduct,int teamType,String headUserid,String ...memUserids){ - Tips tips=new Tips(); - String transmitQx= QxTool.getProductTransmitQx(xmProduct.getQxCode(),teamType); - if("0".equals(transmitQx)){//不检查上下级关系 - return tips; - }else if("1".equals(transmitQx)){//检查上下级关系 - if(memUserids==null || memUserids.length==0){ - return tips; - } - Set memUseridSet= Arrays.stream(memUserids).filter(k->StringUtils.hasText(k) && !k.equals(headUserid)).collect(Collectors.toSet()); - if(memUseridSet.size()==0){ - return tips; - } - List groups=this.getProductGroupVoList(xmProduct.getId()); - for (String memUserid : memUseridSet) { - if(this.checkUserIsOtherUserTeamHeadOrAss(groups,headUserid,memUserid)){ - return tips; - } - } - tips.setFailureMsg("no-qx-transmit-0","产品【"+xmProduct.getId()+"】开启了上下级关系检查,您当前账户不属于【"+memUseridSet.stream().collect(Collectors.joining(","))+"】中任意账户的上级,无权操作。"); - - } return tips; } - public Tips checkProductScopeQx(XmProduct xmProduct,int teamType,String userid,String ubranchId){ + /** + * 检查用户是否满足产品权限控制要求 + * @param xmProduct + * @param teamType + * @param userid + * @param username 只用于显示 + * @param ubranchId + * @return + */ + public Tips checkProductScopeQx(XmProduct xmProduct,int teamType,String userid,String username,String ubranchId){ Tips tips=new Tips(); - String scopeQx= QxTool.getTaskScopeQx(xmProduct.getQxCode()); + String scopeQx= QxTool.getProductScopeQx(xmProduct.getQxCode(),teamType); boolean isPm=this.checkUserIsProductAdm(xmProduct,userid); if(isPm){ return tips; } + username=StringUtils.hasText(username)?username:userid; if("1".equals(scopeQx)){//同组织 if(!StringUtils.hasText(ubranchId)){ User sysUser=sysClient.getUserByUserid(userid); if(sysUser==null || StringUtils.isEmpty(sysUser.getUserid())){ //如果账户不存在,可能已注销,再判断没有意义,会导致企业无法操作遗留数据问题 - //tips.setFailureMsg("no-qx-no-same-branchId","产品【"+xmProduct.getId()+"】只开放给同企业人员。"); + //tips.setFailureMsg("no-qx-branchId","产品【"+xmProduct.getId()+"】只开放给同企业人员。"); return tips; } + ubranchId=sysUser.getBranchId(); if(!sysUser.getBranchId().equals(xmProduct.getBranchId())){ - tips.setFailureMsg("no-qx-no-same-branchId","产品【"+xmProduct.getId()+"】只开放给同企业人员。"); + tips.setFailureMsg("pdqx-scope-branch-0",String.format("产品【%s】只开放给同企业人员,【%s】不在企业【%s】中。",xmProduct.getId(),username,xmProduct.getBranchId())); return tips; } }else{ if(!ubranchId.equals(xmProduct.getBranchId())){ - tips.setFailureMsg("no-qx-no-same-branchId","产品【"+xmProduct.getId()+"】只开放给同企业人员。"); + tips.setFailureMsg("pdqx-scope-branch-0",String.format("产品【%s】只开放给同企业人员,【%s】不在企业【%s】中。",xmProduct.getId(),username,xmProduct.getBranchId())); return tips; } } }else if("2".equals(scopeQx)){//同产品 if(!this.checkUserExistsGroup(this.getProductGroupVoList(xmProduct.getId()), userid)){ - tips.setFailureMsg("no-qx-no-same-project","产品【"+xmProduct.getId()+"】只开放给同产品组人员。请先加入产品团队再操作。"); + tips.setFailureMsg("pdqx-scope-product-0",String.format("产品【%s】只开放给同产品团队人员,【%s】不在产品团队中。",xmProduct.getId(),username)); return tips; }; }else if("3".equals(scopeQx)){//同小组 if(!this.checkUserExistsProductGroup(xmProduct.getId(), userid)){ - tips.setFailureMsg("no-qx-no-same-team","产品【"+xmProduct.getId()+"】只开放给同产品同小组人员。请先加入产品团队再操作。"); + tips.setFailureMsg("pdqx-scope-team-0",String.format("产品【%s】只开放给同产品同小组人员,【%s】不在产品团队中。",xmProduct.getId(),username)); return tips; } } return tips; } + public Tips checkProductTransmitQx(XmProduct xmProduct,int teamType,String headUserid,String ...memUserids){ + Tips tips=new Tips(); + String transmitQx= QxTool.getProductTransmitQx(xmProduct.getQxCode(),teamType); + if("0".equals(transmitQx)){//不检查上下级关系 + return tips; + }else if("1".equals(transmitQx)){//检查上下级关系 + if(memUserids==null || memUserids.length==0){ + return tips; + } + Set memUseridSet= Arrays.stream(memUserids).filter(k->StringUtils.hasText(k) && !k.equals(headUserid)).collect(Collectors.toSet()); + if(memUseridSet.size()==0){ + return tips; + } + List groups=this.getProductGroupVoList(xmProduct.getId()); + for (String memUserid : memUseridSet) { + if(this.checkUserIsOtherUserTeamHeadOrAss(groups,headUserid,memUserid)){ + return tips; + } + } + tips.setFailureMsg("pdqx-transmit-0", + String.format("产品【%s】开启了上下级关系检查,您当前账户不属于【%s】中任意账户的上级,无权操作。",xmProduct.getId(),memUseridSet.stream().collect(Collectors.joining(",")))); + + + } + return tips; + } + + /** + * + * @param xmProject + * @param head + * @return + */ public Tips checkProjectQx(XmProject xmProject,User head){ Tips tips=new Tips(); boolean headIsPm=this.checkUserIsProjectAdm(xmProject,head.getUserid()); if(headIsPm){ return tips; } - tips=this.checkProjectScopeQx(xmProject,head,head.getUserid()); + tips=this.checkProjectScopeQx(xmProject,head); if(!tips.isOk()){ return tips; } @@ -346,103 +363,153 @@ public class XmGroupService extends BaseService { } public Tips checkProjectQx(XmProject xmProject,User head,String ...memUserids){ Tips tips=new Tips("成功"); + boolean headIsPm=this.checkUserIsProjectAdm(xmProject,head.getUserid()); + if(headIsPm){ + return tips; + } tips=this.checkProjectScopeQx(xmProject,head,memUserids); if(!tips.isOk()){ return tips; } return this.checkProjectTransmitQx(xmProject,head.getUserid(),memUserids); } - public Tips checkProjectScopeQx(XmProject xmProject,User head,String ...memUserids){ + public Tips checkProjectScopeQx(XmProject xmProject,User head,String ...memUserids){ Tips tips=new Tips(); - boolean headIsPm=this.checkUserIsProjectAdm(xmProject,head.getUserid()); - if(headIsPm){ - return tips; - } + if(memUserids==null || memUserids.length==0){ - return this.checkProjectScopeQx(xmProject,head.getUserid(),head.getBranchId()); + return this.checkProjectScopeQx(xmProject,head.getUserid(),head.getUsername(),head.getBranchId()); } Set memUseridSet= Arrays.stream(memUserids).filter(k->StringUtils.hasText(k)&&!k.equals(head.getUserid())).collect(Collectors.toSet()); if(memUseridSet.size()==0){ - return this.checkProjectScopeQx(xmProject,head.getUserid(),head.getBranchId()); + return this.checkProjectScopeQx(xmProject,head.getUserid(),head.getUsername(),head.getBranchId()); } - - - String scopeQx= QxTool.getTaskScopeQx(xmProject.getQxCode()); - if("1".equals(scopeQx)){//同组织 - if( !head.getBranchId().equals(xmProject.getBranchId())){ - tips.setFailureMsg("no-qx-no-same-branchId","项目【"+xmProject.getId()+"】只开放给同企业人员。"); + String username=head.getUsername(); + String scopeQx= QxTool.getProjectScopeQx(xmProject.getQxCode()); + boolean headIsPm=xmGroupService.checkUserIsProjectAdm(xmProject,head.getUserid()); + if("1".equals(scopeQx)){//同组织 + if( !headIsPm && !head.getBranchId().equals(xmProject.getBranchId())){ + tips.setFailureMsg("prjqx-scope-branch-0",String.format("项目【%s】只开放给同企业人员,【%s】不在企业【%s】中。",xmProject.getId(),username,xmProject.getBranchId())); + return tips; + } + boolean isAllNull=true; + for (String memUserid : memUseridSet) {//只要有一个满足条件即可 + if(this.checkUserIsProjectAdm(xmProject,memUserid)){ return tips; } - boolean isAllNull=true; - for (String memUserid : memUseridSet) {//只要有一个满足条件即可 - if(this.checkUserIsProjectAdm(xmProject,memUserid)){ - return tips; - } - User sysU=sysClient.getUserByUserid(memUserid); - if(sysU==null || StringUtils.isEmpty(sysU.getUserid())){ - continue; - } - isAllNull=false; - if(sysU.getBranchId().equals(xmProject.getBranchId())){ - return tips; - } + User sysU=sysClient.getUserByUserid(memUserid); + if(sysU==null || StringUtils.isEmpty(sysU.getUserid())){ + continue; } - if(isAllNull){ - return tips; - }else{ - tips.setFailureMsg("no-qx-no-same-branchId","项目【"+xmProject.getId()+"】只开放给同企业人员。"); + isAllNull=false; + if(sysU.getBranchId().equals(xmProject.getBranchId())){ return tips; } + } + if(isAllNull){ + return tips; + }else{ + tips.setFailureMsg("prjqx-scope-branch-1",String.format("项目【%s】只开放给同企业人员,【%s】不在企业【%s】中。",xmProject.getId(),memUseridSet.stream().collect(Collectors.joining(",")),xmProject.getBranchId())); + return tips; + } - }else if("2".equals(scopeQx)){//同项目 - List groups=this.getProjectGroupVoList(xmProject.getId()); - if(!this.checkUserExistsGroup(groups, head.getUserid())){ - tips.setFailureMsg("no-qx-no-same-project","项目【"+xmProject.getId()+"】只开放给同项目组人员。请先加入项目团队再操作。"); + }else if("2".equals(scopeQx)){//同项目 + List groups=this.getProjectGroupVoList(xmProject.getId()); + if( !headIsPm && !this.checkUserExistsGroup(groups, head.getUserid())){ + tips.setFailureMsg("prjqx-scope-project-0",String.format("项目【%s】只开放给同项目团队人员,【%s】不在项目团队中。",xmProject.getId(),username)); + return tips; + }; + for (String memUserid : memUseridSet) { + if(this.checkUserIsProjectAdm(xmProject,memUserid)){ return tips; - }; - for (String memUserid : memUseridSet) { - if(this.checkUserIsProjectAdm(xmProject,memUserid)){ - return tips; - } - if( this.checkUserExistsGroup(groups,memUserid) ){ - return tips; - }; } - tips.setFailureMsg("no-qx-no-same-project","项目【"+xmProject.getId()+"】只开放给同项目组人员。请先加入项目团队再操作。"); - return tips; - }else if("3".equals(scopeQx)){//同小组 - List groups=this.getProjectGroupVoList(xmProject.getId()); - List headGroups=groups; + if( this.checkUserExistsGroup(groups,memUserid) ){ + return tips; + }; + } + tips.setFailureMsg("prjqx-scope-project-1",String.format("项目【%s】只开放给同项目团队人员,【%s】不在项目团队中。",xmProject.getId(),memUseridSet.stream().collect(Collectors.joining(",")))); + return tips; + }else if("3".equals(scopeQx)){//同小组 + List groups=this.getProjectGroupVoList(xmProject.getId()); + List headGroups=groups; + + if( !headIsPm ){ headGroups=this.getUserGroups(groups,head.getUserid()); if( headGroups==null || headGroups.size()==0 ){ - tips.setFailureMsg("no-qx-no-same-team","项目【"+xmProject.getId()+"】只开放给同项目同小组人员。请先加入项目团队再操作。"); + tips.setFailureMsg("prjqx-scope-team-1",String.format("项目【%s】只开放给同项目同小组人员,【%s】不在项目团队中。",xmProject.getId(),username)); return tips; } - - for (String memUserid : memUseridSet) { - if(this.checkUserIsProjectAdm(xmProject,memUserid)){ - return tips; - } - List memGroups=this.getUserGroups(headGroups,memUserid); - if( memGroups!=null && memGroups.size()>0 ){ - return tips; - } + } + for (String memUserid : memUseridSet) { + if(this.checkUserIsProjectAdm(xmProject,memUserid)){ + return tips; } - tips.setFailureMsg("no-qx-no-same-team","项目【"+xmProject.getId()+"】只开放给同项目同小组人员。请先加入项目团队再操作。"); - return tips; + List memGroups=this.getUserGroups(headGroups,memUserid); + if( memGroups!=null && memGroups.size()>0 ){ + return tips; + } + } + tips.setFailureMsg("prjqx-scope-team-2",String.format("项目【%s】只开放给同项目同小组人员,【%s】不在项目团队中。",xmProject.getId(),memUseridSet.stream().collect(Collectors.joining(",")))); + return tips; + } + return tips; + } + /** + * 检查用户是否满足项目权限控制要求 + * @param xmProject + * @param userid + * @param username 只用于显示 + * @param ubranchId + * @return + */ + public Tips checkProjectScopeQx(XmProject xmProject,String userid,String username,String ubranchId){ + Tips tips=new Tips(); + String scopeQx= QxTool.getProjectScopeQx(xmProject.getQxCode()); + boolean isPm=this.checkUserIsProjectAdm(xmProject,userid); + if(isPm){ + return tips; + } + username=StringUtils.hasText(username)?username:userid; + if("1".equals(scopeQx)){//同组织 + if(!StringUtils.hasText(ubranchId)){ + User sysUser=sysClient.getUserByUserid(userid); + if(sysUser==null || StringUtils.isEmpty(sysUser.getUserid())){ + //如果账户不存在,可能已注销,再判断没有意义,会导致企业无法操作遗留数据问题 + //tips.setFailureMsg("no-qx-branchId","项目【"+xmProject.getId()+"】只开放给同企业人员。"); + return tips; + } + ubranchId=sysUser.getBranchId(); + if(!sysUser.getBranchId().equals(xmProject.getBranchId())){ + tips.setFailureMsg("prjqx-scope-branch-0",String.format("项目【%s】只开放给同企业人员,【%s】不在企业【%s】中。",xmProject.getId(),username,xmProject.getBranchId())); + return tips; + } + }else{ + if(!ubranchId.equals(xmProject.getBranchId())){ + tips.setFailureMsg("prjqx-scope-branch-0",String.format("项目【%s】只开放给同企业人员,【%s】不在企业【%s】中。",xmProject.getId(),username,xmProject.getBranchId())); + return tips; + } + } + }else if("2".equals(scopeQx)){//同项目 + if(!this.checkUserExistsGroup(this.getProjectGroupVoList(xmProject.getId()), userid)){ + tips.setFailureMsg("prjqx-scope-project-0",String.format("项目【%s】只开放给同项目团队人员,【%s】不在项目团队中。",xmProject.getId(),username)); + return tips; + }; + }else if("3".equals(scopeQx)){//同小组 + if(!this.checkUserExistsProjectGroup(xmProject.getId(), userid)){ + tips.setFailureMsg("prjqx-scope-team-0",String.format("项目【%s】只开放给同项目同小组人员,【%s】不在项目团队中。",xmProject.getId(),username)); + return tips; } + } return tips; } - public Tips checkProjectTransmitQx(XmProject xmProject,String headUserid,String ...memUserids){ Tips tips=new Tips(); - String transmitQx= QxTool.getTaskTransmitQx(xmProject.getQxCode()); + String transmitQx= QxTool.getProjectTransmitQx(xmProject.getQxCode()); if("0".equals(transmitQx)){//不检查上下级关系 - return tips; + return tips; }else if("1".equals(transmitQx)){//检查上下级关系 if(memUserids==null || memUserids.length==0){ return tips; @@ -453,53 +520,18 @@ public class XmGroupService extends BaseService { } List groups=this.getProjectGroupVoList(xmProject.getId()); for (String memUserid : memUseridSet) { - if(this.checkUserIsOtherUserTeamHeadOrAss(groups,headUserid,memUserid)){ - return tips; - } + if(this.checkUserIsOtherUserTeamHeadOrAss(groups,headUserid,memUserid)){ + return tips; + } } - tips.setFailureMsg("no-qx-transmit-0","项目【"+xmProject.getId()+"】开启了上下级关系检查,您当前账户不属于【"+memUseridSet.stream().collect(Collectors.joining(","))+"】中任意账户的上级,无权操作。"); + tips.setFailureMsg("prjqx-transmit-0", + String.format("项目【%s】开启了上下级关系检查,您当前账户不属于【%s】中任意账户的上级,无权操作。",xmProject.getId(),memUseridSet.stream().collect(Collectors.joining(",")))); } return tips; } - public Tips checkProjectScopeQx(XmProject xmProject,String userid,String ubranchId){ - Tips tips=new Tips(); - String scopeQx= QxTool.getTaskScopeQx(xmProject.getQxCode()); - if("1".equals(scopeQx)){//同组织 - if(!StringUtils.hasText(ubranchId)){ - User sysUser=sysClient.getUserByUserid(userid); - if(sysUser==null || StringUtils.isEmpty(sysUser.getUserid())){ - //如果账户不存在,可能已注销,再判断没有意义,会导致企业无法操作遗留数据问题 - //tips.setFailureMsg("no-qx-no-same-branchId","项目【"+xmProject.getId()+"】只开放给同企业人员。"); - return tips; - } - if(!sysUser.getBranchId().equals(xmProject.getBranchId())){ - tips.setFailureMsg("no-qx-no-same-branchId","项目【"+xmProject.getId()+"】只开放给同企业人员。"); - return tips; - } - }else{ - if(!ubranchId.equals(xmProject.getBranchId())){ - tips.setFailureMsg("no-qx-no-same-branchId","项目【"+xmProject.getId()+"】只开放给同企业人员。"); - return tips; - } - } - - }else if("2".equals(scopeQx)){//同项目 - if(!this.checkUserExistsGroup(this.getProjectGroupVoList(xmProject.getId()), userid)){ - tips.setFailureMsg("no-qx-no-same-project","项目【"+xmProject.getId()+"】只开放给同项目组人员。请先加入项目团队再操作。"); - return tips; - }; - }else if("3".equals(scopeQx)){//同小组 - if(!this.checkUserExistsProjectGroup(xmProject.getId(), userid)){ - tips.setFailureMsg("no-qx-no-same-team","项目【"+xmProject.getId()+"】只开放给同项目同小组人员。请先加入项目团队再操作。"); - return tips; - } - } - return tips; - } - /** 请在此类添加自定义函数 */ public List getProjectGroupVoList(String projectId) { List groupVoList=new ArrayList<>();