package com.supersavedriving.driver.modular.system.util;
|
|
import cn.hutool.http.HttpRequest;
|
import cn.hutool.http.HttpResponse;
|
import cn.hutool.http.HttpUtil;
|
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSONObject;
|
import com.supersavedriving.driver.modular.system.warpper.PushCheckOrderInfoWarpper;
|
import com.supersavedriving.driver.modular.system.warpper.PushOrderInfoWarpper;
|
import org.slf4j.Logger;
|
import org.slf4j.LoggerFactory;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.http.HttpEntity;
|
import org.springframework.http.HttpHeaders;
|
import org.springframework.http.MediaType;
|
import org.springframework.stereotype.Component;
|
import org.springframework.util.LinkedMultiValueMap;
|
import org.springframework.util.MultiValueMap;
|
import org.springframework.web.client.RestTemplate;
|
|
import java.util.*;
|
|
/**
|
* socket推单处理类
|
*/
|
@Component
|
public class PushUtil {
|
|
Logger logger = LoggerFactory.getLogger("ServiceLog");
|
|
private final String socket_uri = "http://192.168.110.85:6000";
|
|
|
|
/**
|
* 推送强迫下线
|
* @param id
|
* @param type
|
*/
|
public Integer pushOffline(Integer id, Integer type){
|
JSONObject msg = new JSONObject();
|
msg.put("code", 200);
|
msg.put("msg", "SUCCESS");
|
msg.put("method", "OFFLINE");
|
msg.put("data", new Object());
|
|
//调用推送
|
HttpRequest post = HttpUtil.createPost(socket_uri + "/netty/sendMsgToClient");
|
post.header("Content-Type", MediaType.APPLICATION_FORM_URLENCODED_VALUE);
|
//将请求头部和参数合成一个请求
|
Map<String, Object> params = new HashMap<>();
|
params.put("msg", msg.toJSONString());
|
params.put("id", id.toString());
|
params.put("type", type.toString());
|
post.form(params);
|
HttpResponse execute = post.execute();
|
if (200 != execute.getStatus()) {
|
System.err.println("推送异常");
|
}else{
|
JSONObject jsonObject1 = JSON.parseObject(execute.body(), JSONObject.class);
|
if(jsonObject1.getIntValue("code") != 200){
|
logger.debug(jsonObject1.getString("msg"));
|
System.err.println(jsonObject1.getString("msg"));
|
}
|
}
|
return 200;
|
}
|
|
|
/**
|
* 下班提醒
|
* @param id
|
* @param type
|
*/
|
public void pushOffWork(Integer id, Integer type){
|
JSONObject msg = new JSONObject();
|
msg.put("code", 200);
|
msg.put("msg", "SUCCESS");
|
msg.put("method", "OFF_WORK");
|
msg.put("data", new Object());
|
|
//调用推送
|
HttpRequest post = HttpUtil.createPost(socket_uri + "/netty/sendMsgToClient");
|
post.header("Content-Type", MediaType.APPLICATION_FORM_URLENCODED_VALUE);
|
//将请求头部和参数合成一个请求
|
Map<String, Object> params = new HashMap<>();
|
params.put("msg", msg.toJSONString());
|
params.put("id", id.toString());
|
params.put("type", type.toString());
|
post.form(params);
|
HttpResponse execute = post.execute();
|
if (200 != execute.getStatus()) {
|
System.err.println("推送异常");
|
}else{
|
JSONObject jsonObject1 = JSON.parseObject(execute.body(), JSONObject.class);
|
if(jsonObject1.getIntValue("code") != 200){
|
logger.debug(jsonObject1.getString("msg"));
|
System.err.println(jsonObject1.getString("msg"));
|
}
|
}
|
}
|
|
|
/**
|
* 推送订单状态
|
* @param id
|
* @param type
|
* @param orderId
|
* @param status
|
*/
|
public void pushOrderStatus(Integer id, Integer type, Long orderId, Integer status){
|
JSONObject msg = new JSONObject();
|
msg.put("code", 200);
|
msg.put("msg", "SUCCESS");
|
msg.put("method", "ORDER_STATUS");
|
|
Map<String, Object> map = new HashMap<>();
|
map.put("orderId", orderId);
|
map.put("status", status);
|
|
msg.put("data", map);
|
|
//调用推送
|
HttpRequest post = HttpUtil.createPost(socket_uri + "/netty/sendMsgToClient");
|
post.header("Content-Type", MediaType.APPLICATION_FORM_URLENCODED_VALUE);
|
//将请求头部和参数合成一个请求
|
Map<String, Object> params = new HashMap<>();
|
params.put("msg", msg.toJSONString());
|
params.put("id", id.toString());
|
params.put("type", type.toString());
|
post.form(params);
|
HttpResponse execute = post.execute();
|
if (200 != execute.getStatus()) {
|
System.err.println("推送异常");
|
}else{
|
JSONObject jsonObject1 = JSON.parseObject(execute.body(), JSONObject.class);
|
if(jsonObject1.getIntValue("code") != 200){
|
logger.debug(jsonObject1.getString("msg"));
|
System.err.println(jsonObject1.getString("msg"));
|
}
|
}
|
}
|
|
|
|
|
public void pushCheckOrderStatus(Integer id, Integer type, Integer orderId, Integer status){
|
JSONObject msg = new JSONObject();
|
msg.put("code", 200);
|
msg.put("msg", "SUCCESS");
|
msg.put("method", "CHECK_ORDER_STATUS");
|
|
Map<String, Object> map = new HashMap<>();
|
map.put("orderId", orderId);
|
map.put("status", status);
|
map.put("orderType", 1);
|
|
msg.put("data", map);
|
|
//调用推送
|
HttpRequest post = HttpUtil.createPost(socket_uri + "/netty/sendMsgToClient");
|
post.header("Content-Type", MediaType.APPLICATION_FORM_URLENCODED_VALUE);
|
//将请求头部和参数合成一个请求
|
Map<String, Object> params = new HashMap<>();
|
params.put("msg", msg.toJSONString());
|
params.put("id", id.toString());
|
params.put("type", type.toString());
|
post.form(params);
|
HttpResponse execute = post.execute();
|
if (200 != execute.getStatus()) {
|
System.err.println("推送异常");
|
}else{
|
JSONObject jsonObject1 = JSON.parseObject(execute.body(), JSONObject.class);
|
if(jsonObject1.getIntValue("code") != 200){
|
logger.debug(jsonObject1.getString("msg"));
|
System.err.println(jsonObject1.getString("msg"));
|
}
|
}
|
}
|
|
|
/**
|
* 系统推单推送
|
* @param id 接受对象id
|
* @param type 接受对象类型(1=用户,2=司机)
|
* @param orderId 订单id
|
* @param countdown 抢单倒计时(秒)
|
*/
|
public void pushGrabOrder(Integer id, Integer type, Long orderId, Integer countdown){
|
JSONObject msg = new JSONObject();
|
msg.put("code", 200);
|
msg.put("msg", "SUCCESS");
|
msg.put("method", "GRAB_ORDER");
|
|
Map<String, Object> map = new HashMap<>();
|
map.put("orderId", orderId);
|
map.put("countdown", countdown);
|
|
msg.put("data", map);
|
|
//调用推送
|
HttpRequest post = HttpUtil.createPost(socket_uri + "/netty/sendMsgToClient");
|
post.header("Content-Type", MediaType.APPLICATION_FORM_URLENCODED_VALUE);
|
//将请求头部和参数合成一个请求
|
Map<String, Object> params = new HashMap<>();
|
params.put("msg", msg.toJSONString());
|
params.put("id", id.toString());
|
params.put("type", type.toString());
|
post.form(params);
|
HttpResponse execute = post.execute();
|
if (200 != execute.getStatus()) {
|
System.err.println("推送异常");
|
}else{
|
JSONObject jsonObject1 = JSON.parseObject(execute.body(), JSONObject.class);
|
if(jsonObject1.getIntValue("code") != 200){
|
logger.debug(jsonObject1.getString("msg"));
|
System.err.println(jsonObject1.getString("msg"));
|
}
|
}
|
}
|
|
|
|
/**
|
* 系统推单推送 附加(防止 用户推单后,范围内的司机20s 内接不到单的补充方法)
|
* @param id 接受对象id
|
* @param type 接受对象类型(1=用户,2=司机)
|
*/
|
public void pushGrabOrderExtras(Integer id, Integer type){
|
JSONObject msg = new JSONObject();
|
msg.put("code", 200);
|
msg.put("msg", "SUCCESS");
|
msg.put("method", "PUSH_ORDER");
|
|
Map<String, Object> map = new HashMap<>();
|
msg.put("data", map);
|
|
//调用推送
|
HttpRequest post = HttpUtil.createPost(socket_uri + "/netty/sendMsgToClient");
|
post.header("Content-Type", MediaType.APPLICATION_FORM_URLENCODED_VALUE);
|
//将请求头部和参数合成一个请求
|
Map<String, Object> params = new HashMap<>();
|
params.put("msg", msg.toJSONString());
|
params.put("id", id.toString());
|
params.put("type", type.toString());
|
post.form(params);
|
HttpResponse execute = post.execute();
|
if (200 != execute.getStatus()) {
|
System.err.println("推送异常");
|
}else{
|
JSONObject jsonObject1 = JSON.parseObject(execute.body(), JSONObject.class);
|
if(jsonObject1.getIntValue("code") != 200){
|
logger.debug(jsonObject1.getString("msg"));
|
System.err.println(jsonObject1.getString("msg"));
|
}
|
}
|
}
|
|
|
|
|
|
/**
|
* 推送订单数据
|
* @param id
|
* @param type
|
* @param pushOrderInfoWarpper
|
*/
|
public void pushOrderInfo(Integer id, Integer type, PushOrderInfoWarpper pushOrderInfoWarpper){
|
JSONObject msg = new JSONObject();
|
msg.put("code", 200);
|
msg.put("msg", "SUCCESS");
|
msg.put("method", "ORDER_INFO");
|
msg.put("data", pushOrderInfoWarpper);
|
|
//调用推送
|
HttpRequest post = HttpUtil.createPost(socket_uri + "/netty/sendMsgToClient");
|
post.header("Content-Type", MediaType.APPLICATION_FORM_URLENCODED_VALUE);
|
//将请求头部和参数合成一个请求
|
Map<String, Object> params = new HashMap<>();
|
params.put("msg", msg.toJSONString());
|
params.put("id", id.toString());
|
params.put("type", type.toString());
|
post.form(params);
|
HttpResponse execute = post.execute();
|
if (200 != execute.getStatus()) {
|
System.err.println("推送异常");
|
}else{
|
JSONObject jsonObject1 = JSON.parseObject(execute.body(), JSONObject.class);
|
if(jsonObject1.getIntValue("code") != 200){
|
logger.debug(jsonObject1.getString("msg"));
|
System.err.println(jsonObject1.getString("msg"));
|
}
|
}
|
}
|
|
/**
|
* 推送订单数据
|
* @param id
|
* @param type
|
* @param pushCheckOrderInfoWarpper
|
*/
|
public void pushCheckOrderInfo(Integer id, Integer type, PushCheckOrderInfoWarpper pushCheckOrderInfoWarpper){
|
JSONObject msg = new JSONObject();
|
msg.put("code", 200);
|
msg.put("msg", "SUCCESS");
|
msg.put("method", "ORDER_INFO_CHECK");
|
msg.put("data", pushCheckOrderInfoWarpper);
|
|
//调用推送
|
HttpRequest post = HttpUtil.createPost(socket_uri + "/netty/sendMsgToClient");
|
post.header("Content-Type", MediaType.APPLICATION_FORM_URLENCODED_VALUE);
|
//将请求头部和参数合成一个请求
|
Map<String, Object> params = new HashMap<>();
|
params.put("msg", msg.toJSONString());
|
params.put("id", id.toString());
|
params.put("type", type.toString());
|
post.form(params);
|
HttpResponse execute = post.execute();
|
if (200 != execute.getStatus()) {
|
System.err.println("推送异常");
|
}else{
|
JSONObject jsonObject1 = JSON.parseObject(execute.body(), JSONObject.class);
|
if(jsonObject1.getIntValue("code") != 200){
|
logger.debug(jsonObject1.getString("msg"));
|
System.err.println(jsonObject1.getString("msg"));
|
}
|
}
|
}
|
|
|
/**
|
* 转单成功推送
|
* @param id
|
* @param type
|
*/
|
public void pushTransferSuccessful(Integer id, Integer type, Long orderId){
|
JSONObject msg = new JSONObject();
|
msg.put("code", 200);
|
msg.put("msg", "SUCCESS");
|
msg.put("method", "TRANSFER_SUCCESS");
|
Map<String, Object> map = new HashMap<>();
|
|
map.put("orderId", orderId);
|
msg.put("data", map);
|
|
//调用推送
|
HttpRequest post = HttpUtil.createPost(socket_uri + "/netty/sendMsgToClient");
|
post.header("Content-Type", MediaType.APPLICATION_FORM_URLENCODED_VALUE);
|
//将请求头部和参数合成一个请求
|
Map<String, Object> params = new HashMap<>();
|
params.put("msg", msg.toJSONString());
|
params.put("id", id.toString());
|
params.put("type", type.toString());
|
post.form(params);
|
HttpResponse execute = post.execute();
|
if (200 != execute.getStatus()) {
|
System.err.println("推送异常");
|
}else{
|
JSONObject jsonObject1 = JSON.parseObject(execute.body(), JSONObject.class);
|
if(jsonObject1.getIntValue("code") != 200){
|
logger.debug(jsonObject1.getString("msg"));
|
System.err.println(jsonObject1.getString("msg"));
|
}
|
}
|
}
|
|
|
/**
|
* 提醒开始服务推送
|
* @param id
|
* @param type
|
*/
|
public void pushStartServer(Integer id, Integer type){
|
Map<String, Object> map = new HashMap<>();
|
JSONObject msg = new JSONObject();
|
msg.put("code", 200);
|
msg.put("msg", "SUCCESS");
|
msg.put("method", "START_SERVER");
|
msg.put("data", map);
|
|
//调用推送
|
HttpRequest post = HttpUtil.createPost(socket_uri + "/netty/sendMsgToClient");
|
post.header("Content-Type", MediaType.APPLICATION_FORM_URLENCODED_VALUE);
|
//将请求头部和参数合成一个请求
|
Map<String, Object> params = new HashMap<>();
|
params.put("msg", msg.toJSONString());
|
params.put("id", id.toString());
|
params.put("type", type.toString());
|
post.form(params);
|
HttpResponse execute = post.execute();
|
if (200 != execute.getStatus()) {
|
System.err.println("推送异常");
|
}else{
|
JSONObject jsonObject1 = JSON.parseObject(execute.body(), JSONObject.class);
|
if(jsonObject1.getIntValue("code") != 200){
|
logger.debug(jsonObject1.getString("msg"));
|
System.err.println(jsonObject1.getString("msg"));
|
}
|
}
|
}
|
|
|
|
public void pushChangeServer(Integer id, Integer type){
|
Map<String, Object> map = new HashMap<>();
|
JSONObject msg = new JSONObject();
|
msg.put("code", 200);
|
msg.put("msg", "SUCCESS");
|
msg.put("method", "CHANGE_SERVER");
|
msg.put("data", map);
|
|
//调用推送
|
HttpRequest post = HttpUtil.createPost(socket_uri + "/netty/sendMsgToClient");
|
post.header("Content-Type", MediaType.APPLICATION_FORM_URLENCODED_VALUE);
|
//将请求头部和参数合成一个请求
|
Map<String, Object> params = new HashMap<>();
|
params.put("msg", msg.toJSONString());
|
params.put("id", id.toString());
|
params.put("type", type.toString());
|
post.form(params);
|
HttpResponse execute = post.execute();
|
if (200 != execute.getStatus()) {
|
System.err.println("推送异常");
|
}else{
|
JSONObject jsonObject1 = JSON.parseObject(execute.body(), JSONObject.class);
|
if(jsonObject1.getIntValue("code") != 200){
|
logger.debug(jsonObject1.getString("msg"));
|
System.err.println(jsonObject1.getString("msg"));
|
}
|
}
|
}
|
}
|