diff --git a/agentcenter-sdk/pom.xml b/agentcenter-sdk/pom.xml index 3f5f750..81e0828 100644 --- a/agentcenter-sdk/pom.xml +++ b/agentcenter-sdk/pom.xml @@ -16,7 +16,7 @@ 1.16.18 5.5.4 - 1.2.74 + 2.0.34 1.8 UTF-8 @@ -53,8 +53,8 @@ - com.alibaba - fastjson + com.alibaba.fastjson2 + fastjson2 ${fastjson.version} @@ -70,8 +70,8 @@ hutool-all - com.alibaba - fastjson + com.alibaba.fastjson2 + fastjson2 javax.servlet diff --git a/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/api/NSApiResult.java b/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/api/NSApiResult.java index 6bc5e6c..34c5f50 100644 --- a/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/api/NSApiResult.java +++ b/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/api/NSApiResult.java @@ -1,7 +1,7 @@ package com.nsgk.agentcentersdk.api; -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson2.JSON; +import com.alibaba.fastjson2.JSONObject; import com.nsgk.agentcentersdk.err.NSErrno; import lombok.Data; diff --git a/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/api/NSSDKClient.java b/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/api/NSSDKClient.java index 585dd22..ec1086f 100644 --- a/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/api/NSSDKClient.java +++ b/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/api/NSSDKClient.java @@ -1,8 +1,8 @@ package com.nsgk.agentcentersdk.api; import cn.hutool.core.util.URLUtil; -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson2.JSON; +import com.alibaba.fastjson2.JSONObject; import com.nsgk.agentcentersdk.core.NSConstants; import com.nsgk.agentcentersdk.core.NSProtocol; import com.nsgk.agentcentersdk.core.NSReportObject; diff --git a/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/api/NSSDKServer.java b/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/api/NSSDKServer.java index 91c408c..432e647 100644 --- a/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/api/NSSDKServer.java +++ b/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/api/NSSDKServer.java @@ -1,6 +1,6 @@ package com.nsgk.agentcentersdk.api; -import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson2.JSON; import com.nsgk.agentcentersdk.core.NSConstants; import com.nsgk.agentcentersdk.core.NSProtocol; import com.nsgk.agentcentersdk.core.NSReportObject; diff --git a/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/core/NSProtocol.java b/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/core/NSProtocol.java index d667070..efcd3c3 100644 --- a/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/core/NSProtocol.java +++ b/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/core/NSProtocol.java @@ -4,9 +4,9 @@ package com.nsgk.agentcentersdk.core; public final class NSProtocol { public static final int NS_PROTOCOL_INVALID = 0; - public static final int NS_PROTOCOL_TEST = 0x00001; - public static final int NS_PROTOCOL_CONTRACTION = 0x10001; - public static final int NS_PROTOCOL_UPDATE_CONTRACTION = 0x10002; + public static final int NS_PROTOCOL_TEST = 0x0001; + public static final int NS_PROTOCOL_CONTRACTION = 0x0101; + public static final int NS_PROTOCOL_UPDATE_CONTRACTION = 0x0102; public static int FromString(String str) { diff --git a/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/core/NSReportObject.java b/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/core/NSReportObject.java index 96367d3..1f20ade 100644 --- a/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/core/NSReportObject.java +++ b/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/core/NSReportObject.java @@ -1,7 +1,7 @@ package com.nsgk.agentcentersdk.core; import cn.hutool.core.bean.BeanUtil; -import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson2.JSON; import com.nsgk.agentcentersdk.err.NSErrGlobal; import com.nsgk.agentcentersdk.err.NSErrno; import com.nsgk.agentcentersdk.utility.NSSignTool; diff --git a/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/message/NSMessage.java b/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/message/NSMessage.java index 8845ce7..27e149c 100644 --- a/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/message/NSMessage.java +++ b/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/message/NSMessage.java @@ -2,7 +2,7 @@ package com.nsgk.agentcentersdk.message; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollectionUtil; -import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson2.JSON; import com.nsgk.agentcentersdk.utility.NSArr; import com.nsgk.agentcentersdk.utility.NSReflect; import com.nsgk.agentcentersdk.utility.NSStr; @@ -41,6 +41,16 @@ public class NSMessage implements Serializable // 不会覆盖已设置的属性 protected Map parms; + public boolean IsValid() + { + return null != bookId + && null != deptId + && null != outId + && NSStr.IsNotEmpty(orgCode) + && NSStr.IsNotEmpty(bookName) + ; + } + protected Map PARMS() { if(null == parms) diff --git a/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/network/NSNetworkRequest.java b/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/network/NSNetworkRequest.java index d5ac471..9a01027 100644 --- a/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/network/NSNetworkRequest.java +++ b/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/network/NSNetworkRequest.java @@ -1,14 +1,34 @@ package com.nsgk.agentcentersdk.network; -import com.nsgk.agentcentersdk.core.NSReportObject; -import com.nsgk.agentcentersdk.utility.NSCrypto; +import com.nsgk.agentcentersdk.utility.NSArr; import lombok.Data; import lombok.experimental.Accessors; +import java.util.LinkedHashMap; +import java.util.Map; + // Http请求 @Data @Accessors(chain = true) public class NSNetworkRequest extends NSNetworkTransport { - private int timeout = 0; + private final Map query = new LinkedHashMap<>(); + private int timeout = 0; + + public NSNetworkRequest ClearQueries() + { + query.clear(); + return this; + } + + public NSNetworkRequest AddQuery(String name, Object value) + { + query.put(name, value); + return this; + } + + public Object Query(String name, Object...value) + { + return query.getOrDefault(name, NSArr.DefParm(value)); + } } diff --git a/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/network/NSNetworkTransport.java b/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/network/NSNetworkTransport.java index 5ac1c4a..6699ce2 100644 --- a/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/network/NSNetworkTransport.java +++ b/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/network/NSNetworkTransport.java @@ -15,7 +15,6 @@ public abstract class NSNetworkTransport { private String url; private final Map headers = new LinkedHashMap<>(); - private final Map query = new LinkedHashMap<>(); private String data; public NSNetworkTransport() {} @@ -41,21 +40,4 @@ public abstract class NSNetworkTransport { return headers.getOrDefault(name, NSArr.DefParm(value)); } - - public NSNetworkTransport ClearQueries() - { - query.clear(); - return this; - } - - public NSNetworkTransport AddQuery(String name, Object value) - { - query.put(name, value); - return this; - } - - public Object Query(String name, Object...value) - { - return query.getOrDefault(name, NSArr.DefParm(value)); - } } diff --git a/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/listener/ContractionListener.java b/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/listener/ContractionListener.java index 432f4b7..9f24d7e 100644 --- a/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/listener/ContractionListener.java +++ b/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/listener/ContractionListener.java @@ -38,12 +38,23 @@ public class ContractionListener public void reportContraction(Session session) { TAgentContraction contraction = conv(session.data); + String orgCode = contraction.getOrgCode(); SqlUtil.transaction(() -> { - TAgentTask task = syncTask(session.data, contraction); - contraction.setTaskId(task.getId()); if(null == contraction.getId()) { + TAgentTask tAgentTask = itAgentTaskService.getTAgentTask(orgCode, contraction.getOrderYear(), contraction.getOrderMonth(), (x) -> { + x.setBookId(contraction.getBookId()) + .setBookName(session.data.getBookName()) + ; + }); + + TAgentTask task = new TAgentTask(); + task.setContracCount(1); + task.setId(tAgentTask.getId()); + itAgentTaskService.updateTAgentTaskCount(task); + + contraction.setTaskId(tAgentTask.getId()); itAgentContractionService.insertTAgentContraction(contraction); session.result.setMessage("新增合同报账成功"); } @@ -111,24 +122,6 @@ public class ContractionListener return contraction; } - private TAgentTask syncTask(NSContractionMessage entity, TAgentContraction contraction) - { - String orgCode = contraction.getOrgCode(); - - TAgentTask tAgentTask = itAgentTaskService.getTAgentTask(orgCode, contraction.getOrderYear(), contraction.getOrderMonth(), (x) -> { - x.setBookId(contraction.getBookId()) - .setBookName(entity.getBookName()) - ; - }); - - TAgentTask task = new TAgentTask(); - task.setContracCount(1); - task.setId(tAgentTask.getId()); - itAgentTaskService.updateTAgentTaskCount(task); - - return tAgentTask; - } - private void syncFinishTask(TAgentContraction contraction) { String orgCode = contraction.getOrgCode(); diff --git a/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/object/Session.java b/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/object/Session.java index 02a818e..f566c23 100644 --- a/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/object/Session.java +++ b/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/object/Session.java @@ -7,7 +7,7 @@ import lombok.experimental.Accessors; public class Session { public final int protocol; // 协议 - public final String identifier; // 识别ID + public final String identifier; // 识别ID, 或为orgCode, 不等于 NSMessage::orgCode public final long timestamp; // 客户端时间戳 public final T data; // 客户端数据 diff --git a/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/service/impl/AgentCenterImpl.java b/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/service/impl/AgentCenterImpl.java index d7cc537..9b1def9 100644 --- a/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/service/impl/AgentCenterImpl.java +++ b/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/service/impl/AgentCenterImpl.java @@ -38,7 +38,7 @@ public class AgentCenterImpl implements IAgentCenter public Session createSession(NSSDKServer server, HttpServletRequest request) { - NSReportObject reportObject; + NSReportObject reportObject; Session session; Class clazz; int protocol; @@ -54,6 +54,10 @@ public class AgentCenterImpl implements IAgentCenter return null; } reportObject = server.Recv(request, clazz); + if(!reportObject.IsValid() || !reportObject.getData().IsValid()) + { + return NSErrGlobal.ThrowAndReturn(NSErrno.ERRNO_CLI_DATA_MISSING, null); + } session = new Session<>(protocol, reportObject.getIdentifier(), reportObject.getTimestamp(), reportObject.getData());