@@ -16,7 +16,7 @@ | |||||
<properties> | <properties> | ||||
<lombok.version>1.16.18</lombok.version> | <lombok.version>1.16.18</lombok.version> | ||||
<hutool.version>5.5.4</hutool.version> | <hutool.version>5.5.4</hutool.version> | ||||
<fastjson.version>1.2.74</fastjson.version> | |||||
<fastjson.version>2.0.34</fastjson.version> | |||||
<java.version>1.8</java.version> | <java.version>1.8</java.version> | ||||
<project.sourceEncoding>UTF-8</project.sourceEncoding> | <project.sourceEncoding>UTF-8</project.sourceEncoding> | ||||
</properties> | </properties> | ||||
@@ -53,8 +53,8 @@ | |||||
<!-- 阿里JSON解析器 --> | <!-- 阿里JSON解析器 --> | ||||
<dependency> | <dependency> | ||||
<groupId>com.alibaba</groupId> | |||||
<artifactId>fastjson</artifactId> | |||||
<groupId>com.alibaba.fastjson2</groupId> | |||||
<artifactId>fastjson2</artifactId> | |||||
<version>${fastjson.version}</version> | <version>${fastjson.version}</version> | ||||
</dependency> | </dependency> | ||||
</dependencies> | </dependencies> | ||||
@@ -70,8 +70,8 @@ | |||||
<artifactId>hutool-all</artifactId> | <artifactId>hutool-all</artifactId> | ||||
</dependency> | </dependency> | ||||
<dependency> | <dependency> | ||||
<groupId>com.alibaba</groupId> | |||||
<artifactId>fastjson</artifactId> | |||||
<groupId>com.alibaba.fastjson2</groupId> | |||||
<artifactId>fastjson2</artifactId> | |||||
</dependency> | </dependency> | ||||
<dependency> | <dependency> | ||||
<groupId>javax.servlet</groupId> | <groupId>javax.servlet</groupId> | ||||
@@ -1,7 +1,7 @@ | |||||
package com.nsgk.agentcentersdk.api; | 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 com.nsgk.agentcentersdk.err.NSErrno; | ||||
import lombok.Data; | import lombok.Data; | ||||
@@ -1,8 +1,8 @@ | |||||
package com.nsgk.agentcentersdk.api; | package com.nsgk.agentcentersdk.api; | ||||
import cn.hutool.core.util.URLUtil; | 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.NSConstants; | ||||
import com.nsgk.agentcentersdk.core.NSProtocol; | import com.nsgk.agentcentersdk.core.NSProtocol; | ||||
import com.nsgk.agentcentersdk.core.NSReportObject; | import com.nsgk.agentcentersdk.core.NSReportObject; | ||||
@@ -1,6 +1,6 @@ | |||||
package com.nsgk.agentcentersdk.api; | 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.NSConstants; | ||||
import com.nsgk.agentcentersdk.core.NSProtocol; | import com.nsgk.agentcentersdk.core.NSProtocol; | ||||
import com.nsgk.agentcentersdk.core.NSReportObject; | import com.nsgk.agentcentersdk.core.NSReportObject; | ||||
@@ -4,9 +4,9 @@ package com.nsgk.agentcentersdk.core; | |||||
public final class NSProtocol | public final class NSProtocol | ||||
{ | { | ||||
public static final int NS_PROTOCOL_INVALID = 0; | 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) | public static int FromString(String str) | ||||
{ | { | ||||
@@ -1,7 +1,7 @@ | |||||
package com.nsgk.agentcentersdk.core; | package com.nsgk.agentcentersdk.core; | ||||
import cn.hutool.core.bean.BeanUtil; | 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.NSErrGlobal; | ||||
import com.nsgk.agentcentersdk.err.NSErrno; | import com.nsgk.agentcentersdk.err.NSErrno; | ||||
import com.nsgk.agentcentersdk.utility.NSSignTool; | import com.nsgk.agentcentersdk.utility.NSSignTool; | ||||
@@ -2,7 +2,7 @@ package com.nsgk.agentcentersdk.message; | |||||
import cn.hutool.core.bean.BeanUtil; | import cn.hutool.core.bean.BeanUtil; | ||||
import cn.hutool.core.collection.CollectionUtil; | 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.NSArr; | ||||
import com.nsgk.agentcentersdk.utility.NSReflect; | import com.nsgk.agentcentersdk.utility.NSReflect; | ||||
import com.nsgk.agentcentersdk.utility.NSStr; | import com.nsgk.agentcentersdk.utility.NSStr; | ||||
@@ -41,6 +41,16 @@ public class NSMessage implements Serializable | |||||
// 不会覆盖已设置的属性 | // 不会覆盖已设置的属性 | ||||
protected Map<String, Object> parms; | protected Map<String, Object> parms; | ||||
public boolean IsValid() | |||||
{ | |||||
return null != bookId | |||||
&& null != deptId | |||||
&& null != outId | |||||
&& NSStr.IsNotEmpty(orgCode) | |||||
&& NSStr.IsNotEmpty(bookName) | |||||
; | |||||
} | |||||
protected Map<String, Object> PARMS() | protected Map<String, Object> PARMS() | ||||
{ | { | ||||
if(null == parms) | if(null == parms) | ||||
@@ -1,14 +1,34 @@ | |||||
package com.nsgk.agentcentersdk.network; | 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.Data; | ||||
import lombok.experimental.Accessors; | import lombok.experimental.Accessors; | ||||
import java.util.LinkedHashMap; | |||||
import java.util.Map; | |||||
// Http请求 | // Http请求 | ||||
@Data | @Data | ||||
@Accessors(chain = true) | @Accessors(chain = true) | ||||
public class NSNetworkRequest extends NSNetworkTransport | public class NSNetworkRequest extends NSNetworkTransport | ||||
{ | { | ||||
private int timeout = 0; | |||||
private final Map<String, Object> 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)); | |||||
} | |||||
} | } |
@@ -15,7 +15,6 @@ public abstract class NSNetworkTransport | |||||
{ | { | ||||
private String url; | private String url; | ||||
private final Map<String, String> headers = new LinkedHashMap<>(); | private final Map<String, String> headers = new LinkedHashMap<>(); | ||||
private final Map<String, Object> query = new LinkedHashMap<>(); | |||||
private String data; | private String data; | ||||
public NSNetworkTransport() {} | public NSNetworkTransport() {} | ||||
@@ -41,21 +40,4 @@ public abstract class NSNetworkTransport | |||||
{ | { | ||||
return headers.getOrDefault(name, NSArr.DefParm(value)); | 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)); | |||||
} | |||||
} | } |
@@ -38,12 +38,23 @@ public class ContractionListener | |||||
public void reportContraction(Session<NSContractionMessage> session) | public void reportContraction(Session<NSContractionMessage> session) | ||||
{ | { | ||||
TAgentContraction contraction = conv(session.data); | TAgentContraction contraction = conv(session.data); | ||||
String orgCode = contraction.getOrgCode(); | |||||
SqlUtil.transaction(() -> { | SqlUtil.transaction(() -> { | ||||
TAgentTask task = syncTask(session.data, contraction); | |||||
contraction.setTaskId(task.getId()); | |||||
if(null == contraction.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); | itAgentContractionService.insertTAgentContraction(contraction); | ||||
session.result.setMessage("新增合同报账成功"); | session.result.setMessage("新增合同报账成功"); | ||||
} | } | ||||
@@ -111,24 +122,6 @@ public class ContractionListener | |||||
return contraction; | 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) | private void syncFinishTask(TAgentContraction contraction) | ||||
{ | { | ||||
String orgCode = contraction.getOrgCode(); | String orgCode = contraction.getOrgCode(); | ||||
@@ -7,7 +7,7 @@ import lombok.experimental.Accessors; | |||||
public class Session<T> | public class Session<T> | ||||
{ | { | ||||
public final int protocol; // 协议 | public final int protocol; // 协议 | ||||
public final String identifier; // 识别ID | |||||
public final String identifier; // 识别ID, 或为orgCode, 不等于 NSMessage::orgCode | |||||
public final long timestamp; // 客户端时间戳 | public final long timestamp; // 客户端时间戳 | ||||
public final T data; // 客户端数据 | public final T data; // 客户端数据 | ||||
@@ -38,7 +38,7 @@ public class AgentCenterImpl implements IAgentCenter | |||||
public Session<?> createSession(NSSDKServer server, HttpServletRequest request) | public Session<?> createSession(NSSDKServer server, HttpServletRequest request) | ||||
{ | { | ||||
NSReportObject<?> reportObject; | |||||
NSReportObject<? extends NSMessage> reportObject; | |||||
Session<?> session; | Session<?> session; | ||||
Class<? extends NSMessage> clazz; | Class<? extends NSMessage> clazz; | ||||
int protocol; | int protocol; | ||||
@@ -54,6 +54,10 @@ public class AgentCenterImpl implements IAgentCenter | |||||
return null; | return null; | ||||
} | } | ||||
reportObject = server.Recv(request, clazz); | 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()); | session = new Session<>(protocol, reportObject.getIdentifier(), reportObject.getTimestamp(), reportObject.getData()); | ||||