From aa5b563cffadeccad6086c0c1699a3f9187ffef3 Mon Sep 17 00:00:00 2001 From: zhaochengke Date: Wed, 19 Jul 2023 14:03:18 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AE=80=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/nsgk/agentcentersdk/NSMain.java | 7 +-- .../com/nsgk/agentcentersdk/api/NSApi.java | 4 +- .../nsgk/agentcentersdk/api/NSSDKClient.java | 6 +- .../nsgk/agentcentersdk/api/NSSDKServer.java | 4 +- .../NSContractionMessage.java} | 4 +- .../NSEntity.java => message/NSMessage.java} | 12 ++-- .../agentcenter/AgentCenterController.java | 20 +++---- .../listener/ContractionListener.java | 43 ++++++--------- .../agentcenter/listener/TestListener.java | 7 +-- .../object/ContractionSession.java | 11 ---- .../com/ruoyi/agentcenter/object/Message.java | 31 ----------- .../com/ruoyi/agentcenter/object/Result.java | 20 ------- .../com/ruoyi/agentcenter/object/Session.java | 40 ++++++++++++-- .../agentcenter/service/IAgentCenter.java | 4 +- .../service/ITAgentTaskService.java | 2 + .../service/impl/AgentCenterImpl.java | 55 +++++++------------ .../service/impl/TAgentTaskServiceImpl.java | 15 +++++ 17 files changed, 119 insertions(+), 166 deletions(-) rename agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/{entity/NSContractionEntity.java => message/NSContractionMessage.java} (77%) rename agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/{entity/NSEntity.java => message/NSMessage.java} (95%) delete mode 100644 ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/object/ContractionSession.java delete mode 100644 ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/object/Message.java delete mode 100644 ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/object/Result.java diff --git a/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/NSMain.java b/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/NSMain.java index 6fb4c04..c8f57f5 100644 --- a/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/NSMain.java +++ b/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/NSMain.java @@ -4,8 +4,7 @@ import com.nsgk.agentcentersdk.api.NSApiResult; import com.nsgk.agentcentersdk.api.NSSDK; import com.nsgk.agentcentersdk.api.NSSDKClient; import com.nsgk.agentcentersdk.core.NSProtocol; -import com.nsgk.agentcentersdk.entity.NSContractionEntity; -import com.nsgk.agentcentersdk.entity.NSEntity; +import com.nsgk.agentcentersdk.message.NSMessage; import com.nsgk.agentcentersdk.utility.NSReflect; public final class NSMain @@ -41,13 +40,13 @@ public final class NSMain public static void Test() { NSSDKClient client; - NSEntity entity; + NSMessage entity; NSApiResult result; NSSDK.InitClient("http://localhost", (short) 8081, "371002100005", "MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKoR8mX0rGKLqzcWmOzbfj64K8ZIgOdHnzkXSOVOZbFu/TJhZ7rFAN+eaGkl3C4buccQd/EjEsj9ir7ijT7h96MCAwEAAQ==", 0); client = NSSDK.InstanceClient(); - entity = new NSEntity(); + entity = new NSMessage(); entity.setDeptId(187L) .setBookId(166L) .setOrgCode("371002100005") diff --git a/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/api/NSApi.java b/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/api/NSApi.java index 6b4d5c2..475a517 100644 --- a/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/api/NSApi.java +++ b/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/api/NSApi.java @@ -3,8 +3,8 @@ package com.nsgk.agentcentersdk.api; // 接口 public final class NSApi { - public static final String NS_API_TEST = "/agentcenter/api/test"; - public static final String NS_API_REPORT = "/agentcenter/api/report"; + public static final String NS_API_TEST = "/agentcenter/api/test"; + public static final String NS_API_INTERFACE = "/agentcenter/api/interface"; private NSApi() {} } 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 ac28d8d..585dd22 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 @@ -6,7 +6,7 @@ import com.alibaba.fastjson.JSONObject; import com.nsgk.agentcentersdk.core.NSConstants; import com.nsgk.agentcentersdk.core.NSProtocol; import com.nsgk.agentcentersdk.core.NSReportObject; -import com.nsgk.agentcentersdk.entity.NSEntity; +import com.nsgk.agentcentersdk.message.NSMessage; import com.nsgk.agentcentersdk.err.NSAssert; import com.nsgk.agentcentersdk.err.NSErrGlobal; import com.nsgk.agentcentersdk.err.NSErrno; @@ -50,7 +50,7 @@ public final class NSSDKClient } // 发送请求 - public NSApiResult Send(int protocol, T object) + public NSApiResult Send(int protocol, T object) { String url; NSReportObject reportObject; @@ -59,7 +59,7 @@ public final class NSSDKClient NSAssert.NotNull(object, NSErrno.ERRNO_CLI_DATA_MISSING); NSAssert.NotEmpty(identifier, NSErrno.ERRNO_CLI_PARAMETER_MISSING); NSErrGlobal.ASSERT(NSProtocol.IsValid(protocol), NSErrno.ERRNO_SYS_INVALID_PROTOCOL); - url = NSApi.NS_API_REPORT; + url = NSApi.NS_API_INTERFACE; reportObject = new NSReportObject<>(identifier, protocol, object); request = new NSNetworkRequest(); request.setUrl(BuildUrl(url)); 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 1cc0696..91c408c 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 @@ -4,7 +4,7 @@ import com.alibaba.fastjson.JSON; import com.nsgk.agentcentersdk.core.NSConstants; import com.nsgk.agentcentersdk.core.NSProtocol; import com.nsgk.agentcentersdk.core.NSReportObject; -import com.nsgk.agentcentersdk.entity.NSEntity; +import com.nsgk.agentcentersdk.message.NSMessage; import com.nsgk.agentcentersdk.err.NSAssert; import com.nsgk.agentcentersdk.err.NSErrGlobal; import com.nsgk.agentcentersdk.err.NSErrno; @@ -38,7 +38,7 @@ public final class NSSDKServer } // 解析请求 - public NSReportObject Recv(HttpServletRequest request, Class clazz) + public NSReportObject Recv(HttpServletRequest request, Class clazz) { NSReportObject res; String sign; diff --git a/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/entity/NSContractionEntity.java b/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/message/NSContractionMessage.java similarity index 77% rename from agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/entity/NSContractionEntity.java rename to agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/message/NSContractionMessage.java index 86513a6..05bf876 100644 --- a/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/entity/NSContractionEntity.java +++ b/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/message/NSContractionMessage.java @@ -1,4 +1,4 @@ -package com.nsgk.agentcentersdk.entity; +package com.nsgk.agentcentersdk.message; import lombok.Data; import lombok.experimental.Accessors; @@ -6,7 +6,7 @@ import lombok.experimental.Accessors; // 合同实体 @Data @Accessors(chain = true) -public class NSContractionEntity extends NSEntity +public class NSContractionMessage extends NSMessage { private static final long serialVersionUID = 1L; diff --git a/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/entity/NSEntity.java b/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/message/NSMessage.java similarity index 95% rename from agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/entity/NSEntity.java rename to agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/message/NSMessage.java index 690911d..8845ce7 100644 --- a/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/entity/NSEntity.java +++ b/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/message/NSMessage.java @@ -1,4 +1,4 @@ -package com.nsgk.agentcentersdk.entity; +package com.nsgk.agentcentersdk.message; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollectionUtil; @@ -18,7 +18,7 @@ import java.util.Map; // 基本实体 @Data @Accessors(chain = true) -public class NSEntity implements Serializable +public class NSMessage implements Serializable { private static final long serialVersionUID = 1L; @@ -49,14 +49,14 @@ public class NSEntity implements Serializable } @SuppressWarnings("unchecked") - public T Parm(String name, Object val) + public T Parm(String name, Object val) { PARMS().put(name, val); return (T)this; } @SuppressWarnings("unchecked") - public T DelParm(String...name) + public T DelParm(String...name) { if(null != parms && NSArr.IsNotEmpty(name)) { @@ -132,14 +132,14 @@ public class NSEntity implements Serializable } @SuppressWarnings("unchecked") - public T Add(String name, Object val) + public T Add(String name, Object val) { Set(name, val); return (T)this; } @SuppressWarnings("unchecked") - public T Add_s(String name, Object val) + public T Add_s(String name, Object val) { Set_s(name, val); return (T)this; diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/agentcenter/AgentCenterController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/agentcenter/AgentCenterController.java index aae0d08..b2034be 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/agentcenter/AgentCenterController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/agentcenter/AgentCenterController.java @@ -3,26 +3,19 @@ package com.ruoyi.web.controller.agentcenter; import com.nsgk.agentcentersdk.api.NSApiResult; import com.nsgk.agentcentersdk.api.NSSDK; import com.nsgk.agentcentersdk.api.NSSDKServer; -import com.nsgk.agentcentersdk.core.NSProtocol; import com.nsgk.agentcentersdk.core.NSReportObject; -import com.nsgk.agentcentersdk.entity.NSContractionEntity; -import com.nsgk.agentcentersdk.err.NSErrGlobal; +import com.nsgk.agentcentersdk.message.NSContractionMessage; import com.nsgk.agentcentersdk.err.NSErrno; import com.nsgk.agentcentersdk.err.NSException; -import com.ruoyi.agentcenter.object.ContractionSession; -import com.ruoyi.agentcenter.object.Message; -import com.ruoyi.agentcenter.object.Result; import com.ruoyi.agentcenter.object.Session; import com.ruoyi.agentcenter.service.IAgentCenter; import com.ruoyi.common.config.RuoYiConfig; import com.ruoyi.common.core.controller.BaseController; -import com.ruoyi.common.utils.EventBusEngine; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import javax.servlet.ServletInputStream; import javax.servlet.http.HttpServletRequest; /** @@ -41,26 +34,27 @@ public class AgentCenterController extends BaseController public NSApiResult test(HttpServletRequest request) { NSSDKServer server; - NSReportObject recv; + NSReportObject recv; NSSDK.InitServer(RuoYiConfig.Secret.privateKey); server = NSSDK.InstanceServer(); - recv = server.Recv(request, NSContractionEntity.class); + recv = server.Recv(request, NSContractionMessage.class); return server.Resp(0, "测试成功", recv.getDataStr()); } - @PostMapping("/report") + @PostMapping("/interface") public NSApiResult report(HttpServletRequest request) { NSSDKServer server; + Session session; NSSDK.InitServer(RuoYiConfig.Secret.privateKey); server = NSSDK.InstanceServer(); try { - Result result = agentCenter.postHandle(server, request); - return server.Resp(result.getCode(), result.getMessage(), result.getData()); + session = agentCenter.postHandle(server, request); + return server.Resp(session.result.getCode(), session.result.getMessage(), session.result.getData()); } catch(NSException e) { 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 6e0690e..432f4b7 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 @@ -2,15 +2,12 @@ package com.ruoyi.agentcenter.listener; import cn.hutool.core.lang.Assert; import com.nsgk.agentcentersdk.core.NSProtocol; -import com.nsgk.agentcentersdk.entity.NSContractionEntity; +import com.nsgk.agentcentersdk.message.NSContractionMessage; import com.ruoyi.agentcenter.domain.TAgentContraction; import com.ruoyi.agentcenter.domain.TAgentTask; -import com.ruoyi.agentcenter.object.ContractionSession; -import com.ruoyi.agentcenter.object.Message; -import com.ruoyi.agentcenter.object.Result; +import com.ruoyi.agentcenter.object.Session; import com.ruoyi.agentcenter.service.ITAgentContractionService; import com.ruoyi.agentcenter.service.ITAgentTaskService; -import com.ruoyi.common.core.domain.entity.SysDept; import com.ruoyi.common.utils.handler.CallbackHandler; import com.ruoyi.common.utils.handler.HandlerEngine; import com.ruoyi.common.utils.sql.SqlUtil; @@ -38,34 +35,32 @@ public class ContractionListener } @CallbackHandler(protocol = "" + NSProtocol.NS_PROTOCOL_CONTRACTION) - public void reportContraction(ContractionSession session) + public void reportContraction(Session session) { - TAgentContraction contraction = conv(session.message); - Result result = session.result; + TAgentContraction contraction = conv(session.data); SqlUtil.transaction(() -> { - TAgentTask task = syncTask(session.message.getData(), contraction); + TAgentTask task = syncTask(session.data, contraction); contraction.setTaskId(task.getId()); if(null == contraction.getId()) { itAgentContractionService.insertTAgentContraction(contraction); - result.setMessage("新增合同报账成功"); + session.result.setMessage("新增合同报账成功"); } else { itAgentContractionService.updateTAgentContraction(contraction); - result.setMessage("更新合同报账成功"); + session.result.setMessage("更新合同报账成功"); } }); - result.setData(contraction); + session.result.setData(contraction); } @CallbackHandler(protocol = "" + NSProtocol.NS_PROTOCOL_UPDATE_CONTRACTION) - public void updateContraction(ContractionSession session) + public void updateContraction(Session session) { - NSContractionEntity inContraction = session.message.getData(); - Result result = session.result; + NSContractionMessage inContraction = session.data; TAgentContraction contraction = itAgentContractionService.selectTAgentContraction(new TAgentContraction().setOrgCode(inContraction.getOrgCode()).setOutId(inContraction.getOutId())); Assert.notNull(contraction, "报账合同不存在"); Assert.isTrue(TAgentTask.AGENT_STATUS_PROCESSING.equals(contraction.getAgentStatus()), "报账合同任务未分配"); @@ -77,13 +72,11 @@ public class ContractionListener syncFinishTask(contraction); }); - result.setData(contraction); + session.result.setData(contraction); } - private TAgentContraction conv(Message message) + private TAgentContraction conv(NSContractionMessage data) { - NSContractionEntity data = message.getData(); - TAgentContraction contractionCond = new TAgentContraction(); contractionCond.setOrgCode(data.getOrgCode()) .setOutId(data.getOutId()); @@ -118,7 +111,7 @@ public class ContractionListener return contraction; } - private TAgentTask syncTask(NSContractionEntity entity, TAgentContraction contraction) + private TAgentTask syncTask(NSContractionMessage entity, TAgentContraction contraction) { String orgCode = contraction.getOrgCode(); @@ -140,12 +133,12 @@ public class ContractionListener { String orgCode = contraction.getOrgCode(); - TAgentTask tAgentTask = itAgentTaskService.getTAgentTask(orgCode, contraction.getOrderYear(), contraction.getOrderMonth()); - Assert.notNull(tAgentTask, "{}下{}年{}月无任务", orgCode, contraction.getOrderYear(), contraction.getOrderMonth()); - TAgentTask task = new TAgentTask(); + task.setOrgCode(orgCode) + .setOrderYear(contraction.getOrderYear()) + .setOrderMonth(contraction.getOrderMonth()) + ; task.setFinishCount(1); - task.setId(tAgentTask.getId()); - itAgentTaskService.updateTAgentTaskCount(task); + itAgentTaskService.syncTAgentTaskCount(task); } } diff --git a/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/listener/TestListener.java b/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/listener/TestListener.java index ad1711d..dcf3621 100644 --- a/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/listener/TestListener.java +++ b/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/listener/TestListener.java @@ -1,8 +1,7 @@ package com.ruoyi.agentcenter.listener; import com.google.common.eventbus.Subscribe; -import com.ruoyi.agentcenter.object.Message; -import com.ruoyi.common.utils.EventBusEngine; +import com.ruoyi.agentcenter.object.Session; import org.springframework.stereotype.Component; import javax.annotation.PostConstruct; @@ -18,8 +17,8 @@ public class TestListener @Subscribe //@AllowConcurrentEvents - public void handle(Message msg) + public void handle(Session session) { - System.err.println("LLL " + msg.getData() + " " + Thread.currentThread().getId()); + System.err.println("LLL " + session + " " + Thread.currentThread().getId()); } } diff --git a/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/object/ContractionSession.java b/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/object/ContractionSession.java deleted file mode 100644 index d21b4ca..0000000 --- a/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/object/ContractionSession.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.ruoyi.agentcenter.object; - -import com.nsgk.agentcentersdk.entity.NSContractionEntity; - -public class ContractionSession extends Session> -{ - public ContractionSession(Message message) - { - super(message, new Result<>()); - } -} diff --git a/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/object/Message.java b/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/object/Message.java deleted file mode 100644 index cd8646d..0000000 --- a/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/object/Message.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.ruoyi.agentcenter.object; - -import com.nsgk.agentcentersdk.core.NSProtocol; -import lombok.Data; -import lombok.experimental.Accessors; - -@Data -@Accessors(chain = true) -public class Message -{ - private final int protocol; // 协议 - private final String identifier; // 识别ID - private final Long timestamp; // 客户端时间戳 - private final T data; - - public Message() - { - this.protocol = NSProtocol.NS_PROTOCOL_INVALID; - this.identifier = ""; - this.timestamp = 0L; - this.data = null; - } - - public Message(int protocol, String identifier, Long timestamp, T data) - { - this.protocol = protocol; - this.identifier = identifier; - this.timestamp = timestamp; - this.data = data; - } -} diff --git a/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/object/Result.java b/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/object/Result.java deleted file mode 100644 index ae5a95c..0000000 --- a/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/object/Result.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.ruoyi.agentcenter.object; - -import com.nsgk.agentcentersdk.err.NSErrno; -import lombok.Data; -import lombok.experimental.Accessors; - -@Data -@Accessors(chain = true) -public class Result -{ - private boolean success; - private int code; - private String message; - private R data; - - public boolean IsSuccess() - { - return code == NSErrno.ERRNO_OK; - } -} 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 f5db640..02a818e 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 @@ -1,18 +1,48 @@ package com.ruoyi.agentcenter.object; -public class Session +import com.nsgk.agentcentersdk.err.NSErrno; +import lombok.Data; +import lombok.experimental.Accessors; + +public class Session { - public final Message message; - public final Result result; + public final int protocol; // 协议 + public final String identifier; // 识别ID + public final long timestamp; // 客户端时间戳 + + public final T data; // 客户端数据 + public final Result result; // 处理结果(服务端响应) protected Session() { throw new RuntimeException("Session不能默认实例化"); } - protected Session(Message message, Result result) + public Session(int protocol, String identifier, long timestamp, T data, Result result) { - this.message = message; + this.protocol = protocol; + this.identifier = identifier; + this.timestamp = timestamp; + this.data = data; this.result = result; } + + public Session(int protocol, String identifier, long timestamp, T data) + { + this(protocol, identifier, timestamp, data, new Result()); + } + + @Data + @Accessors(chain = true) + public static class Result + { + private int code; + private String message; + private Object data; + + public boolean IsSuccess() + { + return code == NSErrno.ERRNO_OK; + } + } } diff --git a/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/service/IAgentCenter.java b/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/service/IAgentCenter.java index 11bf7e2..47844c1 100644 --- a/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/service/IAgentCenter.java +++ b/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/service/IAgentCenter.java @@ -1,11 +1,11 @@ package com.ruoyi.agentcenter.service; import com.nsgk.agentcentersdk.api.NSSDKServer; -import com.ruoyi.agentcenter.object.Result; +import com.ruoyi.agentcenter.object.Session; import javax.servlet.http.HttpServletRequest; public interface IAgentCenter { - public Result postHandle(NSSDKServer server, HttpServletRequest request); + public Session postHandle(NSSDKServer server, HttpServletRequest request); } diff --git a/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/service/ITAgentTaskService.java b/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/service/ITAgentTaskService.java index b2c3227..4943a88 100644 --- a/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/service/ITAgentTaskService.java +++ b/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/service/ITAgentTaskService.java @@ -109,4 +109,6 @@ public interface ITAgentTaskService public TAgentTask getTAgentTask(String orgCode, String year, String month, Consumer ifNotExists); public TAgentTask getTAgentTask(String orgCode, String year, String month); + + public int syncTAgentTaskCount(TAgentTask tAgentTask); } 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 15ea73c..d7cc537 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 @@ -4,14 +4,11 @@ import cn.hutool.core.lang.Assert; import com.nsgk.agentcentersdk.api.NSSDKServer; import com.nsgk.agentcentersdk.core.NSProtocol; import com.nsgk.agentcentersdk.core.NSReportObject; -import com.nsgk.agentcentersdk.entity.NSContractionEntity; -import com.nsgk.agentcentersdk.entity.NSEntity; +import com.nsgk.agentcentersdk.message.NSContractionMessage; +import com.nsgk.agentcentersdk.message.NSMessage; import com.nsgk.agentcentersdk.err.NSErrGlobal; import com.nsgk.agentcentersdk.err.NSErrno; import com.nsgk.agentcentersdk.err.NSException; -import com.ruoyi.agentcenter.object.ContractionSession; -import com.ruoyi.agentcenter.object.Message; -import com.ruoyi.agentcenter.object.Result; import com.ruoyi.agentcenter.object.Session; import com.ruoyi.agentcenter.service.IAgentCenter; import com.ruoyi.common.core.domain.entity.SysDept; @@ -39,49 +36,34 @@ public class AgentCenterImpl implements IAgentCenter return protocol; } - public Message getMessage(NSSDKServer server, HttpServletRequest request) + public Session createSession(NSSDKServer server, HttpServletRequest request) { NSReportObject reportObject; - Message message; + Session session; + Class clazz; + int protocol; - int protocol = getProtocol(request); - Class clazz; + protocol = getProtocol(request); switch(protocol) { case NSProtocol.NS_PROTOCOL_CONTRACTION: case NSProtocol.NS_PROTOCOL_UPDATE_CONTRACTION: - clazz = NSContractionEntity.class; + clazz = NSContractionMessage.class; break; default: return null; } reportObject = server.Recv(request, clazz); - message = new Message<>(protocol, reportObject.getIdentifier(), reportObject.getTimestamp(), reportObject.getData()); - return message; - } - public Session createSession(Message message) - { - Session session; - int protocol; + session = new Session<>(protocol, reportObject.getIdentifier(), reportObject.getTimestamp(), reportObject.getData()); - protocol = message.getProtocol(); - switch(protocol) - { - case NSProtocol.NS_PROTOCOL_CONTRACTION: - case NSProtocol.NS_PROTOCOL_UPDATE_CONTRACTION: - session = new ContractionSession((Message) message); - break; - default: - return null; - } return session; } - private void check(Message message, HttpServletRequest request) + private void check(Session session, HttpServletRequest request) { - Assert.notNull(message, "无效消息"); - String identifier = message.getIdentifier(); + Assert.notNull(session, "无效消息"); + String identifier = session.identifier; Assert.notBlank(identifier, "无效客户端标识"); SysDept dept = sysDeptMapper.selectSysDeptByOrgCode(identifier); Assert.notNull(dept, "不支持的地区: {}", identifier); @@ -106,12 +88,13 @@ public class AgentCenterImpl implements IAgentCenter } @Override - public Result postHandle(NSSDKServer server, HttpServletRequest request) + public Session postHandle(NSSDKServer server, HttpServletRequest request) { - Message message = getMessage(server, request); - check(message, request); - Session session = createSession(message); - HandlerEngine.Call("" + message.getProtocol(), session); - return session.result; + Session session; + + session = createSession(server, request); + check(session, request); + HandlerEngine.Call("" + session.protocol, session); + return session; } } diff --git a/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/service/impl/TAgentTaskServiceImpl.java b/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/service/impl/TAgentTaskServiceImpl.java index 303adca..859cb35 100644 --- a/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/service/impl/TAgentTaskServiceImpl.java +++ b/ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/service/impl/TAgentTaskServiceImpl.java @@ -258,4 +258,19 @@ public class TAgentTaskServiceImpl implements ITAgentTaskService return tAgentTaskMapper.selectTAgentTask(task); } + @Override + public int syncTAgentTaskCount(TAgentTask queryTask) + { + TAgentTask dbTask = getTAgentTask(queryTask.getOrgCode(), queryTask.getOrderYear(), queryTask.getOrderMonth()); + Assert.notNull(dbTask, "{}下{}年{}月无任务", queryTask.getOrgCode(), queryTask.getOrderYear(), queryTask.getOrderMonth()); + + TAgentTask updateTask = new TAgentTask(); + updateTask.setId(dbTask.getId()); + updateTask.setFinishCount(queryTask.getFinishCount()) + .setContracCount(queryTask.getContracCount()) + .setAssetCount(queryTask.getAssetCount()) + .setVoucherCount(queryTask.getVoucherCount()) + ; + return updateTAgentTaskCount(updateTask); + } }