From 507bcd9b59265192afccb6c3b180261d0eecbb15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E8=A3=95=E8=B4=A2?= Date: Sat, 28 Jan 2023 21:08:03 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=86=E5=B8=83=E5=BC=8F=E6=9C=AC=E5=9C=B0?= =?UTF-8?q?=E7=BC=93=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/xm/core/ctrl/XmGroupController.java | 6 +- .../xm/core/ctrl/XmIterationController.java | 10 +- .../com/xm/core/ctrl/XmMenuController.java | 6 +- .../xm/core/ctrl/XmTestCaseController.java | 12 +- .../xm/core/ctrl/XmTestCasedbController.java | 14 +-- .../core/ctrl/XmTestPlanCaseController.java | 104 ++++++++++-------- .../xm/core/ctrl/XmTestPlanController.java | 10 +- .../xm/core/service/XmProductQxService.java | 86 +++++---------- .../xm/core/service/XmProjectQxService.java | 89 ++++++--------- 9 files changed, 144 insertions(+), 193 deletions(-) diff --git a/xm-core/src/main/java/com/xm/core/ctrl/XmGroupController.java b/xm-core/src/main/java/com/xm/core/ctrl/XmGroupController.java index 48a357e8..df3aa9eb 100644 --- a/xm-core/src/main/java/com/xm/core/ctrl/XmGroupController.java +++ b/xm-core/src/main/java/com/xm/core/ctrl/XmGroupController.java @@ -141,7 +141,7 @@ public class XmGroupController { } } if(StringUtils.hasText(group.getLeaderUserid()) && !group.getLeaderUserid().equals(groupDb.getLeaderUserid())){ - tips = productQxService.checkProductQx(null,product,0,user, groupDb.getLeaderUserid(),groupDb.getLeaderUsername(),null); + tips = productQxService.checkProductQx(product,0,user, groupDb.getLeaderUserid(),groupDb.getLeaderUsername(),null); if(!tips.isOk()){ return ResponseHelper.failed(tips); } @@ -151,7 +151,7 @@ public class XmGroupController { } } if(StringUtils.hasText(group.getAssUserid()) && !group.getAssUserid().equals(groupDb.getAssUserid())){ - tips = productQxService.checkProductQx(null,product,0,user, groupDb.getAssUserid(),groupDb.getAssUsername(),null); + tips = productQxService.checkProductQx(product,0,user, groupDb.getAssUserid(),groupDb.getAssUsername(),null); if(!tips.isOk()){ return ResponseHelper.failed(tips); } @@ -420,7 +420,7 @@ public class XmGroupController { } boolean isPm=xmGroupService.checkUserIsProductAdm(product,u.getUserid()); if(!isPm) { - tips=productQxService.checkProductQx(null,product,0,u,groupDb.getLeaderUserid(),groupDb.getLeaderUsername(), null); + tips=productQxService.checkProductQx(product,0,u,groupDb.getLeaderUserid(),groupDb.getLeaderUsername(), null); if(!tips.isOk()){ return ResponseHelper.failed(tips); } diff --git a/xm-core/src/main/java/com/xm/core/ctrl/XmIterationController.java b/xm-core/src/main/java/com/xm/core/ctrl/XmIterationController.java index bd724205..7b762eb7 100644 --- a/xm-core/src/main/java/com/xm/core/ctrl/XmIterationController.java +++ b/xm-core/src/main/java/com/xm/core/ctrl/XmIterationController.java @@ -217,7 +217,7 @@ public class XmIterationController { }else if(!xmIteration.getAdminUserid().equals(user.getUserid())){ boolean isPm=groupService.checkUserIsProductAdm(xmProductDb,user.getUserid()); if( !isPm ){ - tips = productQxService.checkProductQx(null,xmProductDb,3,user,xmIteration.getAdminUserid(),xmIteration.getAdminUsername(),null); + tips = productQxService.checkProductQx(xmProductDb,3,user,xmIteration.getAdminUserid(),xmIteration.getAdminUsername(),null); if(!tips.isOk()){ return failed(tips); } @@ -265,7 +265,7 @@ public class XmIterationController { XmProduct xmProductDb=xmProductService.getProductFromCache(iterationDb.getProductId()); boolean isPm=groupService.checkUserIsProductAdm(xmProductDb,user.getUserid()); if( !isPm ){ - tips = productQxService.checkProductQx(null,xmProductDb,3,user,iterationDb.getAdminUserid(),iterationDb.getAdminUsername(),null); + tips = productQxService.checkProductQx(xmProductDb,3,user,iterationDb.getAdminUserid(),iterationDb.getAdminUsername(),null); if(!tips.isOk()){ return failed(tips); } @@ -309,7 +309,7 @@ public class XmIterationController { XmProduct xmProductDb=xmProductService.getProductFromCache(iterationDb.getProductId()); boolean isPm=groupService.checkUserIsProductAdm(xmProductDb,user.getUserid()); if( !isPm ){ - tips = productQxService.checkProductQx(null,xmProductDb,3,user,iterationDb.getAdminUserid(),iterationDb.getAdminUsername(),null); + tips = productQxService.checkProductQx(xmProductDb,3,user,iterationDb.getAdminUserid(),iterationDb.getAdminUsername(),null); if(!tips.isOk()){ return failed(tips); } @@ -380,7 +380,7 @@ public class XmIterationController { String adminUserid= (String) xmIterationMap.get("adminUserid"); String adminUsername= (String) xmIterationMap.get("adminUsername"); if(StringUtils.hasText(adminUserid)){ - tips=productQxService.checkProductQx(null,xmProductDb,3,user,adminUserid,adminUsername,null); + tips=productQxService.checkProductQx(xmProductDb,3,user,adminUserid,adminUsername,null); if(!tips.isOk()){ return failed(tips); } @@ -390,7 +390,7 @@ public class XmIterationController { boolean isPm=groupService.checkUserIsProductAdm(xmProductDb,user.getUserid()); for (XmIteration iterationDb2 : xmIterationsDb) { if( !isPm ){ - tips=productQxService.checkProductQx(null,xmProductDb,3,user,iterationDb2.getAdminUserid(),iterationDb2.getAdminUsername(),null); + tips=productQxService.checkProductQx(xmProductDb,3,user,iterationDb2.getAdminUserid(),iterationDb2.getAdminUsername(),null); if(!tips.isOk()){ no.add(iterationDb2); noTipsMap.put(tips.getMsg(),tips); diff --git a/xm-core/src/main/java/com/xm/core/ctrl/XmMenuController.java b/xm-core/src/main/java/com/xm/core/ctrl/XmMenuController.java index 9c1b40b1..75e83afb 100644 --- a/xm-core/src/main/java/com/xm/core/ctrl/XmMenuController.java +++ b/xm-core/src/main/java/com/xm/core/ctrl/XmMenuController.java @@ -285,7 +285,7 @@ public class XmMenuController { return failed(tips); } if(StringUtils.hasText(xmMenu.getMmUserid()) && !xmMenu.getMmUserid().equals(user.getUserid())){ - tips=productQxService.checkProductQx(null,xmProduct,2,user,xmMenu.getMmUserid(),xmMenu.getMmUsername(),null); + tips=productQxService.checkProductQx(xmProduct,2,user,xmMenu.getMmUserid(),xmMenu.getMmUsername(),null); if(!tips.isOk()){ return failed(tips); } @@ -357,7 +357,7 @@ public class XmMenuController { return ResponseHelper.failed("product-data-0","产品已不存在"); } if(!groupService.checkUserIsProductAdm(xmProduct, user.getUserid())){ - tips=productQxService.checkProductQx(null,xmProduct,2,user,xmMenuDb.getMmUserid(),xmMenuDb.getMmUsername(),null); + tips=productQxService.checkProductQx(xmProduct,2,user,xmMenuDb.getMmUserid(),xmMenuDb.getMmUsername(),null); if(!tips.isOk()){ return failed(tips); } @@ -399,7 +399,7 @@ public class XmMenuController { if(xmProduct==null){ return ResponseHelper.failed("product-data-0","产品已不存在"); } - tips=productQxService.checkProductQx(null,xmProduct,2,user,xmMenuDb.getMmUserid(),xmMenuDb.getMmUsername(),null); + tips=productQxService.checkProductQx(xmProduct,2,user,xmMenuDb.getMmUserid(),xmMenuDb.getMmUsername(),null); if(!tips.isOk()){ return failed(tips); } diff --git a/xm-core/src/main/java/com/xm/core/ctrl/XmTestCaseController.java b/xm-core/src/main/java/com/xm/core/ctrl/XmTestCaseController.java index 91d98f34..24dc1f43 100644 --- a/xm-core/src/main/java/com/xm/core/ctrl/XmTestCaseController.java +++ b/xm-core/src/main/java/com/xm/core/ctrl/XmTestCaseController.java @@ -129,7 +129,7 @@ public class XmTestCaseController { } User user=LoginUtils.getCurrentUserInfo(); XmProduct xmProductDb=productService.getProductFromCache(xmTestCase.getProductId()); - tips=productQxService.checkProductQx(null,xmProductDb,1,user,xmTestCase.getCuserid(),xmTestCase.getCusername(),xmTestCase.getCbranchId()); + tips=productQxService.checkProductQx(xmProductDb,1,user,xmTestCase.getCuserid(),xmTestCase.getCusername(),xmTestCase.getCbranchId()); if(!tips.isOk()){ return failed(tips); } @@ -179,7 +179,7 @@ public class XmTestCaseController { XmProduct xmProductDb=productService.getProductFromCache(xmTestCaseDb.getProductId()); boolean isPm=groupService.checkUserIsProductAdm(xmProductDb,user.getUserid()); if(!isPm){ - tips=productQxService.checkProductQx(null,xmProductDb,1,user,xmTestCaseDb.getCuserid(),xmTestCaseDb.getCusername(),xmTestCaseDb.getCbranchId()); + tips=productQxService.checkProductQx(xmProductDb,1,user,xmTestCaseDb.getCuserid(),xmTestCaseDb.getCusername(),xmTestCaseDb.getCbranchId()); if(!tips.isOk()){ return failed(tips); } @@ -216,7 +216,7 @@ public class XmTestCaseController { XmProduct xmProductDb=productService.getProductFromCache(xmTestCaseDb.getProductId()); boolean isPm=groupService.checkUserIsProductAdm(xmProductDb,user.getUserid()); if(!isPm){ - tips=productQxService.checkProductQx(null,xmProductDb,1,user,xmTestCaseDb.getCuserid(),xmTestCaseDb.getCusername(),null); + tips=productQxService.checkProductQx(xmProductDb,1,user,xmTestCaseDb.getCuserid(),xmTestCaseDb.getCusername(),null); if(!tips.isOk()){ return failed(tips); } @@ -284,7 +284,7 @@ public class XmTestCaseController { } XmProduct xmProductDb=productService.getProductFromCache(xmTestCaseDb2.getProductId()); if( StringUtils.hasText(xmTestCase.getCuserid()) ){ - tips=this.productQxService.checkProductQx(null,xmProductDb,1,user,xmTestCase.getCuserid(),xmTestCase.getCusername(),null); + tips=this.productQxService.checkProductQx(xmProductDb,1,user,xmTestCase.getCuserid(),xmTestCase.getCusername(),null); if(!tips.isOk()){ return failed(tips); } @@ -295,7 +295,7 @@ public class XmTestCaseController { }else{ for (XmTestCase xmTestCaseDb : xmTestCasesDb) { Tips tips2 = new Tips("检查通过"); - tips2=productQxService.checkProductQx(null,xmProductDb,1,user,xmTestCaseDb.getCuserid(),xmTestCaseDb.getCusername(),null); + tips2=productQxService.checkProductQx(xmProductDb,1,user,xmTestCaseDb.getCuserid(),xmTestCaseDb.getCusername(),null); if(!tips2.isOk()){ no.add(xmTestCaseDb); noTipsMap.put(tips2.getMsg(),tips2); @@ -361,7 +361,7 @@ public class XmTestCaseController { can=datasDb; }else { for (XmTestCase data : datasDb) { - tips=productQxService.checkProductQx(null,xmProductDb,1,user,data.getCuserid(),data.getCusername(),data.getCbranchId()); + tips=productQxService.checkProductQx(xmProductDb,1,user,data.getCuserid(),data.getCusername(),data.getCbranchId()); if(tips.isOk()){ can.add(data); }else { diff --git a/xm-core/src/main/java/com/xm/core/ctrl/XmTestCasedbController.java b/xm-core/src/main/java/com/xm/core/ctrl/XmTestCasedbController.java index e53f0c55..8b1c7f5a 100644 --- a/xm-core/src/main/java/com/xm/core/ctrl/XmTestCasedbController.java +++ b/xm-core/src/main/java/com/xm/core/ctrl/XmTestCasedbController.java @@ -111,7 +111,7 @@ public class XmTestCasedbController { XmProduct xmProductDb=productService.getProductFromCache(xmTestCasedb.getProductId()); boolean isPm=groupService.checkUserIsProductAdm(xmProductDb,user.getUserid()); if(!isPm){ - tips=productQxService.checkProductQx(null,xmProductDb,1,user,xmTestCasedb.getCuserid(),xmTestCasedb.getCusername(),xmTestCasedb.getCbranchId()); + tips=productQxService.checkProductQx(xmProductDb,1,user,xmTestCasedb.getCuserid(),xmTestCasedb.getCusername(),xmTestCasedb.getCbranchId()); if(!tips.isOk()){ return failed(tips); } @@ -154,7 +154,7 @@ public class XmTestCasedbController { XmProduct xmProductDb=productService.getProductFromCache(xmTestCasedbDb.getProductId()); boolean isPm=groupService.checkUserIsProductAdm(xmProductDb,user.getUserid()); if(!isPm){ - tips=productQxService.checkProductQx(null,xmProductDb,1,user,xmTestCasedbDb.getCuserid(),xmTestCasedbDb.getCusername(),xmTestCasedbDb.getCbranchId()); + tips=productQxService.checkProductQx(xmProductDb,1,user,xmTestCasedbDb.getCuserid(),xmTestCasedbDb.getCusername(),xmTestCasedbDb.getCbranchId()); if(!tips.isOk()){ return failed(tips); } @@ -192,13 +192,13 @@ public class XmTestCasedbController { XmProduct xmProductDb=productService.getProductFromCache(xmTestCasedbDb.getProductId()); boolean isPm=groupService.checkUserIsProductAdm(xmProductDb,user.getUserid()); if(StringUtils.hasText(xmTestCasedb.getCuserid())){ - tips=productQxService.checkProductQx(null,xmProductDb,1,user,xmTestCasedb.getCuserid(),xmTestCasedb.getCusername(),xmTestCasedb.getCbranchId()); + tips=productQxService.checkProductQx(xmProductDb,1,user,xmTestCasedb.getCuserid(),xmTestCasedb.getCusername(),xmTestCasedb.getCbranchId()); if(!tips.isOk()){ return failed(tips); } } if(!isPm){ - tips=productQxService.checkProductQx(null,xmProductDb,1,user,xmTestCasedbDb.getCuserid(),xmTestCasedbDb.getCusername(),xmTestCasedbDb.getCbranchId()); + tips=productQxService.checkProductQx(xmProductDb,1,user,xmTestCasedbDb.getCuserid(),xmTestCasedbDb.getCusername(),xmTestCasedbDb.getCbranchId()); if(!tips.isOk()){ return failed(tips); } @@ -257,7 +257,7 @@ public class XmTestCasedbController { User user = LoginUtils.getCurrentUserInfo(); XmProduct xmProductDb=productService.getProductFromCache(xmTestCasedbDb.getProductId()); if(StringUtils.hasText(xmTestCasedb.getCuserid())){ - tips=productQxService.checkProductQx(null,xmProductDb,1,user,xmTestCasedb.getCuserid(),xmTestCasedb.getCusername(),xmTestCasedb.getCbranchId()); + tips=productQxService.checkProductQx(xmProductDb,1,user,xmTestCasedb.getCuserid(),xmTestCasedb.getCusername(),xmTestCasedb.getCbranchId()); if(!tips.isOk()){ return failed(tips); } @@ -271,7 +271,7 @@ public class XmTestCasedbController { can=xmTestCasedbsDb; }else { for (XmTestCasedb data : xmTestCasedbsDb) { - tips=productQxService.checkProductQx(null,xmProductDb,1,user,data.getCuserid(),data.getCusername(),data.getCbranchId()); + tips=productQxService.checkProductQx(xmProductDb,1,user,data.getCuserid(),data.getCusername(),data.getCbranchId()); if(!tips.isOk()){ no.add(data); noTips.add(tips.getMsg()); @@ -340,7 +340,7 @@ public class XmTestCasedbController { can=datasDb; }else { for (XmTestCasedb data : datasDb) { - tips=productQxService.checkProductQx(null,xmProductDb,1,user,data.getCuserid(),data.getCusername(),data.getCbranchId()); + tips=productQxService.checkProductQx(xmProductDb,1,user,data.getCuserid(),data.getCusername(),data.getCbranchId()); if(!tips.isOk()){ no.add(data); noTips.add(tips.getMsg()); diff --git a/xm-core/src/main/java/com/xm/core/ctrl/XmTestPlanCaseController.java b/xm-core/src/main/java/com/xm/core/ctrl/XmTestPlanCaseController.java index a7088a73..9972b043 100644 --- a/xm-core/src/main/java/com/xm/core/ctrl/XmTestPlanCaseController.java +++ b/xm-core/src/main/java/com/xm/core/ctrl/XmTestPlanCaseController.java @@ -186,41 +186,6 @@ public class XmTestPlanCaseController { return m; } - @ApiOperation( value = "新增一条测试计划与用例关系表信息",notes=" ") - @ApiResponses({ - @ApiResponse(code = 200,response=XmTestPlanCase.class,message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}") - }) - @RequestMapping(value="/add",method=RequestMethod.POST) - public Map addXmTestPlanCase(@RequestBody XmTestPlanCase xmTestPlanCase) { - Map m = new HashMap<>(); - Tips tips=new Tips("成功新增一条数据"); - try{ - boolean createPk=false; - if(!StringUtils.hasText(xmTestPlanCase.getCaseId())) { - createPk=true; - xmTestPlanCase.setCaseId(xmTestPlanCaseService.createKey("caseId")); - } - if(!StringUtils.hasText(xmTestPlanCase.getPlanId())) { - createPk=true; - xmTestPlanCase.setPlanId(xmTestPlanCaseService.createKey("planId")); - } - if(createPk==false){ - if(xmTestPlanCaseService.selectOneObject(xmTestPlanCase) !=null ){ - return failed("pk-exists","编号重复,请修改编号再提交"); - } - } - xmTestPlanCaseService.insert(xmTestPlanCase); - m.put("data",xmTestPlanCase); - }catch (BizException e) { - tips=e.getTips(); - logger.error("",e); - }catch (Exception e) { - tips.setFailureMsg(e.getMessage()); - logger.error("",e); - } - m.put("tips", tips); - return m; - } @@ -276,6 +241,7 @@ public class XmTestPlanCaseController { xmTestPlanCase.setExecUsername(user.getUsername()); xmTestPlanCase.setPriority(xmTestCase.getCpriority()); xmTestPlanCase.setProjectId(xmTestPlanDb.getProjectId()); + xmTestPlanCase.setProductId(xmProductDb.getId()); planCases.add(xmTestPlanCase); } this.xmTestPlanCaseService.batchInsert(planCases); @@ -310,6 +276,15 @@ public class XmTestPlanCaseController { if( xmTestPlanCaseDb == null ){ return failed("data-not-exists","数据不存在,无法删除"); } + XmProduct xmProductDb=productService.getProductFromCache(xmTestPlanCaseDb.getProductId()); + if(xmProductDb==null){ + return failed("product-not-exists","产品已不存在"); + } + User user=LoginUtils.getCurrentUserInfo(); + tips=productQxService.checkProductQx(xmProductDb,1,user); + if(!tips.isOk()){ + return failed(tips); + } xmTestPlanCaseService.deleteByPk(xmTestPlanCase); }catch (BizException e) { tips=e.getTips(); @@ -341,6 +316,15 @@ public class XmTestPlanCaseController { if( xmTestPlanCaseDb == null ){ return failed("data-not-exists","数据不存在,无法修改"); } + XmProduct xmProductDb=productService.getProductFromCache(xmTestPlanCaseDb.getProductId()); + if(xmProductDb==null){ + return failed("product-not-exists","产品已不存在"); + } + User user=LoginUtils.getCurrentUserInfo(); + tips=productQxService.checkProductQx(xmProductDb,1,user); + if(!tips.isOk()){ + return failed(tips); + } xmTestPlanCaseService.updateSomeFieldByPk(xmTestPlanCase); m.put("data",xmTestPlanCase); }catch (BizException e) { @@ -394,18 +378,27 @@ public class XmTestPlanCaseController { } List can=new ArrayList<>(); List no=new ArrayList<>(); + Set noTipsSet=new HashSet<>(); XmTestPlanCase xmTestPlanCaseDb=xmTestPlanCasesDb.get(0); if(xmTestPlanCasesDb.stream().filter(k->!k.getPlanId().equals(xmTestPlanCaseDb.getPlanId())).findAny().isPresent()){ return failed("planId-0","批量操作只能操作同一个测试计划的用例"); } User user = LoginUtils.getCurrentUserInfo(); - productService.getProductFromCache(xm) - productQxService.checkProductQx(xm) - for (XmTestPlanCase xmTestPlanCaseDb : xmTestPlanCasesDb) { - Tips tips2 = new Tips("检查通过"); - productQxService. + + XmProduct xmProductDb=productService.getProductFromCache(xmTestPlanCaseDb.getProductId()); + if(xmProductDb==null){ + return failed("product-not-exists","产品已不存在"); + } + tips=productQxService.checkProductQx(xmProductDb,1,user); + if(!tips.isOk()){ + return failed(tips); + } + for (XmTestPlanCase pcDb : xmTestPlanCasesDb) { + Tips tips2 = new Tips("成功"); + tips2=productQxService.checkProductQx(xmProductDb,1,user,pcDb.getExecUserid(),pcDb.getExecUsername(),null); if(!tips2.isOk()){ - no.add(xmTestPlanCaseDb); + no.add(xmTestPlanCaseDb); + noTipsSet.add(tips2.getMsg()); }else{ can.add(xmTestPlanCaseDb); } @@ -419,7 +412,7 @@ public class XmTestPlanCaseController { msgs.add(String.format("成功更新以下%s条数据",can.size())); } if(no.size()>0){ - msgs.add(String.format("以下%s个数据无权限更新",no.size())); + msgs.add(String.format("以下%s个数据无权限更新,原因【%s】",no.size(),noTipsSet.stream().collect(Collectors.joining(";")))); } if(can.size()>0){ tips.setOkMsg(msgs.stream().collect(Collectors.joining())); @@ -454,11 +447,28 @@ public class XmTestPlanCaseController { List can=new ArrayList<>(); List no=new ArrayList<>(); - for (XmTestPlanCase data : datasDb) { - if(true){ - can.add(data); + Set noTipsSet=new HashSet<>(); + XmTestPlanCase xmTestPlanCaseDb=datasDb.get(0); + if(datasDb.stream().filter(k->!k.getPlanId().equals(xmTestPlanCaseDb.getPlanId())).findAny().isPresent()){ + return failed("planId-0","批量操作只能操作同一个测试计划的用例"); + } + User user = LoginUtils.getCurrentUserInfo(); + + XmProduct xmProductDb=productService.getProductFromCache(xmTestPlanCaseDb.getProductId()); + if(xmProductDb==null){ + return failed("product-not-exists","产品已不存在"); + } + tips=productQxService.checkProductQx(xmProductDb,1,user); + if(!tips.isOk()){ + return failed(tips); + } + for (XmTestPlanCase pcDb : datasDb) { + Tips tips1=productQxService.checkProductQx(xmProductDb,1,user,pcDb.getExecUserid(),pcDb.getExecUsername(),null); + if(tips1.isOk()){ + can.add(pcDb); }else{ - no.add(data); + no.add(pcDb); + noTipsSet.add(tips1.getMsg()); } } List msgs=new ArrayList<>(); @@ -468,7 +478,7 @@ public class XmTestPlanCaseController { } if(no.size()>0){ - msgs.add(String.format("以下%s条数据不能删除.【%s】",no.size(),no.stream().map(i-> i.getCaseId() +" "+ i.getPlanId() ).collect(Collectors.joining(",")))); + msgs.add(String.format("以下%s条数据不能删除.原因【%s】",no.size(),noTipsSet.stream().collect(Collectors.joining(";")))); } if(can.size()>0){ tips.setOkMsg(msgs.stream().collect(Collectors.joining())); diff --git a/xm-core/src/main/java/com/xm/core/ctrl/XmTestPlanController.java b/xm-core/src/main/java/com/xm/core/ctrl/XmTestPlanController.java index cbbccf2b..de83a7f8 100644 --- a/xm-core/src/main/java/com/xm/core/ctrl/XmTestPlanController.java +++ b/xm-core/src/main/java/com/xm/core/ctrl/XmTestPlanController.java @@ -144,7 +144,7 @@ public class XmTestPlanController { XmProduct xmProductDb=productService.getProductFromCache(xmTestPlan.getProductId()); boolean isPm=groupService.checkUserIsProductAdm(xmProductDb,user.getUserid()); if(!isPm){ - tips=productQxService.checkProductQx(null,xmProductDb,1,user,xmTestPlan.getCuserid(),xmTestPlan.getCusername(),xmTestPlan.getCbranchId()); + tips=productQxService.checkProductQx(xmProductDb,1,user,xmTestPlan.getCuserid(),xmTestPlan.getCusername(),xmTestPlan.getCbranchId()); if(!tips.isOk()){ return failed(tips); } @@ -188,7 +188,7 @@ public class XmTestPlanController { XmProduct xmProductDb=productService.getProductFromCache(xmTestPlanDb.getProductId()); boolean isPm=groupService.checkUserIsProductAdm(xmProductDb,user.getUserid()); if(!isPm){ - tips=productQxService.checkProductQx(null,xmProductDb,1,user,xmTestPlanDb.getCuserid(),xmTestPlanDb.getCusername(),xmTestPlanDb.getCbranchId()); + tips=productQxService.checkProductQx(xmProductDb,1,user,xmTestPlanDb.getCuserid(),xmTestPlanDb.getCusername(),xmTestPlanDb.getCbranchId()); if(!tips.isOk()){ return failed(tips); } @@ -227,7 +227,7 @@ public class XmTestPlanController { XmProduct xmProductDb=productService.getProductFromCache(xmTestPlanDb.getProductId()); boolean isPm=groupService.checkUserIsProductAdm(xmProductDb,user.getUserid()); if(!isPm){ - tips=productQxService.checkProductQx(null,xmProductDb,1,user,xmTestPlanDb.getCuserid(),xmTestPlanDb.getCusername(),xmTestPlanDb.getCbranchId()); + tips=productQxService.checkProductQx(xmProductDb,1,user,xmTestPlanDb.getCuserid(),xmTestPlanDb.getCusername(),xmTestPlanDb.getCbranchId()); if(!tips.isOk()){ return failed(tips); } @@ -292,7 +292,7 @@ public class XmTestPlanController { can=xmTestPlansDb; }else { for (XmTestPlan xmTestPlanDb : xmTestPlansDb) { - Tips tips2 =productQxService.checkProductQx(null,xmProductDb,1,user,xmTestPlanDb.getCuserid(),xmTestPlanDb.getCusername(),xmTestPlanDb.getCbranchId()); + Tips tips2 =productQxService.checkProductQx(xmProductDb,1,user,xmTestPlanDb.getCuserid(),xmTestPlanDb.getCusername(),xmTestPlanDb.getCbranchId()); if(!tips2.isOk()){ no.add(xmTestPlanDb); noTips.add(tips2.getMsg()); @@ -356,7 +356,7 @@ public class XmTestPlanController { can=datasDb; }else { for (XmTestPlan xmTestPlanDb : datasDb) { - Tips tips2 =productQxService.checkProductQx(null,xmProductDb,1,user,xmTestPlanDb.getCuserid(),xmTestPlanDb.getCusername(),xmTestPlanDb.getCbranchId()); + Tips tips2 =productQxService.checkProductQx(xmProductDb,1,user,xmTestPlanDb.getCuserid(),xmTestPlanDb.getCusername(),xmTestPlanDb.getCbranchId()); if(!tips2.isOk()){ no.add(xmTestPlanDb); noTips.add(tips2.getMsg()); diff --git a/xm-core/src/main/java/com/xm/core/service/XmProductQxService.java b/xm-core/src/main/java/com/xm/core/service/XmProductQxService.java index 0bb3a42d..c13a31a5 100644 --- a/xm-core/src/main/java/com/xm/core/service/XmProductQxService.java +++ b/xm-core/src/main/java/com/xm/core/service/XmProductQxService.java @@ -47,45 +47,31 @@ public class XmProductQxService { * @return */ public Tips checkProductQx(XmProduct xmProduct, int teamType, User head){ - return this.checkProductQx(null,xmProduct,teamType,head); - } - - /** - * - * @param groupsMap 产品组缓存数据,当需要循环执行时,避免多次查询缓存与数据库 - * @param xmProduct - * @param teamType 0-需求人员 1-测试人员,2-迭代人员 - * @param head - * @return - */ - public Tips checkProductQx(Map> groupsMap,XmProduct xmProduct,int teamType,User head){ - Tips tips=this.checkProductScopeQx(groupsMap,xmProduct,teamType,head.getUserid(),head.getUsername(),head.getBranchId()); - return tips; + return this.checkProductQx(xmProduct,teamType,head); } /** * - * @param groupsMap 产品组缓存数据,当需要循环执行时,避免多次查询缓存与数据库 * @param xmProduct * @param teamType 0-需求人员 1-测试人员,2-迭代人员 * @param head * @return */ - public Tips checkProductQx(Map> groupsMap,XmProduct xmProduct,int teamType,User head,String memUserid,String memUsername,String memBranchId){ + public Tips checkProductQx(XmProduct xmProduct,int teamType,User head,String memUserid,String memUsername,String memBranchId){ Tips tips=new Tips("成功"); - tips=this.checkProductScopeQx(groupsMap,xmProduct,teamType,head,memUserid,memUsername,memBranchId); + tips=this.checkProductScopeQx(xmProduct,teamType,head,memUserid,memUsername,memBranchId); if(!tips.isOk()){ return tips; } - return this.checkProductTransmitQx(groupsMap,xmProduct,teamType,head,memUserid,memUsername); + return this.checkProductTransmitQx(xmProduct,teamType,head,memUserid,memUsername); } - public Tips checkProductScopeQx(Map> groupsMap,XmProduct xmProduct,int teamType,User head,String memUserid,String memUsername,String memBranchId){ + public Tips checkProductScopeQx(XmProduct xmProduct,int teamType,User head,String memUserid,String memUsername,String memBranchId){ Tips tips=new Tips("成功"); if(!StringUtils.hasText(memUserid)|| memUserid.equals(head.getUserid())){ - return this.checkProductScopeQx(groupsMap,xmProduct,teamType,head.getUserid(),head.getUsername(),head.getBranchId()); + return this.checkProductScopeQx(xmProduct,teamType,head.getUserid(),head.getUsername(),head.getBranchId()); } String headUsername=StringUtils.hasText(head.getUsername())?head.getUsername():head.getUserid(); String scopeQx= QxTool.getProductScopeQx(xmProduct.getQxCode(),teamType); @@ -116,7 +102,7 @@ public class XmProductQxService { }else if("2".equals(scopeQx)){//同产品 - List groups=this.getProductGroupsFromLocalCache(groupsMap,xmProduct.getId()); + List groups=this.getProductGroupsFromLocalCache(xmProduct.getId()); if( !headIsPm && !xmGroupService.checkUserExistsGroup(groups, head.getUserid())){ tips.setFailureMsg("pdqx-scope-product-0",String.format("产品【%s】只开放给同一个产品团队人员,【%s】不在产品团队中。",xmProduct.getId(),headUsername)); return tips; @@ -130,7 +116,7 @@ public class XmProductQxService { tips.setFailureMsg("pdqx-scope-product-1",String.format("产品【%s】只开放给同一个产品团队人员,【%s】不在产品团队中。",xmProduct.getId(),memUsername)); return tips; }else if("3".equals(scopeQx)){//同小组 - List groups=this.getProductGroupsFromLocalCache(groupsMap,xmProduct.getId()); + List groups=this.getProductGroupsFromLocalCache(xmProduct.getId()); List headGroups=groups; if( !headIsPm ){ @@ -163,7 +149,7 @@ public class XmProductQxService { * @param memBranchId * @return */ - public Tips checkProductScopeQx(Map> groupsMap,XmProduct xmProduct,int teamType,String memUserid,String memUsername,String memBranchId){ + public Tips checkProductScopeQx(XmProduct xmProduct,int teamType,String memUserid,String memUsername,String memBranchId){ Tips tips=new Tips("成功"); String scopeQx= QxTool.getProductScopeQx(xmProduct.getQxCode(),teamType); boolean isPm=xmGroupService.checkUserIsProductAdm(xmProduct,memUserid); @@ -192,13 +178,13 @@ public class XmProductQxService { } }else if("2".equals(scopeQx)){//同产品 - if(!xmGroupService.checkUserExistsGroup(getProductGroupsFromLocalCache(groupsMap,xmProduct.getId()), memUserid)){ + if(!xmGroupService.checkUserExistsGroup(getProductGroupsFromLocalCache(xmProduct.getId()), memUserid)){ tips.setFailureMsg("pdqx-scope-product-0",String.format("产品【%s】只开放给同一个产品团队人员,【%s】不在产品团队中。",xmProduct.getId(),memUsername)); return tips; }; }else if("3".equals(scopeQx)){//同小组 - if(!xmGroupService.checkUserExistsGroup(getProductGroupsFromLocalCache(groupsMap,xmProduct.getId()), memUserid)){ + if(!xmGroupService.checkUserExistsGroup(getProductGroupsFromLocalCache(xmProduct.getId()), memUserid)){ tips.setFailureMsg("pdqx-scope-team-0",String.format("产品【%s】只开放给同一个产品团队下同一个小组人员,【%s】不在产品团队中。",xmProduct.getId(),memUsername)); return tips; } @@ -207,10 +193,10 @@ public class XmProductQxService { } - public Tips checkProductTransmitQx(Map> groupsMap,XmProduct xmProduct,int teamType,User head){ - return checkProductTransmitQx(groupsMap,xmProduct,teamType,head,null,null); + public Tips checkProductTransmitQx(XmProduct xmProduct,int teamType,User head){ + return checkProductTransmitQx(xmProduct,teamType,head,null,null); } - public Tips checkProductTransmitQx(Map> groupsMap,XmProduct xmProduct,int teamType,User head,String memUserid,String memUsername){ + public Tips checkProductTransmitQx(XmProduct xmProduct,int teamType,User head,String memUserid,String memUsername){ Tips tips=new Tips("成功"); if(!StringUtils.hasText(memUserid) || memUserid.equals(head.getUserid())){ return tips; @@ -223,7 +209,7 @@ public class XmProductQxService { return tips; } - List groups=getProductGroupsFromLocalCache(groupsMap,xmProduct.getId()); + List groups=getProductGroupsFromLocalCache(xmProduct.getId()); if(xmGroupService.checkUserIsOtherUserTeamHeadOrAss(groups, head.getUserid(), memUserid)){ return tips; } @@ -235,34 +221,24 @@ public class XmProductQxService { return tips; } - public Tips checkProductQxBatch(Map> groupsMap,XmProduct xmProduct,int teamType,User head,String ...memUserids){ - Tips tips=new Tips("成功"); - tips=this.checkProductScopeQxBatch(groupsMap,xmProduct,teamType,head,memUserids); - if(!tips.isOk()){ - return tips; - } - return this.checkProductTransmitQxBatch(groupsMap,xmProduct,teamType,head.getUserid(),memUserids); - } - public Tips checkProductQxBatch(XmProduct xmProduct,int teamType,User head,String ...memUserids){ Tips tips=new Tips("成功"); - Map> groupsMap=new HashMap<>(); - tips=this.checkProductScopeQxBatch(groupsMap,xmProduct,teamType,head,memUserids); + tips=this.checkProductScopeQxBatch(xmProduct,teamType,head,memUserids); if(!tips.isOk()){ return tips; } - return this.checkProductTransmitQxBatch(groupsMap,xmProduct,teamType,head.getUserid(),memUserids); - } + return this.checkProductTransmitQxBatch(xmProduct,teamType,head.getUserid(),memUserids); + } - public Tips checkProductScopeQxBatch(Map> groupsMap,XmProduct xmProduct,int teamType,User head,String ...memUserids){ + public Tips checkProductScopeQxBatch(XmProduct xmProduct,int teamType,User head,String ...memUserids){ Tips tips=new Tips("成功"); if(memUserids==null || memUserids.length==0){ - return this.checkProductScopeQx(groupsMap,xmProduct,teamType,head.getUserid(),head.getUsername(),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(groupsMap,xmProduct,teamType,head.getUserid(),head.getUsername(),head.getBranchId()); + return this.checkProductScopeQx(xmProduct,teamType,head.getUserid(),head.getUsername(),head.getBranchId()); } String username=head.getUsername(); String scopeQx= QxTool.getProductScopeQx(xmProduct.getQxCode(),teamType); @@ -295,7 +271,7 @@ public class XmProductQxService { }else if("2".equals(scopeQx)){//同产品 - List groups=this.getProductGroupsFromLocalCache(groupsMap,xmProduct.getId()); + List groups=this.getProductGroupsFromLocalCache(xmProduct.getId()); if( !headIsPm && !xmGroupService.checkUserExistsGroup(groups, head.getUserid())){ tips.setFailureMsg("pdqx-scope-product-0",String.format("产品【%s】只开放给同一个产品团队人员,【%s】不在产品团队中。",xmProduct.getId(),username)); return tips; @@ -311,7 +287,7 @@ public class XmProductQxService { 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.getProductGroupsFromLocalCache(groupsMap,xmProduct.getId()); + List groups=this.getProductGroupsFromLocalCache(xmProduct.getId()); List headGroups=groups; if( !headIsPm ){ @@ -337,21 +313,13 @@ public class XmProductQxService { } - List getProductGroupsFromLocalCache(Map> groupsMap,String productId){ - List groupVoList=null; - if(groupsMap!=null && groupsMap.containsKey(productId)){ - groupVoList=groupsMap.get(productId); - }else{ - groupVoList=xmGroupService.getProductGroupVoList(productId); - if(groupsMap!=null){ - groupsMap.put(productId,groupVoList); - } - } + List getProductGroupsFromLocalCache(String productId){ + List groupVoList =xmGroupService.getProductGroupVoList(productId); return groupVoList; } - public Tips checkProductTransmitQxBatch(Map> groupsMap,XmProduct xmProduct,int teamType,String headUserid,String ...memUserids){ + public Tips checkProductTransmitQxBatch(XmProduct xmProduct,int teamType,String headUserid,String ...memUserids){ Tips tips=new Tips("成功"); String transmitQx= QxTool.getProductTransmitQx(xmProduct.getQxCode(),teamType); if("0".equals(transmitQx)){//不检查上下级关系 @@ -364,7 +332,7 @@ public class XmProductQxService { if(memUseridSet.size()==0){ return tips; } - List groups=getProductGroupsFromLocalCache(groupsMap,xmProduct.getId()); + List groups=getProductGroupsFromLocalCache(xmProduct.getId()); for (String memUserid : memUseridSet) { if(xmGroupService.checkUserIsOtherUserTeamHeadOrAss(groups,headUserid,memUserid)){ return tips; diff --git a/xm-core/src/main/java/com/xm/core/service/XmProjectQxService.java b/xm-core/src/main/java/com/xm/core/service/XmProjectQxService.java index f2e1d713..93a32577 100644 --- a/xm-core/src/main/java/com/xm/core/service/XmProjectQxService.java +++ b/xm-core/src/main/java/com/xm/core/service/XmProjectQxService.java @@ -37,61 +37,49 @@ public class XmProjectQxService { SysClient sysClient; - /** - * - * @param xmProject - * @param teamType 0-团队相关 1-测试相关,2-任务相关 - * @param head - * @return - */ - public Tips checkProjectQx(XmProject xmProject, int teamType, User head){ - return this.checkProjectQx(null,xmProject,teamType,head); - } /** * * @param xmProject * @param teamType 0-任务相关 1-测试相关,2-迭代相关 * @return */ - public Tips checkProjectQx(Map> groupsMap,XmProject xmProject, int teamType, String userid,String username,String branchId){ - return this.checkProjectScopeQx( groupsMap,xmProject,teamType,userid,username,branchId); + public Tips checkProjectQx(XmProject xmProject, int teamType, String userid,String username,String branchId){ + return this.checkProjectScopeQx( xmProject,teamType,userid,username,branchId); } /** * - * @param groupsMap 项目组缓存数据,当需要循环执行时,避免多次查询缓存与数据库 * @param xmProject * @param teamType 0-任务相关 1-测试相关,2-迭代相关 * @param head * @return */ - public Tips checkProjectQx(Map> groupsMap,XmProject xmProject,int teamType,User head){ - Tips tips=this.checkProjectScopeQx(groupsMap,xmProject,teamType,head.getUserid(),head.getUsername(),head.getBranchId()); + public Tips checkProjectQx(XmProject xmProject,int teamType,User head){ + Tips tips=this.checkProjectScopeQx(xmProject,teamType,head.getUserid(),head.getUsername(),head.getBranchId()); return tips; } /** * - * @param groupsMap 项目组缓存数据,当需要循环执行时,避免多次查询缓存与数据库 * @param xmProject * @param teamType 0-任务相关 1-测试相关,2-迭代相关 * @param head * @return */ - public Tips checkProjectQx(Map> groupsMap,XmProject xmProject,int teamType,User head,String memUserid,String memUsername,String memBranchId){ + public Tips checkProjectQx(XmProject xmProject,int teamType,User head,String memUserid,String memUsername,String memBranchId){ Tips tips=new Tips("成功"); - tips=this.checkProjectScopeQx(groupsMap,xmProject,teamType,head,memUserid,memUsername,memBranchId); + tips=this.checkProjectScopeQx(xmProject,teamType,head,memUserid,memUsername,memBranchId); if(!tips.isOk()){ return tips; } - return this.checkProjectTransmitQx(groupsMap,xmProject,teamType,head,memUserid,memUsername); + return this.checkProjectTransmitQx(xmProject,teamType,head,memUserid,memUsername); } - public Tips checkProjectScopeQx(Map> groupsMap,XmProject xmProject,int teamType,User head,String memUserid,String memUsername,String memBranchId){ + public Tips checkProjectScopeQx(XmProject xmProject,int teamType,User head,String memUserid,String memUsername,String memBranchId){ Tips tips=new Tips("成功"); if(!StringUtils.hasText(memUserid)|| memUserid.equals(head.getUserid())){ - return this.checkProjectScopeQx(groupsMap,xmProject,teamType,head.getUserid(),head.getUsername(),head.getBranchId()); + return this.checkProjectScopeQx(xmProject,teamType,head.getUserid(),head.getUsername(),head.getBranchId()); } String headUsername=StringUtils.hasText(head.getUsername())?head.getUsername():head.getUserid(); String scopeQx= QxTool.getProjectScopeQx(xmProject.getQxCode(),teamType); @@ -122,7 +110,7 @@ public class XmProjectQxService { }else if("2".equals(scopeQx)){//同项目 - List groups=this.getProjectGroupsFromLocalCache(groupsMap,xmProject.getId()); + List groups=this.getProjectGroupsFromLocalCache(xmProject.getId()); if( !headIsPm && !xmGroupService.checkUserExistsGroup(groups, head.getUserid())){ tips.setFailureMsg("pdqx-scope-product-0",String.format("项目【%s】只开放给同一个项目团队人员,【%s】不在项目团队中。",xmProject.getId(),headUsername)); return tips; @@ -136,7 +124,7 @@ public class XmProjectQxService { tips.setFailureMsg("pdqx-scope-product-1",String.format("项目【%s】只开放给同一个项目团队人员,【%s】不在项目团队中。",xmProject.getId(),memUsername)); return tips; }else if("3".equals(scopeQx)){//同小组 - List groups=this.getProjectGroupsFromLocalCache(groupsMap,xmProject.getId()); + List groups=this.getProjectGroupsFromLocalCache(xmProject.getId()); List headGroups=groups; if( !headIsPm ){ @@ -169,7 +157,7 @@ public class XmProjectQxService { * @param memBranchId * @return */ - public Tips checkProjectScopeQx(Map> groupsMap,XmProject xmProject,int teamType,String memUserid,String memUsername,String memBranchId){ + public Tips checkProjectScopeQx(XmProject xmProject,int teamType,String memUserid,String memUsername,String memBranchId){ Tips tips=new Tips("成功"); String scopeQx= QxTool.getProjectScopeQx(xmProject.getQxCode(),teamType); boolean isPm=xmGroupService.checkUserIsProjectAdm(xmProject,memUserid); @@ -198,13 +186,13 @@ public class XmProjectQxService { } }else if("2".equals(scopeQx)){//同项目 - if(!xmGroupService.checkUserExistsGroup(getProjectGroupsFromLocalCache(groupsMap,xmProject.getId()), memUserid)){ + if(!xmGroupService.checkUserExistsGroup(getProjectGroupsFromLocalCache(xmProject.getId()), memUserid)){ tips.setFailureMsg("pdqx-scope-product-0",String.format("项目【%s】只开放给同一个项目团队人员,【%s】不在项目团队中。",xmProject.getId(),memUsername)); return tips; }; }else if("3".equals(scopeQx)){//同小组 - if(!xmGroupService.checkUserExistsGroup(getProjectGroupsFromLocalCache(groupsMap,xmProject.getId()), memUserid)){ + if(!xmGroupService.checkUserExistsGroup(getProjectGroupsFromLocalCache(xmProject.getId()), memUserid)){ tips.setFailureMsg("pdqx-scope-team-0",String.format("项目【%s】只开放给同一个项目团队下同一个小组人员,【%s】不在项目团队中。",xmProject.getId(),memUsername)); return tips; } @@ -213,10 +201,10 @@ public class XmProjectQxService { } - public Tips checkProjectTransmitQx(Map> groupsMap,XmProject xmProject,int teamType,User head){ - return checkProjectTransmitQx(groupsMap,xmProject,teamType,head,null,null); + public Tips checkProjectTransmitQx(XmProject xmProject,int teamType,User head){ + return checkProjectTransmitQx(xmProject,teamType,head,null,null); } - public Tips checkProjectTransmitQx(Map> groupsMap,XmProject xmProject,int teamType,User head,String memUserid,String memUsername){ + public Tips checkProjectTransmitQx(XmProject xmProject,int teamType,User head,String memUserid,String memUsername){ Tips tips=new Tips("成功"); if(!StringUtils.hasText(memUserid) || memUserid.equals(head.getUserid())){ return tips; @@ -229,7 +217,7 @@ public class XmProjectQxService { return tips; } - List groups=getProjectGroupsFromLocalCache(groupsMap,xmProject.getId()); + List groups=getProjectGroupsFromLocalCache(xmProject.getId()); if(xmGroupService.checkUserIsOtherUserTeamHeadOrAss(groups, head.getUserid(), memUserid)){ return tips; } @@ -240,15 +228,7 @@ public class XmProjectQxService { } return tips; } - - public Tips checkProjectQxBatch(Map> groupsMap,XmProject xmProject,int teamType,User head,String ...memUserids){ - Tips tips=new Tips("成功"); - tips=this.checkProjectScopeQxBatch(groupsMap,xmProject,teamType,head,memUserids); - if(!tips.isOk()){ - return tips; - } - return this.checkProjectTransmitQxBatch(groupsMap,xmProject,teamType,head.getUserid(),memUserids); - } + public Tips checkProjectQxBatch(XmProject xmProject,int teamType,User head,String ...memUserids){ Tips tips=new Tips("成功"); @@ -256,22 +236,22 @@ public class XmProjectQxService { return tips; } Map> groupsMap=new HashMap<>(); - tips=this.checkProjectScopeQxBatch(groupsMap,xmProject,teamType,head,memUserids); + tips=this.checkProjectScopeQxBatch(xmProject,teamType,head,memUserids); if(!tips.isOk()){ return tips; } - return this.checkProjectTransmitQxBatch(groupsMap,xmProject,teamType,head.getUserid(),memUserids); + return this.checkProjectTransmitQxBatch(xmProject,teamType,head.getUserid(),memUserids); } - public Tips checkProjectScopeQxBatch(Map> groupsMap,XmProject xmProject,int teamType,User head,String ...memUserids){ + public Tips checkProjectScopeQxBatch(XmProject xmProject,int teamType,User head,String ...memUserids){ Tips tips=new Tips("成功"); if(memUserids==null || memUserids.length==0){ - return this.checkProjectScopeQx(groupsMap,xmProject,teamType,head.getUserid(),head.getUsername(),head.getBranchId()); + return this.checkProjectScopeQx(xmProject,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.checkProjectScopeQx(groupsMap,xmProject,teamType,head.getUserid(),head.getUsername(),head.getBranchId()); + return this.checkProjectScopeQx(xmProject,teamType,head.getUserid(),head.getUsername(),head.getBranchId()); } String username=head.getUsername(); String scopeQx= QxTool.getProjectScopeQx(xmProject.getQxCode(),teamType); @@ -304,7 +284,7 @@ public class XmProjectQxService { }else if("2".equals(scopeQx)){//同项目 - List groups=this.getProjectGroupsFromLocalCache(groupsMap,xmProject.getId()); + List groups=this.getProjectGroupsFromLocalCache(xmProject.getId()); if( !headIsPm && !xmGroupService.checkUserExistsGroup(groups, head.getUserid())){ tips.setFailureMsg("pdqx-scope-product-0",String.format("项目【%s】只开放给同一个项目团队人员,【%s】不在项目团队中。",xmProject.getId(),username)); return tips; @@ -320,7 +300,7 @@ public class XmProjectQxService { tips.setFailureMsg("pdqx-scope-product-1",String.format("项目【%s】只开放给同一个项目团队人员,【%s】不在项目团队中。",xmProject.getId(),memUseridSet.stream().collect(Collectors.joining(",")))); return tips; }else if("3".equals(scopeQx)){//同小组 - List groups=this.getProjectGroupsFromLocalCache(groupsMap,xmProject.getId()); + List groups=this.getProjectGroupsFromLocalCache(xmProject.getId()); List headGroups=groups; if( !headIsPm ){ @@ -346,21 +326,14 @@ public class XmProjectQxService { } - List getProjectGroupsFromLocalCache(Map> groupsMap,String projectId){ - List groupVoList=null; - if(groupsMap!=null && groupsMap.containsKey(projectId)){ - groupVoList=groupsMap.get(projectId); - }else{ - groupVoList=xmGroupService.getProjectGroupVoList(projectId); - if(groupsMap!=null){ - groupsMap.put(projectId,groupVoList); - } - } + List getProjectGroupsFromLocalCache(String projectId){ + List groupVoList= xmGroupService.getProjectGroupVoList(projectId); + return groupVoList; } - public Tips checkProjectTransmitQxBatch(Map> groupsMap,XmProject xmProject,int teamType,String headUserid,String ...memUserids){ + public Tips checkProjectTransmitQxBatch(XmProject xmProject,int teamType,String headUserid,String ...memUserids){ Tips tips=new Tips("成功"); String transmitQx= QxTool.getProjectTransmitQx(xmProject.getQxCode(),teamType); if("0".equals(transmitQx)){//不检查上下级关系 @@ -373,7 +346,7 @@ public class XmProjectQxService { if(memUseridSet.size()==0){ return tips; } - List groups=getProjectGroupsFromLocalCache(groupsMap,xmProject.getId()); + List groups=getProjectGroupsFromLocalCache(xmProject.getId()); for (String memUserid : memUseridSet) { if(xmGroupService.checkUserIsOtherUserTeamHeadOrAss(groups,headUserid,memUserid)){ return tips;