From 9abf708b84413a43a8bd1e9cb9f1d4500a9b8945 Mon Sep 17 00:00:00 2001 From: xiejun <xj@2023> Date: 星期四, 13 七月 2023 11:39:45 +0800 Subject: [PATCH] 接口管理相关功能开发完善,已经统一接口和定时推送接口加上接口管理配置控制 --- Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/data/NodeJosnDTO.java | 21 + Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/data/data.json | 137 ++++++++ Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeDuckingSyncServiceImpl.java | 435 ++++++++++++++++++++++++++ Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/data/NodeProDTO.java | 47 ++ Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/enumpack/sysIntegrationPushTypeEnum.java | 32 + Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/result/ResultNodeDataDTO.java | 8 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/data/NodeObjectDTO.java | 71 ++++ Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/data/NodedataDTO.java | 27 + Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java | 62 +++ Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/classify/NodeClassifyDTO.java | 20 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/result/ResultNodeObjectDTO.java | 14 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingSystemConfig.java | 2 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/classify/NodeDataDTO.java | 4 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/data/result.json | 10 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/classify/NodeLibraryDTO.java | 39 + 15 files changed, 876 insertions(+), 53 deletions(-) diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/classify/NodeClassifyDTO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/classify/NodeClassifyDTO.java index 737bf94..aaccfae 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/classify/NodeClassifyDTO.java +++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/classify/NodeClassifyDTO.java @@ -1,44 +1,44 @@ package com.vci.ubcs.code.dto.datapush.classify; -//import com.thoughtworks.xstream.annotations.XStreamAlias; -//import com.thoughtworks.xstream.annotations.XStreamAsAttribute; +import com.thoughtworks.xstream.annotations.XStreamAlias; +import com.thoughtworks.xstream.annotations.XStreamAsAttribute; -//@XStreamAlias("classify") +@XStreamAlias("classify") public class NodeClassifyDTO { /** * 鍒嗙被id */ - //@XStreamAsAttribute + @XStreamAsAttribute private String id; /*** * 鍒嗙被鍚嶇О */ - //@XStreamAsAttribute + @XStreamAsAttribute private String name; /*** * 鐖惰妭鐐筰d */ - // @XStreamAsAttribute + @XStreamAsAttribute private String pid; /*** * 鍒嗙被浠e彿 */ - //@XStreamAsAttribute + @XStreamAsAttribute private String classCode; /*** * 鎻忚堪 */ - //@XStreamAsAttribute + @XStreamAsAttribute private String description; /*** * 鍒嗙被閾炬帴璺緞 */ - //@XStreamAsAttribute + @XStreamAsAttribute private String fullPathName; /*** * 鍒嗙被鐘舵�� */ - //@XStreamAsAttribute + @XStreamAsAttribute private String lcStatus; public String getId() { diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/classify/NodeDataDTO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/classify/NodeDataDTO.java index f2c4406..7351eb4 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/classify/NodeDataDTO.java +++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/classify/NodeDataDTO.java @@ -1,8 +1,8 @@ package com.vci.ubcs.code.dto.datapush.classify; -//import com.thoughtworks.xstream.annotations.XStreamAlias; +import com.thoughtworks.xstream.annotations.XStreamAlias; -//@XStreamAlias("data") +@XStreamAlias("data") public class NodeDataDTO { private NodeLibraryDTO library; diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/classify/NodeLibraryDTO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/classify/NodeLibraryDTO.java index 1f0043b..8a3b967 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/classify/NodeLibraryDTO.java +++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/classify/NodeLibraryDTO.java @@ -1,14 +1,20 @@ package com.vci.ubcs.code.dto.datapush.classify; +import com.thoughtworks.xstream.annotations.XStreamAlias; +import com.thoughtworks.xstream.annotations.XStreamAsAttribute; +import com.thoughtworks.xstream.annotations.XStreamImplicit; + import java.util.List; -//@XStreamAlias("library") +@XStreamAlias("library") public class NodeLibraryDTO { - //@XStreamAsAttribute + @XStreamAsAttribute private String id; - //@XStreamAsAttribute + @XStreamAsAttribute private String name; - //@XStreamImplicit + @XStreamAsAttribute + private String classCode; + @XStreamImplicit private List<NodeClassifyDTO> classify; public String getId() { @@ -35,12 +41,21 @@ this.classify = classify; } - @Override - public String toString() { - return "NodeLibraryDTO{" + - "id='" + id + '\'' + - ", name='" + name + '\'' + - ", classify=" + classify + - '}'; - } + public String getClassCode() { + return classCode; + } + + public void setClassCode(String classCode) { + this.classCode = classCode; + } + + @Override + public String toString() { + return "NodeLibraryDTO{" + + "id='" + id + '\'' + + ", name='" + name + '\'' + + ", classCode='" + classCode + '\'' + + ", classify=" + classify + + '}'; + } } diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/data/NodeJosnDTO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/data/NodeJosnDTO.java new file mode 100644 index 0000000..d2b8e7e --- /dev/null +++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/data/NodeJosnDTO.java @@ -0,0 +1,21 @@ +package com.vci.ubcs.code.dto.datapush.data; + +public class NodeJosnDTO { + + private NodedataDTO data; + + public NodedataDTO getData() { + return data; + } + + public void setData(NodedataDTO data) { + this.data = data; + } + + @Override + public String toString() { + return "NodeJosnDTO{" + + "data=" + data + + '}'; + } +} diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/data/NodeObjectDTO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/data/NodeObjectDTO.java new file mode 100644 index 0000000..8ea3daf --- /dev/null +++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/data/NodeObjectDTO.java @@ -0,0 +1,71 @@ +package com.vci.ubcs.code.dto.datapush.data; + +import com.thoughtworks.xstream.annotations.XStreamAlias; +import com.thoughtworks.xstream.annotations.XStreamAsAttribute; +import com.thoughtworks.xstream.annotations.XStreamImplicit; + +import java.util.List; + +@XStreamAlias("object") +public class NodeObjectDTO { + @XStreamAsAttribute + private String code="" ; + @XStreamAsAttribute + private String status="" ; + @XStreamAsAttribute + private String library=""; + @XStreamAsAttribute + private String classCode=""; + @XStreamImplicit + private List<NodeProDTO> pro; + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getLibrary() { + return library; + } + + public void setLibrary(String library) { + this.library = library; + } + + public String getClassCode() { + return classCode; + } + + public void setClassCode(String classCode) { + this.classCode = classCode; + } + + public List<NodeProDTO> getPro() { + return pro; + } + + public void setPro(List<NodeProDTO> pro) { + this.pro = pro; + } + + @Override + public String toString() { + return "NodeObjectDTO{" + + "code='" + code + '\'' + + ", status='" + status + '\'' + + ", library='" + library + '\'' + + ", classCode='" + classCode + '\'' + + ", pro=" + pro + + '}'; + } +} diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/data/NodeProDTO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/data/NodeProDTO.java new file mode 100644 index 0000000..1e4c759 --- /dev/null +++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/data/NodeProDTO.java @@ -0,0 +1,47 @@ +package com.vci.ubcs.code.dto.datapush.data; + +import com.thoughtworks.xstream.annotations.XStreamAlias; +import com.thoughtworks.xstream.annotations.XStreamAsAttribute; + +@XStreamAlias("pro") +public class NodeProDTO { + @XStreamAsAttribute + private String filedName; + @XStreamAsAttribute + private String outname; + @XStreamAsAttribute + private String filedValue; + + public String getFiledName() { + return filedName; + } + + public void setFiledName(String filedName) { + this.filedName = filedName; + } + + public String getOutname() { + return outname; + } + + public void setOutname(String outname) { + this.outname = outname; + } + + public String getFiledValue() { + return filedValue; + } + + public void setFiledValue(String filedValue) { + this.filedValue = filedValue; + } + + @Override + public String toString() { + return "NodeProDTO{" + + "filedName='" + filedName + '\'' + + ", outname='" + outname + '\'' + + ", filedValue='" + filedValue + '\'' + + '}'; + } +} diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/data/NodedataDTO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/data/NodedataDTO.java new file mode 100644 index 0000000..fe832e9 --- /dev/null +++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/data/NodedataDTO.java @@ -0,0 +1,27 @@ +package com.vci.ubcs.code.dto.datapush.data; + +import com.thoughtworks.xstream.annotations.XStreamAlias; +import com.thoughtworks.xstream.annotations.XStreamImplicit; + +import java.util.List; + +@XStreamAlias("data") +public class NodedataDTO { + @XStreamImplicit + private List<NodeObjectDTO> object; + + public List<NodeObjectDTO> getObject() { + return object; + } + + public void setObject(List<NodeObjectDTO> object) { + this.object = object; + } + + @Override + public String toString() { + return "NodedataDTO{" + + "object=" + object + + '}'; + } +} diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/data/data.json b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/data/data.json new file mode 100644 index 0000000..3a07164 --- /dev/null +++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/data/data.json @@ -0,0 +1,137 @@ +{ + "data": { + "object": { + "code": "0201040133", + "status": "Released", + "library": "wupin", + "classCode": "020104", + "pro": [ + { + "filedName": "xbj", + "outname": "鏍囪" + }, + { + "filedName": "xinghaoguige", + "outname": "瑙勬牸", + "filedValue": "M4" + }, + { + "filedName": "lastmodifier", + "outname": "鏈�鍚庝慨鏀逛汉", + "filedValue": "weidy(榄忓ぇ鍕�)" + }, + { + "filedName": "cpxs", + "outname": "浜у搧鍨嬪紡" + }, + { + "filedName": "secondfl", + "outname": "浜岀骇绠$悊鍒嗙被", + "filedValue": "绱у浐浠�" + }, + { + "filedName": "clph", + "outname": "鏉愭枡鐗屽彿", + "filedValue": "HB1-24321" + }, + { + "filedName": "thrifl", + "outname": "涓夌骇绠$悊鍒嗙被", + "filedValue": "铻洪拤" + }, + { + "filedName": "xbzjbmc", + "outname": "鏍囧噯绾у埆鍚嶇О" + }, + { + "filedName": "firstfl", + "outname": "涓�绾х鐞嗗垎绫�", + "filedValue": "鏍囧噯浠�" + }, + { + "filedName": "xgzccdgcd", + "outname": "鍏虫敞灏哄鐨勫叕宸甫" + }, + { + "filedName": "zjxh", + "outname": "瀛愪欢搴忓彿" + }, + { + "filedName": "bmcl", + "outname": "琛ㄩ潰澶勭悊", + "filedValue": "鐢甸晙" + }, + { + "filedName": "id", + "outname": "鐗╂枡缂栫爜", + "filedValue": "0201040133" + }, + { + "filedName": "createtime", + "outname": "鍒涘缓鏃堕棿", + "filedValue": "2022-12-23 17:12:50.635" + }, + { + "filedName": "creator", + "outname": "鍒涘缓浜�", + "filedValue": "weidy(榄忓ぇ鍕�)" + }, + { + "filedName": "xwlwwmc", + "outname": "鐗╁搧澶栨枃鍚嶇О" + }, + { + "filedName": "xxndj", + "outname": "鎬ц兘绛夌骇" + }, + { + "filedName": "xzjmc", + "outname": "瀛愪欢鍚嶇О" + }, + { + "filedName": "beizhushuoming", + "outname": "澶囨敞璇存槑" + }, + { + "filedName": "revisionvalue", + "outname": "鐗堟湰", + "filedValue": "1" + }, + { + "filedName": "name", + "outname": "鐗╁搧涓枃鍚嶇О", + "filedValue": "鍗婂渾澶磋灪閽�1" + }, + { + "filedName": "xfjjstj", + "outname": "闄勫姞鎶�鏈潯浠�" + }, + { + "filedName": "xbxkxs", + "outname": "淇濋櫓瀛斿瀷寮�", + "filedValue": "鏃�" + }, + { + "filedName": "lastmodifytime", + "outname": "鏈�鍚庝慨鏀规椂闂�", + "filedValue": "2022-12-23 17:12:50.635" + }, + { + "filedName": "zhiliangbz", + "outname": "鏍囧噯鍙�", + "filedValue": "HB1-2431-M4*512" + }, + { + "filedName": "materialclassify", + "outname": "鎵�灞炲垎绫讳唬鍙�", + "filedValue": "020104" + }, + { + "filedName": "lcstatus", + "outname": "鐘舵��", + "filedValue": "Released" + } + ] + } + } +} \ No newline at end of file diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/data/result.json b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/data/result.json new file mode 100644 index 0000000..18f7d87 --- /dev/null +++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/data/result.json @@ -0,0 +1,10 @@ +{ + "data": { + "object": { + "code": "0201040133", + "oid": "0000001", + "erroid": "0", + "msg": "娴嬭瘯鎴愬姛" + } + } +} \ No newline at end of file diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/result/ResultNodeDataDTO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/result/ResultNodeDataDTO.java index 139f753..e07d7a3 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/result/ResultNodeDataDTO.java +++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/result/ResultNodeDataDTO.java @@ -1,14 +1,14 @@ package com.vci.ubcs.code.dto.datapush.result; -//import com.thoughtworks.xstream.annotations.XStreamAlias; -//import com.thoughtworks.xstream.annotations.XStreamImplicit; +import com.thoughtworks.xstream.annotations.XStreamAlias; +import com.thoughtworks.xstream.annotations.XStreamImplicit; import java.util.List; -//@XStreamAlias("data") +@XStreamAlias("data") public class ResultNodeDataDTO { - //@XStreamImplicit + @XStreamImplicit private List<ResultNodeObjectDTO> object; public List<ResultNodeObjectDTO> getObject() { diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/result/ResultNodeObjectDTO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/result/ResultNodeObjectDTO.java index 5a4bf15..ecbe6cc 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/result/ResultNodeObjectDTO.java +++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/result/ResultNodeObjectDTO.java @@ -1,29 +1,29 @@ package com.vci.ubcs.code.dto.datapush.result; -//import com.thoughtworks.xstream.annotations.XStreamAlias; -//import com.thoughtworks.xstream.annotations.XStreamAsAttribute; +import com.thoughtworks.xstream.annotations.XStreamAlias; +import com.thoughtworks.xstream.annotations.XStreamAsAttribute; -//@XStreamAlias("object") +@XStreamAlias("object") public class ResultNodeObjectDTO { /*** * 鏁版嵁缂栫爜 */ - //@XStreamAsAttribute + @XStreamAsAttribute private String code; /*** * 鏁版嵁oid */ - //@XStreamAsAttribute + @XStreamAsAttribute private String oid; /*** * 閿欒鏍囪瘑 */ - //@XStreamAsAttribute + @XStreamAsAttribute private String erroid; /*** * 閿欒淇℃伅 */ - //@XStreamAsAttribute + @XStreamAsAttribute private String msg; public String getCode() { diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingSystemConfig.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingSystemConfig.java index 393a0ee..55454d4 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingSystemConfig.java +++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingSystemConfig.java @@ -286,7 +286,7 @@ /*** * 鎺ㄩ�佺被鍨� 1:鏁版嵁鎺ㄩ��,2鍒嗙被鎺ㄩ�侊紝榛樿鏁版嵁鎺ㄩ��,3:缂栫爜鐢宠,4:缂栫爜鏇存敼锛堟洿鏀广�佺姸鎬侊紝鍥炴敹锛�,5:鍒嗙被鏌ヨ,6:鍚鍒欎俊鎭殑鍒嗙被鏌ヨ,7:鏁版嵁鏌ヨ */ - @ApiModelProperty(value = "鎺ㄩ�佺被鍨� 1:鏁版嵁鎺ㄩ��,2鍒嗙被鎺ㄩ�侊紝榛樿鏁版嵁鎺ㄩ��,3:缂栫爜鐢宠,4:缂栫爜鏇存敼锛堟洿鏀广�佺姸鎬侊紝鍥炴敹锛�,5:鍒嗙被鏌ヨ,6:鍚鍒欎俊鎭殑鍒嗙被鏌ヨ,7:鏁版嵁鏌ヨ") + @ApiModelProperty(value = "鎺ㄩ�佺被鍨� 1:鏁版嵁鎺ㄩ��,2鍒嗙被鎺ㄩ��,3:缂栫爜鐢宠,4:缂栫爜鏇存敼(鐘舵�侊紝鍥炴敹),5:鍒嗙被鏌ヨ,6:鍚鍒欎俊鎭殑鍒嗙被鏌ヨ,7:鏁版嵁鏌ヨ") private String pushType; /*** * 鎺ㄩ�佺被鍨嬫樉绀哄�� diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/enumpack/sysIntegrationPushTypeEnum.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/enumpack/sysIntegrationPushTypeEnum.java index 6d792ed..e529686 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/enumpack/sysIntegrationPushTypeEnum.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/enumpack/sysIntegrationPushTypeEnum.java @@ -8,13 +8,37 @@ @VciEnum(name = MdmEnumIdConstant.SYS_INTEGRATION_PUSH_TYPE,text = "绯荤粺鎺ュ彛鎺ㄩ�佹柟寮�",description = "") public enum sysIntegrationPushTypeEnum implements BaseEnum { /** - * 鍒嗙被鎺ㄩ�佹柟寮� + * 鏁版嵁鎺ㄩ�� */ - JSON("1","鏁版嵁鎺ㄩ��"), + PUSHTYPE_DATA("1","鏁版嵁鎺ㄩ��"), /** - * Xml鏍煎紡 + * 鍒嗙被鎺ㄩ�� */ - XML("2","鍒嗙被鎺ㄩ��"); + PUSHTYPE_CLASSIFY("2","鍒嗙被鎺ㄩ��"), + /*** + * 缂栫爜鐢宠 + */ + ACCPET_APPCODE("3","缂栫爜鐢宠"), + + /*** + * 缂栫爜缁存姢 + */ + ACCPET_EDITCODE("4","缂栫爜缁存姢"), + + + /*** + * 鍒嗙被鏌ヨ + */ + ACCPET_QUERYCLAFILY("5","鍒嗙被鏌ヨ"), + /*** + * 鍚紪鐮佽鍒欑殑鍒嗙被鏌ヨ + */ + ACCPET_QUERYCLAFILYRULE("6","鍚紪鐮佽鍒欑殑鍒嗙被鏌ヨ"), + + /*** + * 鏁版嵁鏌ヨ + */ + ACCPET_QUERYDATA("7","鏁版嵁鏌ヨ"); /** * 鏋氫妇鐨勫�� diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeDuckingSyncServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeDuckingSyncServiceImpl.java index 91d1f4f..54044fe 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeDuckingSyncServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeDuckingSyncServiceImpl.java @@ -2,19 +2,44 @@ import com.alibaba.cloud.commons.lang.StringUtils; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.thoughtworks.xstream.XStream; +import com.thoughtworks.xstream.io.xml.DomDriver; +import com.vci.ubcs.code.constant.MdmDuckingConstant; +import com.vci.ubcs.code.dto.datapush.classify.JsonRootDataDTO; +import com.vci.ubcs.code.dto.datapush.classify.NodeClassifyDTO; +import com.vci.ubcs.code.dto.datapush.classify.NodeDataDTO; +import com.vci.ubcs.code.dto.datapush.classify.NodeLibraryDTO; +import com.vci.ubcs.code.dto.datapush.data.NodeJosnDTO; +import com.vci.ubcs.code.dto.datapush.data.NodeObjectDTO; +import com.vci.ubcs.code.dto.datapush.data.NodeProDTO; +import com.vci.ubcs.code.dto.datapush.data.NodedataDTO; +import com.vci.ubcs.code.dto.datapush.result.ResultJsonDTO; +import com.vci.ubcs.code.dto.datapush.result.ResultNodeDataDTO; +import com.vci.ubcs.code.dto.datapush.result.ResultNodeObjectDTO; import com.vci.ubcs.code.entity.*; import com.vci.ubcs.code.service.*; -import com.vci.ubcs.starter.web.constant.QueryOptionConstant; +import com.vci.ubcs.code.util.HttpUtils; +import com.vci.ubcs.code.util.WsErpClientUtil; +import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO; +import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateVO; +import com.vci.ubcs.code.vo.pagemodel.CodeClassifyVO; +import com.vci.ubcs.starter.web.enumpck.UserSecretEnum; +import com.vci.ubcs.starter.web.pagemodel.SessionInfo; import com.vci.ubcs.starter.web.util.VciBaseUtil; -import com.vci.ubcs.starter.web.util.VciQueryWrapperForDO; import com.vci.ubcs.starter.web.util.WebUtil; import lombok.extern.slf4j.Slf4j; +import org.springblade.core.redis.cache.BladeRedis; import org.springblade.core.tool.api.R; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; +import org.springframework.util.LinkedMultiValueMap; +import org.springframework.util.MultiValueMap; import javax.annotation.Resource; import java.util.*; @@ -32,10 +57,15 @@ @Service @Slf4j public class CodeDuckingSyncServiceImpl implements ICodeDuckingSyncService { + @Value("${dataSyncPush.dataParamName:xmlData}") + public String DATA_PARAM_NAME; + @Resource - private IDockingSystemService dockingSystemService; + private MdmEngineService mdmEngineServiceI; + @Resource + private IDockingLogeService dockingLogeService; @Resource private IDockingDataService dockingDataService; @Resource @@ -44,26 +74,78 @@ private IDockingSystemConfigService dockingSystemConfigService; @Resource private ICodeClassifyService codeClassifyService; + /*** + * resdis缂撳瓨鏈嶅姟 + */ + @Resource + private BladeRedis bladeRedis; + @Resource + private IDockingSysIntParamService dockingSysIntParamService; + @Resource + private IDockingSysIntHeaderService dockingSysIntHeaderService; + + + @Override public void DockingDataSyncScheduing() { -// insertCache2(); + // insertCache2(); initPushDataTaks(1); - //sendpushDataForService(); + sendpushDataForService(); } + /*** + * + */ @Override public void DockingClassSyncScheduing() { - + initPushDataTaks(2);//鍒嗙被鎺ㄩ�� + sendpushClsfForService(); } + /*** + * 鎵嬪姩鍚屾 + * @param oids + * @return + */ + @Transactional(rollbackFor = Throwable.class) @Override public R sendData(String oids) { - - - - return null; + VciBaseUtil.alertNotNull(oids,"绯荤粺闆嗘垚鍩虹淇℃伅鏁版嵁瀵硅薄",oids,"绯荤粺闆嗘垚鍩虹淇℃伅鐨勪富閿�"); + List<String> dockingTaskOidList=new ArrayList<>(); + dockingTaskOidList= VciBaseUtil.str2List(oids); + List<DockingTask> newDockingTasks= this.dockingTaskService.listByIds(dockingTaskOidList); + Map<String,List<DockingTask>> typeDockingTaskMap=new HashMap<>(); + newDockingTasks.stream().forEach(newDockingTaskDO->{ + String btmId=newDockingTaskDO.getBtmId(); + if(btmId.equalsIgnoreCase(DOCKING_DEFAULT_CLASSIFY.toLowerCase(Locale.ROOT))){ + List<DockingTask> dockingTaskList= typeDockingTaskMap.get(DOCKING_DEFAULT_CLASSIFY.toLowerCase(Locale.ROOT)); + if(CollectionUtils.isEmpty(dockingTaskList)){ + dockingTaskList=new ArrayList<>(); + } + dockingTaskList.add(newDockingTaskDO); + typeDockingTaskMap.put(DOCKING_DEFAULT_CLASSIFY.toLowerCase(Locale.ROOT),dockingTaskList); + }else{ + List<DockingTask> dockingTaskDOList= typeDockingTaskMap.get("data"); + if(CollectionUtils.isEmpty(dockingTaskDOList)){ + dockingTaskDOList=new ArrayList<>(); + } + dockingTaskDOList.add(newDockingTaskDO); + typeDockingTaskMap.put("data",dockingTaskDOList); + } + }); + typeDockingTaskMap.keySet().forEach(type->{ + List<DockingTask> DockingTaskList=typeDockingTaskMap.get(type); + if(!CollectionUtils.isEmpty(DockingTaskList)){ + if(type.equalsIgnoreCase(DOCKING_DEFAULT_CLASSIFY.toLowerCase(Locale.ROOT))){ + this.sendpushClsfForService(DockingTaskList); + }else{ + this.sendpushDataForService(DockingTaskList); + } + } + }); + return R.success("鎵嬪姩鎺ㄩ�佸畬鎴�,璇锋牳瀵规槸鍚︽帹閫佹垚鍔�"); } @@ -72,7 +154,7 @@ * @param type */ private void initPushDataTaks(int type){ - //initSysadmin(); + initSysadmin(); List<DockingSystemConfig> dockingSystemConfigList = dockingSystemConfigService.list( Wrappers.<DockingSystemConfig>query().lambda().eq(DockingSystemConfig::getUsedFlag,"true") @@ -172,6 +254,337 @@ } } + /*** + * 鍙戦�佸垎绫绘暟鎹� + */ + private void sendpushClsfForService(List<DockingTask> dockingTaskList){ + //姣忎釜task渚濇鎵ц鎺ㄩ�� + for (DockingTask dockingTask:dockingTaskList){ + //姣忎釜task涓�涓簨鍔★紝寮�鍚� + String paramString=""; + String sendString=""; + String backString=""; + //鏌ヨ绯荤粺鎺ュ彛淇℃伅,ip method,dataType + String systeminfooid = dockingTask.getSysInfoOid();//sysininfo 鐨刼id + try { + //鏌ヨ瑕佹帹閫佺殑鏁版嵁 + String btmoid = dockingTask.getBtmOid();//鏁版嵁btmid + JsonRootDataDTO jsonRootDataDTO=new JsonRootDataDTO(); + CodeClassify codeClassify=codeClassifyService.getById(btmoid); + List<NodeClassifyDTO>nodeClassifyDTOList=new ArrayList<>(); + NodeClassifyDTO nodeClassifyDTO=new NodeClassifyDTO(); + nodeClassifyDTO.setClassCode(codeClassify.getId());//鍒嗙被浠e彿 + nodeClassifyDTO.setDescription(codeClassify.getDescription());//鍒嗙被鎻忚堪 + nodeClassifyDTO.setFullPathName(codeClassify.getPath());//鍏ㄨ矾寰� + nodeClassifyDTO.setLcStatus(codeClassify.getLcStatus());//鐘舵�� + // CodeClassifyDO parentClassDo=codeClassifyDaoI.selectByPrimaryKey(codeClassifyDO.getParentCodeClassifyOid()); + nodeClassifyDTO.setPid(codeClassify.getParentCodeClassifyOid());//鐖秈d鑺傜偣 + nodeClassifyDTO.setId(codeClassify.getOid());//鍒嗙被oid + nodeClassifyDTO.setName(codeClassify.getName());//鍒嗙被鍚嶇О + nodeClassifyDTOList.add(nodeClassifyDTO); + NodeLibraryDTO nodeLibraryDTO=new NodeLibraryDTO(); + CodeClassifyVO rootClassify=codeClassifyService.getTopClassifyVO(btmoid); + nodeLibraryDTO.setClassify(nodeClassifyDTOList); + nodeLibraryDTO.setId(rootClassify.getOid()); + nodeLibraryDTO.setName(rootClassify.getName()); + nodeLibraryDTO.setClassCode(rootClassify.getId()); + NodeDataDTO nodeDataDTO=new NodeDataDTO(); + nodeDataDTO.setLibrary(nodeLibraryDTO); + jsonRootDataDTO.setData(nodeDataDTO); + + //鏌ヨ鎺ㄩ�佹帴鍙e弬鏁� + DockingSystemConfig dockingSystemConfig = dockingSystemConfigService.getById(systeminfooid); + String paramType = dockingSystemConfig.getParamType();//xml/json + if(paramType.equals(DATATYPE_JSON)){ + Object object = JSONObject.toJSON(jsonRootDataDTO); + sendString = object.toString(); + }else{ + //缁勭粐杩斿洖鎺ュ彛淇℃伅 + XStream xStream = new XStream(new DomDriver()); + xStream.processAnnotations(NodeDataDTO.class); + xStream.autodetectAnnotations(true); + sendString = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n" + xStream.toXML(nodeDataDTO); + } + //璋冪敤鎺ュ彛 + callInterface(sendString,dockingSystemConfig,dockingTask); + }catch (Throwable e){ + e.printStackTrace(); + }finally { + //姣忎竴涓猼ask涓�涓簨鐗� + } + } + } + /*** + * 鍙戦�佺紪鐮佷富鏁版嵁 + */ + private void sendpushDataForService (List<DockingTask> dockingTaskS){ + + //姣忎釜task渚濇鎵ц鎺ㄩ�� + for (DockingTask dockingTask:dockingTaskS){ + //姣忎釜task涓�涓簨鍔★紝寮�鍚� + String paramString=""; + String sendString=""; + String backString=""; + try { + //鏌ヨ绯荤粺鎺ュ彛淇℃伅,ip method,dataType + String systeminfooid = dockingTask.getSysInfoOid();//sysininfo 鐨刼id + String classifyoid = dockingTask.getClassifyOid(); + //鏌ヨ瑕佹帹閫佺殑鏁版嵁 + String btmoid = dockingTask.getBtmOid();//鏁版嵁btmid + //琛ㄧず鏄富鏁版嵁 + CodeClassifyTemplateVO codeClassifyTemplateVO = mdmEngineServiceI.getUsedTemplateByClassifyOid(classifyoid); + R<List<Map<String, String>>> r = mdmEngineServiceI.getDataByOid(btmoid, codeClassifyTemplateVO.getOid()); + List<CodeClassifyTemplateAttrVO> attrVOS = codeClassifyTemplateVO.getAttributes(); + Map<String/**鑻辨枃鍚嶇О**/, String/**涓枃鍚嶇О**/> attrIdNameMap = attrVOS.stream().collect(Collectors.toMap(s -> s.getId().toLowerCase(Locale.ROOT), t -> t.getName(), (o1, o2) -> o2)); + Map<String, String> data = new HashMap<>(); + if (r == null) { + JSONObject josni = bladeRedis.get(DOCKING_CACHE2_DELETE + btmoid); + data = (Map) josni; + } else { + data = r.getData().get(0); + } + List<NodeProDTO> nodeProDTOS = new ArrayList<>(); + Map<String, String> finalData = data; + attrIdNameMap.keySet().forEach(field -> { + String outName = attrIdNameMap.get(field); + if (finalData.containsKey(field)) { + String Value = finalData.get(field); + NodeProDTO nodeProDTO = new NodeProDTO(); + nodeProDTO.setFiledName(field); + nodeProDTO.setOutname(outName); + nodeProDTO.setFiledValue(Value); + nodeProDTOS.add(nodeProDTO); + } + }); + + String[] classCodeLeves = dockingTask.getClassifyId().split(","); + NodeJosnDTO nodeJosnDTO = new NodeJosnDTO(); + NodedataDTO nodeDataDTO = new NodedataDTO(); + NodeObjectDTO nodeObjectDTO = new NodeObjectDTO(); + nodeObjectDTO.setCode(dockingTask.getId());//璁剧疆缂栫爜 + nodeObjectDTO.setClassCode(classCodeLeves[0]); + nodeObjectDTO.setStatus(data.get("lcstatus")); + nodeObjectDTO.setLibrary(classCodeLeves[classCodeLeves.length - 1]); + nodeObjectDTO.setPro(nodeProDTOS); + List<NodeObjectDTO> nodeObjectDTOS = new ArrayList<>(); + nodeObjectDTOS.add(nodeObjectDTO); + nodeDataDTO.setObject(nodeObjectDTOS); + nodeJosnDTO.setData(nodeDataDTO); + //鏌ヨ鎺ㄩ�佹帴鍙e弬鏁� + DockingSystemConfig dockingSystemConfig = dockingSystemConfigService.getById(systeminfooid); + String paramType = dockingSystemConfig.getParamType();//xml/json + if (paramType.equals(DATATYPE_JSON)) { + Object object = JSONObject.toJSON(nodeJosnDTO); + sendString = object.toString(); + } else { + //缁勭粐杩斿洖鎺ュ彛淇℃伅 + XStream xStream = new XStream(new DomDriver()); + xStream.processAnnotations(NodedataDTO.class); + xStream.autodetectAnnotations(true); + sendString = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n" + xStream.toXML(nodeDataDTO); + } + //璋冪敤鎺ュ彛 + callInterface(sendString,dockingSystemConfig, dockingTask); + }catch (Throwable e){ + e.printStackTrace(); + }finally { + } + } + } + /*** + * 璋冪敤鎺ュ彛 + * @param sendString + * @param dockingSystemConfig + * @param dockingTask + * @throws Throwable + */ + private void callInterface(String sendString , DockingSystemConfig dockingSystemConfig,DockingTask dockingTask) throws Throwable{ + String paramString = ""; + + String backString = ""; + String msg=""; + String url = dockingSystemConfig.getRequestUrl();//url + List<ResultNodeObjectDTO> resultNodeObjectDTOS =new ArrayList<>(); + try { + boolean usedFlag= dockingSystemConfig.getUsedFlag().equals("true")?true:false; + if(!usedFlag){ + throw new Throwable("鎺ュ彛宸茬粡鍋滅敤锛�"); + } + String type = dockingSystemConfig.getInterfaceType().toLowerCase(Locale.ROOT);//get/post/webserver/corba + String paramType = dockingSystemConfig.getParamType();//xml/json + String returnType = dockingSystemConfig.getReturnType();//xml/json + String requestmethod= dockingSystemConfig.getRequestMethod(); + String interfaceFunction = dockingSystemConfig.getInterfaceFunction();//涓昏鏄痺ebservice鐨勬柟娉曞悕 + String namespace = dockingSystemConfig.getNamespace();//namespace + String soapaction = dockingSystemConfig.getSoapAction();//soapaction + String targName = dockingSystemConfig.getTargetName();//targName + String cxfaxis = dockingSystemConfig.getCxfAxis();//webservice鏄痗xf/axis + //鏌ヨparam + List<DockingSysIntParam> dockingSysIntParamList = dockingSysIntParamService.list(Wrappers.<DockingSysIntParam>query().lambda().eq(DockingSysIntParam::getInfoOid,dockingSystemConfig.getOid())); + //鏌ヨheader + List<DockingSysIntHeader> dockingSysIntHeaderList = dockingSysIntHeaderService.list(Wrappers.<DockingSysIntHeader>query().lambda().eq(DockingSysIntHeader::getInfoOid,dockingSystemConfig.getOid())); + if(type.equals(URLTYPE_HTTP)) { + if (requestmethod.equals(URLTYPE_GET)) {//GET璇锋眰 + String sendurl = url + "?" + DATA_PARAM_NAME + "=" + sendString; + //鎷兼帴param + for (DockingSysIntParam dockingSysIntParam : dockingSysIntParamList) { + sendurl = sendurl + "&" + dockingSysIntParam.getParamKey() + "=" + dockingSysIntParam.getParamValue(); + } + paramString = sendurl; + backString = HttpUtils.get(sendurl); + } else if (requestmethod.equals(URLTYPE_POST)) {//POST璇锋眰 + MultiValueMap<String, String> params = new LinkedMultiValueMap<>(); + for (DockingSysIntParam dockingSysIntParam : dockingSysIntParamList) { + params.add(dockingSysIntParam.getParamKey(), dockingSysIntParam.getParamValue()); + } + params.add(DATA_PARAM_NAME,sendString); + paramString = params.toString(); + MultiValueMap<String, String> headers = new LinkedMultiValueMap<>(); + for (DockingSysIntHeader dockingSysIntHeader : dockingSysIntHeaderList) { + headers.add(dockingSysIntHeader.getHeaderKey(), dockingSysIntHeader.getHeaderValue()); + } + backString = HttpUtils.post(url, params, headers); + } + if(backString.startsWith("\"")){ + backString=backString.substring(backString.indexOf("\"")+1); + } + if(backString.endsWith("\"")){ + backString=backString.substring(0,backString.lastIndexOf("\"")); + } + if(backString.contains("\n")){ + String res="\n"; + backString= backString.replaceAll(res,""); + } + if(backString.contains("\\")){ + String res="\\\\\""; + backString= backString.replaceAll(res,"\"").trim(); + } + }else if (type.equals(URLTYPE_WEBSERVICE)) {//webserver璇锋眰 + MultiValueMap<String, String> params = new LinkedMultiValueMap<>(); + for (DockingSysIntParam dockingSysIntParam : dockingSysIntParamList) { + params.add(dockingSysIntParam.getParamKey(), dockingSysIntParam.getParamValue()); + } + + paramString = sendString; + MultiValueMap<String, String> headers = new LinkedMultiValueMap<>(); + for (DockingSysIntHeader dockingSysIntHeader : dockingSysIntHeaderList) { + headers.add(dockingSysIntHeader.getHeaderKey(), dockingSysIntHeader.getHeaderValue()); + } + backString = WsErpClientUtil.sendMsg(url, namespace, soapaction, interfaceFunction, targName, sendString, 10000); + + } else {//corba鎺ュ彛 + //paramString=sendString; + // backString = jacorbClient.getBOFactoryService().sendCode(sendString); + } + + ResultJsonDTO resultJsonDTO = new ResultJsonDTO(); + if(returnType.equals(DATATYPE_JSON)){ + resultJsonDTO =JSONObject.toJavaObject(JSONObject.parseObject(backString), ResultJsonDTO.class); + }else { + //缁勭粐杩斿洖鎺ュ彛淇℃伅 + XStream xStream = new XStream(new DomDriver()); + xStream.processAnnotations(ResultNodeDataDTO.class); + xStream.autodetectAnnotations(true); + ResultNodeDataDTO resultNodeDataDTO = (ResultNodeDataDTO) xStream.fromXML(backString); + resultJsonDTO.setData(resultNodeDataDTO); + } + ResultNodeDataDTO resultNodeDataDTO=resultJsonDTO.getData(); + resultNodeObjectDTOS=resultNodeDataDTO.getObject(); + + }catch (Throwable e){ + msg="璋冪敤鎺ュ彛澶辫触:"+e.getMessage(); + e.printStackTrace(); + log.error("璋冪敤鎺ュ彛澶辫触:"+e); + // throw new Throwable("璋冪敤鎺ュ彛澶辫触:"+e); + ResultNodeObjectDTO resultNodeObjectDTO=new ResultNodeObjectDTO(); + resultNodeObjectDTO.setErroid("1"); + resultNodeObjectDTO.setMsg(msg); + resultNodeObjectDTO.setCode(dockingSystemConfig.getPushType().equalsIgnoreCase("2")?dockingTask.getClassifyId():dockingTask.getId()); + resultNodeObjectDTO.setOid(dockingTask.getBtmOid()); + resultNodeObjectDTOS.add(resultNodeObjectDTO); + }finally { + boolean isSend = false; + for (ResultNodeObjectDTO resultNodeObjectDTO:resultNodeObjectDTOS){ + String erroid = resultNodeObjectDTO.getErroid(); + msg = resultNodeObjectDTO.getMsg(); + if("0".equals(erroid)){ + isSend = true; + }else if("1".equals(erroid)){ + isSend=false; + }else{ + isSend=false; + } + DockingLog dockingLogeDO = new DockingLog(); + String oid=VciBaseUtil.getPk(); + dockingLogeDO.setOid(oid); + dockingLogeDO.setSystemCode(dockingTask.getSystemCode()); + dockingLogeDO.setSystemName(dockingTask.getSystemName()); + dockingLogeDO.setSystemOid(dockingTask.getSystemOid()); + dockingLogeDO.setClassifyOid(dockingTask.getClassifyOid()); + dockingLogeDO.setClassifyId(dockingTask.getClassifyId()); + dockingLogeDO.setClassifyName(dockingTask.getClassifyName()); + dockingLogeDO.setId(dockingTask.getId()); + dockingLogeDO.setUniqueCode(dockingTask.getUniqueCode()); + dockingLogeDO.setParamString(paramString); + dockingLogeDO.setReturnString(backString); + dockingLogeDO.setInterfaceStatus(isSend?"true":"false"); + dockingLogeDO.setType(DATA_LOGE_OUT); + dockingLogeDO.setMsg(msg); + log.error("闆嗘垚鎺ㄩ�佹暟鎹�,systemcode:"+dockingTask.getSystemCode()+",systemname:"+dockingTask.getSystemName()+",url:"+url+",param:"+paramString+",e:"+msg); + dockingLogeService.save(dockingLogeDO); + } + //鍏ㄩ兘鎺ユ敹鎴愬姛鐨勬儏鍐典笅,淇敼dockingtask sendflag涓哄凡鍙戦�� + if(isSend) { + dockingTask.setSendFlag(MdmDuckingConstant.SEND_FLAG_TRUE); + dockingTaskService.updateById(dockingTask); + } + } + } + /*** + * 鏌ヨ闇�瑕侀泦鎴愮殑涓氬姟鏁版嵁浠诲姟 + */ + private void sendpushDataForService (){ + initSysadmin(); + //鏌ヨ鍝簺浠诲姟杩樻病鏈夋墽琛屽畬鎴� + //VciQueryWrapperForDO queryWrapper = new VciQueryWrapperForDO(DockingTaskDO.class); + //queryWrapper.addQueryMap("sendFlag",MdmDuckingConstant.SEND_FLAG_FALSE); + // queryWrapper.addQueryMap("btmId", QueryOptionConstant.NOTIN + "(" + VciBaseUtil.toInSql(DOCKING_DEFAULT_CLASSIFY.toUpperCase(Locale.ROOT)) + ")"); + + //鏍规嵁绫诲瀷鍘绘煡璇㈤渶瑕侀泦鎴愮殑鍒嗙被鎴栬�呮暟鎹� + LambdaQueryWrapper<DockingTask> queryWrapper = Wrappers.<DockingTask>lambdaQuery(); + queryWrapper.eq(DockingTask::getSendFlag,MdmDuckingConstant.SEND_FLAG_FALSE); + queryWrapper.notIn(DockingTask::getBtmId,DOCKING_DEFAULT_CLASSIFY.toLowerCase(Locale.ROOT)); + List<DockingTask> dockingTaskDOS = dockingTaskService.list(queryWrapper); + sendpushDataForService(dockingTaskDOS); + } + + /*** + * 鏌ヨ闇�瑕侀泦鎴愮殑鐖跺垎绫讳换鍔� + */ + private void sendpushClsfForService(){ + initSysadmin(); + /* //鏌ヨ鍝簺浠诲姟杩樻病鏈夋墽琛屽畬鎴� + VciQueryWrapperForDO queryWrapper = new VciQueryWrapperForDO(DockingTaskDO.class); + queryWrapper.addQueryMap("sendFlag",MdmDuckingConstant.SEND_FLAG_FALSE); + queryWrapper.addQueryMap("btmId",DOCKING_DEFAULT_CLASSIFY.toUpperCase(Locale.ROOT)); + List<DockingTaskDO> dockingTaskDOS = dockingTaskDaoI.selectByWrapper(queryWrapper);*/ + + //鏍规嵁绫诲瀷鍘绘煡璇㈤渶瑕侀泦鎴愮殑鍒嗙被鎴栬�呮暟鎹� + LambdaQueryWrapper<DockingTask> queryWrapper = Wrappers.<DockingTask>lambdaQuery(); + queryWrapper.eq(DockingTask::getSendFlag,MdmDuckingConstant.SEND_FLAG_FALSE); + queryWrapper.eq(DockingTask::getBtmId,DOCKING_DEFAULT_CLASSIFY.toLowerCase(Locale.ROOT)); + List<DockingTask> dockingTaskDOS = dockingTaskService.list(queryWrapper); + sendpushClsfForService(dockingTaskDOS); + } + public void initSysadmin(){ + SessionInfo sessionInfo = new SessionInfo(); + sessionInfo.setUserId("sysAdmin"); + sessionInfo.setUserName("绯荤粺绠$悊鍛�"); + sessionInfo.setIp(WebUtil.getLocalIp()); + sessionInfo.setUserOid("193C026F-7DB8-27B4-F383-4E8BE083FB07"); + sessionInfo.setUserSecret(UserSecretEnum.PRIVACY.getValue()+""); + WebUtil.setSessionInfo(sessionInfo); + } /** * dockingdata鏍规嵁oid淇敼sendflag * @param oid 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 e83c585..16d781b 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 @@ -2,15 +2,19 @@ import com.alibaba.cloud.commons.lang.StringUtils; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.thoughtworks.xstream.XStream; import com.thoughtworks.xstream.io.xml.DomDriver; import com.vci.ubcs.code.bo.CodeClassifyFullInfoBO; +import com.vci.ubcs.code.constant.MdmDuckingConstant; import com.vci.ubcs.code.dto.CodeOrderDTO; import com.vci.ubcs.code.dto.CodeOrderSecDTO; import com.vci.ubcs.code.entity.*; import com.vci.ubcs.code.enumpack.CodeDefaultLC; import com.vci.ubcs.code.enumpack.CodeSecTypeEnum; +import com.vci.ubcs.code.enumpack.SysIntegrationDataFlowTypeEnum; +import com.vci.ubcs.code.enumpack.sysIntegrationPushTypeEnum; import com.vci.ubcs.code.mapper.CommonsMapper; import com.vci.ubcs.code.service.*; import com.vci.ubcs.code.util.ClientBusinessObject; @@ -52,6 +56,7 @@ import java.util.concurrent.CopyOnWriteArrayList; import java.util.stream.Collectors; +import static com.vci.ubcs.code.constant.MdmDuckingConstant.DOCKING_DEFAULT_CLASSIFY; import static com.vci.ubcs.code.constant.MdmEngineConstant.DEFAULT_SYNC_ATTR_LIST; import static com.vci.ubcs.code.constant.MdmEngineConstant.IMPORT_ROW_INDEX; import static com.vci.ubcs.code.enumpack.CodeSecTypeEnum.CODE_CLASSIFY_SEC; @@ -101,6 +106,9 @@ @Resource private MdmIOService mdmIOService; + + @Resource + private IDockingSystemConfigService dockingSystemConfigService; @Autowired private ICodeClassifyValueService codeClassifyValueService; @@ -156,6 +164,12 @@ } ClassfysVO classfysVO = interParameterVO.getData().getClassifys(); systemId = interParameterVO.getData().getSystemId(); + //鏍¢獙鏄惁閰嶇疆 + boolean checkPass= checkIspass(systemId, SysIntegrationDataFlowTypeEnum.ACCEPT.getValue(), sysIntegrationPushTypeEnum.ACCPET_APPCODE.getValue()); + if(!checkPass){ + errorid="101"; + throw new Throwable("绯荤粺鏍囪瘑涓恒��"+systemId+"銆�,鐨�"+sysIntegrationPushTypeEnum.ACCPET_APPCODE.getText()+"鎺ュ彛閰嶇疆宸插仠鐢ㄦ垨鑰呮湭閰嶇疆锛岃鑱旂郴缂栫爜绠$悊鍛橈紒"); + } UserVO userVo = interParameterVO.getData().getUser(); List<ClassfyVO> classVOList = classfysVO.getClassify(); InterParameterVO finalInterParameterVO = interParameterVO; @@ -323,6 +337,15 @@ } ClassfysVO classfysVO = interParameterVO.getData().getClassifys(); systemId = interParameterVO.getData().getSystemId(); + + + //鏍¢獙鏄惁閰嶇疆 + boolean checkPass= checkIspass(systemId, SysIntegrationDataFlowTypeEnum.ACCEPT.getValue(), sysIntegrationPushTypeEnum.ACCPET_EDITCODE.getValue()); + if(!checkPass){ + errorid="101"; + throw new Throwable("绯荤粺鏍囪瘑涓恒��"+systemId+"銆�,鐨�"+sysIntegrationPushTypeEnum.ACCPET_EDITCODE.getText()+"鎺ュ彛閰嶇疆宸插仠鐢ㄦ垨鑰呮湭閰嶇疆锛岃鑱旂郴缂栫爜绠$悊鍛橈紒"); + } + UserVO userVo = interParameterVO.getData().getUser(); List<ClassfyVO> classVOList = classfysVO.getClassify(); InterParameterVO finalInterParameterVO = interParameterVO; @@ -474,6 +497,14 @@ String libId= libraryVO.getId(); List<String> classifyIdList= libraryVO.getClassifyid(); List<CodeClassifyVO> codeClassifyVOS =new ArrayList<>(); + + //鏍¢獙鏄惁閰嶇疆 + boolean checkPass= checkIspass(systemId, SysIntegrationDataFlowTypeEnum.ACCEPT.getValue(), sysIntegrationPushTypeEnum.ACCPET_QUERYCLAFILY.getValue()); + if(!checkPass){ + errorid="101"; + throw new Throwable("绯荤粺鏍囪瘑涓恒��"+systemId+"銆�,鐨�"+sysIntegrationPushTypeEnum.ACCPET_QUERYCLAFILY.getText()+"鎺ュ彛閰嶇疆宸插仠鐢ㄦ垨鑰呮湭閰嶇疆锛岃鑱旂郴缂栫爜绠$悊鍛橈紒"); + } + //杩欐槸璐﹀彿淇℃伅 //杩欐槸璐﹀彿淇℃伅 if(userVo!=null) { @@ -635,7 +666,12 @@ msg = "鎺ュ彛鍙傛暟锛歭ibrary 涓簄ull"; throw new Throwable(msg); } - + //鏍¢獙鏄惁閰嶇疆 + boolean checkPass= checkIspass(systemId, SysIntegrationDataFlowTypeEnum.ACCEPT.getValue(), sysIntegrationPushTypeEnum.ACCPET_QUERYDATA.getValue()); + if(!checkPass){ + errorid="101"; + throw new Throwable("绯荤粺鏍囪瘑涓恒��"+systemId+"銆�,鐨�"+sysIntegrationPushTypeEnum.ACCPET_QUERYDATA.getText()+"鎺ュ彛閰嶇疆宸插仠鐢ㄦ垨鑰呮湭閰嶇疆锛岃鑱旂郴缂栫爜绠$悊鍛橈紒"); + } //鍏堢畝绉版槸鍚︽湁鍏宠仈妯℃澘锛屾湁妯℃澘瑕佸厛鍒犻櫎 List<CodeClassify> libIdDos =classifyService.selectByWrapper(Wrappers.<CodeClassify>query().lambda().eq(CodeClassify::getId,library)); @@ -820,6 +856,13 @@ String libId= libraryVO.getId(); List<String> classifyIdList= libraryVO.getClassifyid(); List<CodeClassifyVO> codeClassifyVOS =new ArrayList<>(); + + //鏍¢獙鏄惁閰嶇疆 + boolean checkPass= checkIspass(systemId, SysIntegrationDataFlowTypeEnum.ACCEPT.getValue(), sysIntegrationPushTypeEnum.ACCPET_QUERYCLAFILYRULE.getValue()); + if(!checkPass){ + errorid="101"; + throw new Throwable("绯荤粺鏍囪瘑涓恒��"+systemId+"銆�,鐨�"+sysIntegrationPushTypeEnum.ACCPET_QUERYCLAFILYRULE.getText()+"鎺ュ彛閰嶇疆宸插仠鐢ㄦ垨鑰呮湭閰嶇疆锛岃鑱旂郴缂栫爜绠$悊鍛橈紒"); + } //杩欐槸璐﹀彿淇℃伅 //杩欐槸璐﹀彿淇℃伅 if(userVo!=null) { @@ -1303,5 +1346,20 @@ return resultStr; } - + /*** + * 鏍¢獙鏄惁鍋氫簡閰嶇疆 + * @param systemId,绯荤粺鏍囪瘑 + * @param type:鎺ュ彛绫诲瀷 + * @param operationType:鎺ュ彛鎿嶄綔绫诲瀷 + * @return + */ + private boolean checkIspass(String systemId,String type,String operationType){ + //鏍规嵁绫诲瀷鍘绘煡璇㈤渶瑕侀泦鎴愮殑鍒嗙被鎴栬�呮暟鎹� + LambdaQueryWrapper<DockingSystemConfig> queryWrapper = Wrappers.<DockingSystemConfig>lambdaQuery(); + queryWrapper.eq(DockingSystemConfig::getUsedFlag, MdmDuckingConstant.SEND_FLAG_TRUE); + queryWrapper.eq(DockingSystemConfig::getSysBaseId,systemId); + queryWrapper.eq(DockingSystemConfig::getDataFlowType,type); + queryWrapper.eq(DockingSystemConfig::getPushType,operationType); + return dockingSystemConfigService.count(queryWrapper)>0?true:false; + } } -- Gitblit v1.9.3