package com.sinata.push.controller;
|
|
|
import com.alibaba.fastjson.JSON;
|
import com.sinata.push.util.ResultUtil;
|
import com.sinata.push.util.applets.NettyWebSocketController;
|
import com.sinata.push.util.echo.NettyChannelMap;
|
import com.sinata.push.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("推送失败"));
|
}
|
}
|