From 9cacfb217b2dbf58c7efd1d96e818798a97d9382 Mon Sep 17 00:00:00 2001 From: ludc <pUXmgxCf6A> Date: 星期四, 18 五月 2023 20:13:08 +0800 Subject: [PATCH] 以及发布webservice接口功能搭建,将通通用接口移植过来 --- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java | 120 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 118 insertions(+), 2 deletions(-) diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java index b94025b..6b06b57 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java @@ -15,10 +15,12 @@ import com.vci.ubcs.code.vo.pagemodel.*; import com.vci.ubcs.code.vo.webserviceModel.apply.*; import com.vci.ubcs.code.vo.webserviceModel.attrmap.*; +import com.vci.ubcs.code.vo.webserviceModel.classify.*; import com.vci.ubcs.code.vo.webserviceModel.result.json.*; import com.vci.ubcs.code.vo.webserviceModel.result.xml.XMLResultClassfyVO; import com.vci.ubcs.code.vo.webserviceModel.result.xml.XMLResultDataObjectDetailDO; import com.vci.ubcs.code.vo.webserviceModel.result.xml.XMLResultSystemVO; +import com.vci.ubcs.starter.revision.model.TreeQueryObject; import com.vci.ubcs.starter.web.pagemodel.SessionInfo; import com.vci.ubcs.starter.web.util.BeanUtilForVCI; import com.vci.ubcs.starter.web.util.VciBaseUtil; @@ -174,7 +176,7 @@ CodeOrderDTO orderDTO = new CodeOrderDTO(); orderDTO.setCodeClassifyOid(codeClassifyVO.getOid());//鍒嗙被涓婚敭 orderDTO.setSecDTOList(codeOrderSecDTOList);//鍒嗙被鐮佹 - //mdmIOService.batchSyncApplyCode(orderDTO, dataObjectVO, resultDataObjectDetailDOs); + mdmIOService.batchSyncApplyCode(orderDTO, dataObjectVO, resultDataObjectDetailDOs); log.info("end锛氱敵璇疯幏鍙栧畬姣�"); } catch (Throwable e) { XMLResultDataObjectDetailDO xmlResultDataObjectDetailDO=new XMLResultDataObjectDetailDO(); @@ -258,7 +260,121 @@ */ @Override public String queryClassify(String data, String dataType) throws Throwable { - return null; + boolean issucess=false; + String resultStr = ""; + String errorid="0"; + msg="鎴愬姛"; + String systemId=""; + log.info("鏌ヨ鍒嗙被鐨勬暟鎹弬鏁�:->"+data); + log.info("鏌ヨ鍒嗙被鐨勬暟鎹被鍨�:->"+dataType); + ResultClassifyVO resultClassifyVO =new ResultClassifyVO(); + List<ClassifyVO> classifyVOList=new ArrayList<>(); + ResultData resultData=new ResultData(); + try { + if (StringUtils.isBlank(data)) { + errorid = "101"; + throw new Throwable("鎺ュ彛鍙傛暟锛氫紶閫掍负绌�"); + } + QueryClassifyVO queryClassifyVO = new QueryClassifyVO(); + //濡傛灉dataType鏄痻ml鍒欙紝閫氳繃xml搴忓垪鍖栨垚瀵硅薄褰㈠紡锛屽鏋滄槸json鍒欓�氳繃json杞崲鎴愬璞℃牸寮� + try { + if ("xml".equals(dataType)) { + XStream xStream = new XStream(new DomDriver()); + xStream.processAnnotations(QueryData.class); + xStream.autodetectAnnotations(true); + QueryData queryData = (QueryData) xStream.fromXML(data); + queryClassifyVO.setData(queryData); + } else { + queryClassifyVO = JSONObject.toJavaObject(JSONObject.parseObject(data), QueryClassifyVO.class); + } + } catch (Throwable e) { + errorid = "101"; + msg="鎺ュ彛鍙傛暟锛氫紶鍏ユ暟鎹弬鏁拌В鏋愬け璐�"; + e.printStackTrace(); + throw new Throwable("鎺ュ彛鍙傛暟锛氫紶鍏ユ暟鎹弬鏁拌В鏋愬け璐�"); + } + QueryData queryData=queryClassifyVO.getData(); + UserVO userVo=queryData.getUser(); + systemId=queryData.getSystemId(); + QueryLibraryVO libraryVO= queryData.getLibrary(); + String libId= libraryVO.getId(); + List<String> classifyIdList= libraryVO.getClassifyid(); + List<CodeClassifyVO> codeClassifyVOS =new ArrayList<>(); + //杩欐槸璐﹀彿淇℃伅 + //杩欐槸璐﹀彿淇℃伅 + if(userVo!=null) { + SessionInfo sessionInfo = new SessionInfo(); + sessionInfo.setUserId(userVo.getUserName()); + sessionInfo.setUserName(userVo.getTrueName()); + sessionInfo.setIp(userVo.getIp()); + VciBaseUtil.setCurrentUserSessionInfo(sessionInfo); + }else{ + errorid = "101"; + throw new Throwable("鎺ュ彛鍙傛暟锛氳处鍙蜂俊鎭幏鍙栧け璐�"); + } + if(!CollectionUtils.isEmpty(classifyIdList)){ + //鍏堢畝绉版槸鍚︽湁鍏宠仈妯℃澘锛屾湁妯℃澘瑕佸厛鍒犻櫎 + List<CodeClassify> libIdDos = classifyService.selectByWrapper(Wrappers.<CodeClassify>query().lambda().in(CodeClassify::getId, classifyIdList)); + codeClassifyVOS=classifyService.codeClassifyDO2VOs(libIdDos); + }else { + List<CodeClassify> libIdDos = classifyService.selectByWrapper(Wrappers.<CodeClassify>query().lambda().eq(CodeClassify::getId, libId)); + String oid= libIdDos.get(0).getOid(); + TreeQueryObject treeQueryObject=new TreeQueryObject(); + treeQueryObject.setParentOid(oid); + treeQueryObject.setQueryAllLevel(true); + codeClassifyVOS=classifyService.selectCodeClassifyDOByTree(treeQueryObject); + } + LibraryVO libraryVo=new LibraryVO(); + libraryVo.setId(libId); + libraryVo.setName(""); + if(!CollectionUtils.isEmpty(codeClassifyVOS)){ + errorid = "0"; + msg="鎴愬姛!"; + codeClassifyVOS.stream().forEach(codeClassifyDO -> { + ClassifyVO classifyVO=new ClassifyVO(); + classifyVO.setId(codeClassifyDO.getOid()); + classifyVO.setLcStatus(codeClassifyDO.getLcStatus()); + classifyVO.setClassCode(codeClassifyDO.getId()); + classifyVO.setDescription(codeClassifyDO.getDescription()); + classifyVO.setName(codeClassifyDO.getName()); + classifyVO.setPid(codeClassifyDO.getParentcodeclassifyoid()); + classifyVO.setFullPathName(codeClassifyDO.getPath()); + classifyVOList.add(classifyVO); + }); + libraryVo.setClassify(classifyVOList); + }else{ + errorid = "100"; + msg="鏈煡璇㈠埌鐩稿叧鐨勫垎绫讳俊鎭�"; + } + issucess=true; + resultData.setLibrary(libraryVo); + }catch (Throwable e){ + e.printStackTrace();; + msg="鏌ヨ鍒嗙被澶辫触:"+e.getMessage(); + }finally { + resultData.setErrorid(errorid); + resultData.setMsg(msg); + resultClassifyVO.setResultData(resultData); + } + if(dataType.equals("xml")){ + //缁勭粐杩斿洖鎺ュ彛淇℃伅 + XStream xStream = new XStream(new DomDriver()); + xStream.processAnnotations(XMLResultSystemVO.class); + xStream.autodetectAnnotations(true); + resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n" + xStream.toXML(resultData); + + }else{ + Object object = JSONObject.toJSON(resultClassifyVO); + resultStr = object.toString(); + } + try { + //璁板綍鏃ュ織 + this.saveLogs(systemId, systemId, data, resultStr, issucess, msg, "queryClassify"); + }catch (Throwable e){ + e.printStackTrace(); + } + log.info("杩斿洖鍙傛暟:"+resultStr); + return resultStr; } /*** -- Gitblit v1.9.3