From 3985fbaef190b95d71ec458993fd58a527239045 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Wed, 26 May 2021 20:14:01 +0800 Subject: [PATCH] modify --- src/main/java/com/xcong/excoin/netty/dispatch/MsgDispatch.java | 28 ++++++++++++++++------------ 1 files changed, 16 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/xcong/excoin/netty/dispatch/MsgDispatch.java b/src/main/java/com/xcong/excoin/netty/dispatch/MsgDispatch.java index 9a296df..9742e1a 100644 --- a/src/main/java/com/xcong/excoin/netty/dispatch/MsgDispatch.java +++ b/src/main/java/com/xcong/excoin/netty/dispatch/MsgDispatch.java @@ -1,9 +1,14 @@ package com.xcong.excoin.netty.dispatch; +import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONObject; import com.xcong.excoin.netty.bean.RequestBean; +import com.xcong.excoin.netty.bean.ResponseBean; +import com.xcong.excoin.netty.common.ChannelManager; +import com.xcong.excoin.netty.common.Contans; import com.xcong.excoin.netty.common.NettyTools; import com.xcong.excoin.netty.logic.MsgLogic; +import io.netty.channel.Channel; import io.netty.channel.ChannelHandlerContext; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeansException; @@ -19,27 +24,26 @@ */ @Slf4j @Component("msgDispatch") -public class MsgDispatch implements ApplicationContextAware { - - private ApplicationContext applicationContext; +public class MsgDispatch { @Autowired private MsgLogic msgLogic; public void webSocketDispatch(ChannelHandlerContext ctx, String msg) { - log.info("==========={}", msg); - RequestBean requestBean = null; + RequestBean requestBean = JSONObject.parseObject(msg, RequestBean.class); + + // 判断当前通道用户是否已经登陆 + if (StrUtil.isEmpty(ChannelManager.findWsMemberId(ctx.channel())) && requestBean.getType() != Contans.AUTH_CHECK) { + ctx.channel().writeAndFlush(NettyTools.webSocketBytes("123")); + return; + } + try { + requestBean.setChannelId(ctx.channel().id().asShortText()); msgLogic.webSocketMsgLogic(requestBean); } catch (Exception e) { log.info("#websocket json error:{}#", e); - ctx.channel().writeAndFlush(NettyTools.webSocketBytes("params error")); + ctx.channel().writeAndFlush(NettyTools.wsSendMsg(ResponseBean.fail())); } - } - - - @Override - public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { - this.applicationContext = applicationContext; } } -- Gitblit v1.9.1