From 34b096b2fb176407491d97d4dba16b69f2029367 Mon Sep 17 00:00:00 2001 From: Guoqs <123@jsowell.com> Date: Thu, 21 Nov 2024 19:01:40 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=9F=E8=AE=A1=E6=96=B9=E6=B3=95=E8=80=97?= =?UTF-8?q?=E6=97=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../netty/factory/YKCOperateFactoryV2.java | 17 +++++++++++++---- .../yunkuaichongV2/AbstractYkcHandlerV2.java | 2 ++ ...BillingTemplateValidateRequestHandlerV2.java | 3 ++- .../impl/YKCBusinessServiceImpl.java | 2 +- 4 files changed, 18 insertions(+), 6 deletions(-) diff --git a/jsowell-netty/src/main/java/com/jsowell/netty/factory/YKCOperateFactoryV2.java b/jsowell-netty/src/main/java/com/jsowell/netty/factory/YKCOperateFactoryV2.java index f50eb510e..e09a3e457 100644 --- a/jsowell-netty/src/main/java/com/jsowell/netty/factory/YKCOperateFactoryV2.java +++ b/jsowell-netty/src/main/java/com/jsowell/netty/factory/YKCOperateFactoryV2.java @@ -4,6 +4,7 @@ import com.jsowell.netty.handler.yunkuaichongV2.AbstractYkcHandlerV2; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; +import java.util.HashMap; import java.util.Map; /** @@ -16,6 +17,15 @@ public class YKCOperateFactoryV2 { @Autowired private Map strategyMap; + private static Map operationMap = new HashMap<>(); + + static { + //初始化实现类 + operationMap.put("0x01", "loginRequestHandlerV2"); + operationMap.put("0x05", "billingTemplateValidateRequestHandlerV2"); + // more operators + } + /** * 注册 * @param str @@ -30,10 +40,9 @@ public class YKCOperateFactoryV2 { /** * 获取 - * @param name - * @return */ - public AbstractYkcHandlerV2 getInvokeStrategy(String name) { - return strategyMap.get(name); + public AbstractYkcHandlerV2 getInvokeStrategy(String frameType) { + String s = operationMap.get(frameType); + return strategyMap.get(s); } } diff --git a/jsowell-netty/src/main/java/com/jsowell/netty/handler/yunkuaichongV2/AbstractYkcHandlerV2.java b/jsowell-netty/src/main/java/com/jsowell/netty/handler/yunkuaichongV2/AbstractYkcHandlerV2.java index caea11b12..eee8fa37b 100644 --- a/jsowell-netty/src/main/java/com/jsowell/netty/handler/yunkuaichongV2/AbstractYkcHandlerV2.java +++ b/jsowell-netty/src/main/java/com/jsowell/netty/handler/yunkuaichongV2/AbstractYkcHandlerV2.java @@ -1,6 +1,7 @@ package com.jsowell.netty.handler.yunkuaichongV2; import com.google.common.primitives.Bytes; +import com.jsowell.common.annotation.CostTime; import com.jsowell.common.constant.CacheConstants; import com.jsowell.common.core.domain.ykc.YKCDataProtocol; import com.jsowell.common.core.domain.ykc.YKCFrameTypeCode; @@ -19,6 +20,7 @@ public interface AbstractYkcHandlerV2 { String REQUEST_PREFIX = "Request_"; + byte[] supplyProcess(YKCDataProtocol ykcDataProtocol, ChannelHandlerContext channel); /** diff --git a/jsowell-netty/src/main/java/com/jsowell/netty/handler/yunkuaichongV2/BillingTemplateValidateRequestHandlerV2.java b/jsowell-netty/src/main/java/com/jsowell/netty/handler/yunkuaichongV2/BillingTemplateValidateRequestHandlerV2.java index c4fbc5bba..3dbc1cafa 100644 --- a/jsowell-netty/src/main/java/com/jsowell/netty/handler/yunkuaichongV2/BillingTemplateValidateRequestHandlerV2.java +++ b/jsowell-netty/src/main/java/com/jsowell/netty/handler/yunkuaichongV2/BillingTemplateValidateRequestHandlerV2.java @@ -1,6 +1,7 @@ package com.jsowell.netty.handler.yunkuaichongV2; import com.google.common.primitives.Bytes; +import com.jsowell.common.annotation.CostTime; import com.jsowell.common.constant.Constants; import com.jsowell.common.core.domain.ykc.YKCDataProtocol; import com.jsowell.common.core.domain.ykc.YKCFrameTypeCode; @@ -35,7 +36,7 @@ public class BillingTemplateValidateRequestHandlerV2 implements AbstractYkcHandl // public void afterPropertiesSet() throws Exception { // YKCOperateFactory.register(type, this); // } - + @CostTime @Override public byte[] supplyProcess(YKCDataProtocol ykcDataProtocol, ChannelHandlerContext channel) { // log.info("[===执行计费模板验证请求逻辑===] param:{}, channel:{}", JSON.toJSONString(ykcDataProtocol), channel.toString()); diff --git a/jsowell-netty/src/main/java/com/jsowell/netty/service/yunkuaichong/impl/YKCBusinessServiceImpl.java b/jsowell-netty/src/main/java/com/jsowell/netty/service/yunkuaichong/impl/YKCBusinessServiceImpl.java index ca117a26c..ad7971900 100644 --- a/jsowell-netty/src/main/java/com/jsowell/netty/service/yunkuaichong/impl/YKCBusinessServiceImpl.java +++ b/jsowell-netty/src/main/java/com/jsowell/netty/service/yunkuaichong/impl/YKCBusinessServiceImpl.java @@ -46,7 +46,7 @@ public class YKCBusinessServiceImpl implements YKCBusinessService { String frameType = YKCUtils.frameType2Str(ykcDataProtocol.getFrameType()); // 获取业务处理handler AbstractYkcHandler invokeStrategy = YKCOperateFactory.getInvokeStrategy(frameType); - // AbstractYkcHandlerV2 invokeStrategy = ykcOperateFactoryV2.getInvokeStrategy("loginRequestHandlerV2"); + // AbstractYkcHandlerV2 invokeStrategy = ykcOperateFactoryV2.getInvokeStrategy(frameType); return invokeStrategy.supplyProcess(ykcDataProtocol, ctx); }