From 13e07d48a90efdaee8b89e96a1d97a42f19777d7 Mon Sep 17 00:00:00 2001 From: ludc Date: 星期三, 25 十月 2023 22:43:53 +0800 Subject: [PATCH] 1、修改从其他规则克隆规则时排序号未重排的bug。 2、为密码策略管理、用户管理、部门管理界面增加按钮权限控制 --- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java | 77 ++++++++++++++++++++++++++++++-------- 1 files changed, 61 insertions(+), 16 deletions(-) diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java index e2a1347..66505ab 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java @@ -45,6 +45,7 @@ import com.vci.ubcs.starter.web.util.BeanUtilForVCI; import com.vci.ubcs.starter.web.util.LangBaseUtil; import com.vci.ubcs.starter.web.util.VciBaseUtil; +import com.vci.ubcs.system.cache.NacosConfigCache; import org.apache.poi.hssf.util.HSSFColor; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -83,9 +84,6 @@ @Resource private IBtmTypeClient btmTypeClient; - - @Value("${user-info.tenant-id}") - private String tenantId; /** * 鏃ュ織 @@ -126,7 +124,12 @@ @Override public IPage<CodeClassifyVO> selectPlCodeClassifyPage(IPage<CodeClassifyVO> page, CodeClassifyVO plCodeClassify) { - return page.setRecords(codeClassifyMapper.selectPlCodeClassifyPage(page, plCodeClassify)); + return page.setRecords(codeClassifyMapper.selectPlCodeClassifyPage(page, plCodeClassify,AuthUtil.getTenantId() + .equals( + NacosConfigCache + .getAdminUserInfo() + .getTenantId() + ) ? null:AuthUtil.getTenantId())); } /** @@ -135,8 +138,16 @@ */ @Override public R addSave(CodeClassify codeClassifyEntity) { + try { + VciBaseUtil.alertNotNull(codeClassifyEntity.getId(),"涓婚搴撶紪鍙蜂笉鑳戒负绌猴紒",codeClassifyEntity.getName(),"涓婚搴撳悕绉颁笉鑳戒负绌猴紒"); + }catch (VciBaseException e){ + return R.fail(e.getMessage()); + } if(StringUtils.isNotBlank(codeClassifyEntity.getParentCodeClassifyOid()) && StringUtils.isNotBlank(codeClassifyEntity.getBtmTypeId())){ return R.fail("鍙湁鍦ㄩ《灞傜殑涓婚搴撳垎绫绘墠鑳借缃笟鍔$被鍨�"); + } + if(StringUtils.isEmpty(codeClassifyEntity.getParentCodeClassifyOid()) && StringUtils.isBlank(codeClassifyEntity.getBtmTypeId())){ + return R.fail("涓婚搴撳叧鑱旂殑涓氬姟绫诲瀷涓嶈兘涓虹┖锛�"); } QueryWrapper<CodeClassify> classifyQueryWrapper = new QueryWrapper<>(); classifyQueryWrapper.eq("parentCodeClassifyOid",codeClassifyEntity.getParentCodeClassifyOid()); @@ -175,7 +186,8 @@ if(StringUtils.isNotBlank(codeClassifyEntity.getParentCodeClassifyOid()) && StringUtils.isNotBlank(codeClassifyEntity.getBtmTypeId())){ return R.fail("鍙湁鍦ㄩ《灞傜殑涓婚搴撳垎绫绘墠鑳借缃笟鍔$被鍨�"); } - codeClassifyEntity.setLastModifier(String.valueOf(AuthUtil.getUser().getUserId())); + // codeClassifyEntity.setLastModifier(String.valueOf(AuthUtil.getUser().getUserId())); + codeClassifyEntity.setLastModifier(String.valueOf(AuthUtil.getUser().getAccount())); codeClassifyEntity.setLastModifyTime(new Date()); codeClassifyEntity.setTs(new Date()); int insertNumber = codeClassifyMapper.updateById(codeClassifyEntity); @@ -235,11 +247,13 @@ // .selectOne(Condition.getQueryWrapper(condition,CodeClassify.class)); if(detail == null){//涓嶆槸鏈�鏂扮殑涓嶈鏀� throw new ServiceException("褰撳墠鏁版嵁涓嶆槸鏈�鏂帮紝璇峰埛鏂板悗鍐嶄慨鏀癸紒"); -// return R.fail("褰撳墠鏁版嵁涓嶆槸鏈�鏂帮紝璇峰埛鏂板悗鍐嶄慨鏀癸紒"); } //鏍¢獙涓嬬骇鏄惁鏈夊紩鐢� if(checkChildIsLinked(detail.getOid())){ return R.fail("dataCascadeLinkedNotDelete"); + } + if(checkHasChild(detail.getOid())){ + return R.fail("姝ゆ暟鎹湁涓嬬骇锛屾棤娉曡繘琛屽垹闄わ紒"); } return R.status(!checkHasChild(detail.getOid())); } @@ -360,11 +374,12 @@ List<CodeClassify> classifyList = codeClassifyMapper.selectStartWithCurrentOid(oid); Date now = new Date(); - String userId = String.valueOf(AuthUtil.getUserId()); + // String userId = String.valueOf(AuthUtil.getUserId()); + String account = AuthUtil.getUserAccount(); classifyList = classifyList.stream().map(s -> { s.setLcStatus(lcStatus); s.setTs(now); - s.setLastModifier(userId); + s.setLastModifier(account); s.setLastModifyTime(now); return s; }).collect(Collectors.toList()); @@ -508,9 +523,19 @@ } if(StringUtils.isNotBlank(id) || StringUtils.isNotBlank(lcStatus) ){ doList = codeClassifyMapper - .selectCodeClassifyDOByTree(treeQueryObject.getConditionMap().get("id"),treeQueryObject.getConditionMap().get("lcStatus"),treeQueryObject.getParentOid(), AuthUtil.getTenantId().equals(this.tenantId) ? "":AuthUtil.getTenantId()); + .selectCodeClassifyDOByTree(treeQueryObject.getConditionMap().get("id"),treeQueryObject.getConditionMap().get("lcStatus"),treeQueryObject.getParentOid(), AuthUtil.getTenantId() + .equals( + NacosConfigCache + .getAdminUserInfo() + .getTenantId() + ) ? null:AuthUtil.getTenantId()); }else{ - doList =codeClassifyMapper.selectCodeClassifyVOByTree(treeQueryObject.getParentOid(), AuthUtil.getTenantId().equals(this.tenantId) ? "":AuthUtil.getTenantId()); + doList =codeClassifyMapper.selectCodeClassifyVOByTree(treeQueryObject.getParentOid(), AuthUtil.getTenantId() + .equals( + NacosConfigCache + .getAdminUserInfo() + .getTenantId() + ) ? null:AuthUtil.getTenantId()); } List<CodeClassifyVO> voList = codeClassifyDO2VOs(doList); TreeWrapperOptions treeWrapperOptions = new TreeWrapperOptions(PARENT_FIELD_NAME); @@ -569,11 +594,27 @@ if(StringUtils.isNotBlank(libName)){ libNameList=VciBaseUtil.str2List(libName); } - List<CodeClassify> doList =codeClassifyMapper.getRMLibByName(libNameList,"Enabled",AuthUtil.getTenantId()); + List<CodeClassify> doList =codeClassifyMapper.getRMLibByName(libNameList,"Enabled",AuthUtil.getTenantId() + .equals( + NacosConfigCache + .getAdminUserInfo() + .getTenantId() + ) ? null:AuthUtil.getTenantId()); List<CodeClassifyVO> voList = codeClassifyDO2VOs(doList); return voList; } + /*** + * 鏍规嵁oid鑾峰彇涓嬮潰鎵�鏈夌殑鍒嗙被淇℃伅 + * @param oid + * @return + */ + public List<CodeClassifyVO> selectAllClassifyByOid(String oid){ + List<CodeClassify> codeClassifyList=codeClassifyMapper.selectAllClassifyByOid(oid,AuthUtil.getTenantId()); + List<CodeClassifyVO> voList = codeClassifyDO2VOs(codeClassifyList); + return voList; + + } /*** * 鏍规嵁鍒嗙被鎻忚堪澶囨敞鍜屽簱鑺傜偣鏌ヨ鍒嗙被淇℃伅 * @param desc @@ -738,7 +779,8 @@ if(allLevel){ List<CodeClassify> classifyDOS = codeClassifyMapper.selectAllLevelChildHasPath(codeClassifyOid,fieldInPath); if(!CollectionUtils.isEmpty(classifyDOS)){ - classifyDOS = classifyDOS.stream().filter(s->FRAMEWORK_DATA_ENABLED.equalsIgnoreCase(s.getLcStatus())).collect(Collectors.toList()); + // 杩欏効鐢╯tream鏈夌偣鎱� + classifyDOS = classifyDOS.parallelStream().filter(s->FRAMEWORK_DATA_ENABLED.equalsIgnoreCase(s.getLcStatus())).collect(Collectors.toList()); } return codeClassifyDO2VOs(classifyDOS); }else{ @@ -839,7 +881,7 @@ s -> StringUtils.isNotBlank(s.getCodeRuleId())) .map(CodeClassifyPO::getCodeRuleId) .collect(Collectors.toList()); - Map<String, CodeRuleVO> ruleVOMap = Optional.ofNullable(ruleOids.size()==0 ? null:codeRuleService.listCodeRuleByOids(ruleOids) + Map<String, CodeRuleVO> ruleVOMap = Optional.ofNullable(ruleOids.size()==0 ? null:codeRuleService.listCodeRuleByIds(ruleOids,true) ).orElse(new ArrayList<>()).stream().collect(Collectors.toMap(s -> s.getId().toLowerCase(Locale.ROOT), t -> t,(o1,o2)->o2)); List<String> keyOids = poList.stream().filter(s -> StringUtils.isNotBlank(s.getKeyRepeatRuleId())) @@ -975,8 +1017,10 @@ classifyDO.setBtmname("codeclassify"); classifyDO.setLcStatus("Enabled"); classifyDO.setOwner(String.valueOf(AuthUtil.getUser().getUserId())); - classifyDO.setCreator(String.valueOf(AuthUtil.getUser().getUserId())); - classifyDO.setLastModifier(String.valueOf(AuthUtil.getUser().getUserId())); + // classifyDO.setCreator(String.valueOf(AuthUtil.getUser().getUserId())); + // classifyDO.setLastModifier(String.valueOf(AuthUtil.getUser().getUserId())); + classifyDO.setCreator(String.valueOf(AuthUtil.getUser().getAccount())); + classifyDO.setLastModifier(String.valueOf(AuthUtil.getUser().getAccount())); classifyDO.setLastModifyTime(new Date()); codeClassifyMapper.insert(classifyDO); } @@ -1118,7 +1162,8 @@ List<Map<String,Object>> cbos = codeClassifyMapper.selectAllLevelParentByOid(oid); Map<String,String> oidLevelMap = new HashMap<>(); Optional.ofNullable(cbos).orElseGet(()->new ArrayList<>()).stream().forEach(cbo->{ - oidLevelMap.put(cbo.get("OID").toString(),cbo.get("LEVEL").toString()); + // 鐢╧ey鍙杕ap鍊煎苟涓斾笉鍖哄垎澶у皬鍐� + oidLevelMap.put(cbo.getOrDefault("OID",cbo.get("oid")).toString(),cbo.get("LEVEL").toString()); }); if(CollectionUtils.isEmpty(oidLevelMap)){ return new ArrayList<>(); -- Gitblit v1.9.3