| package com.sinata.zuul.controller; | 
|   | 
|   | 
| import com.alibaba.fastjson.JSON; | 
| import com.sinata.zuul.util.ResultUtil; | 
| import com.sinata.zuul.util.applets.NettyWebSocketController; | 
| import com.sinata.zuul.util.echo.NettyChannelMap; | 
| import com.sinata.zuul.util.echo.NettyServerController; | 
| import io.netty.channel.ChannelHandlerContext; | 
| import org.springframework.web.bind.annotation.PostMapping; | 
| import org.springframework.web.bind.annotation.RequestMapping; | 
| import org.springframework.web.bind.annotation.ResponseBody; | 
| import org.springframework.web.bind.annotation.RestController; | 
|   | 
| @RestController | 
| @RequestMapping("/netty") | 
| public class NettyController { | 
|   | 
|   | 
|     /** | 
|      * 向客户端推送消息 | 
|      * @param id | 
|      * @param msg | 
|      */ | 
|     @ResponseBody | 
|     @PostMapping("/sendMsgToClient") | 
|     public String sendMsgToClient(Integer id, Integer type, String msg){ | 
|         if(type == 1){//用户端 | 
|             ChannelHandlerContext channel = NettyChannelMap.getData("Applets" + id);//小程序 | 
|             if(null != channel){ | 
|                 NettyWebSocketController.sendMsgToClient(channel, msg); | 
|                 return JSON.toJSONString(ResultUtil.success()); | 
|             } | 
|             channel = NettyChannelMap.getData("USER" + id); | 
|             if(null != channel){ | 
|                 NettyServerController.sendMsgToClient(channel, msg); | 
|                 return JSON.toJSONString(ResultUtil.success()); | 
|             } | 
|             return JSON.toJSONString(ResultUtil.error("推送失败-----用户id=" + id)); | 
|   | 
|         } | 
|   | 
|         if(type == 2){//司机端 | 
|             ChannelHandlerContext channel = NettyChannelMap.getData("DRIVER" + id); | 
|             if(null != channel){ | 
|                 NettyServerController.sendMsgToClient(channel, msg); | 
|                 return JSON.toJSONString(ResultUtil.success()); | 
|             } | 
|             return JSON.toJSONString(ResultUtil.error("推送失败-----司机id=" + id)); | 
|         } | 
|   | 
|         return JSON.toJSONString(ResultUtil.error("推送失败")); | 
|     } | 
| } |