From 92e00dafd06ec748b51f565c7a4c98986a618de9 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期六, 03 六月 2023 02:01:40 +0800
Subject: [PATCH] 新增加分账功能

---
 driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/util/PushUtil.java |  183 +++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 175 insertions(+), 8 deletions(-)

diff --git a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/util/PushUtil.java b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/util/PushUtil.java
index 2ead1b1..91ff011 100644
--- a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/util/PushUtil.java
+++ b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/util/PushUtil.java
@@ -2,6 +2,9 @@
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
+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;
@@ -19,15 +22,10 @@
 @Component
 public class PushUtil {
 
+    Logger logger = LoggerFactory.getLogger("ServiceLog");
+
     @Autowired
     private RestTemplate internalRestTemplate;
-
-    @Autowired
-    private RedisUtil redisUtil;
-
-    private Map<String, JSONObject> pushMap = new HashMap<>();//存储需要定时推送的数据
-
-    private Map<String, Timer> taskMap = new HashMap<>();//存储定时推送的定时器
 
 
 
@@ -36,7 +34,7 @@
      * @param id
      * @param type
      */
-    public void pushOffline(Integer id, Integer type){
+    public Integer pushOffline(Integer id, Integer type){
         JSONObject msg = new JSONObject();
         msg.put("code", 200);
         msg.put("msg", "SUCCESS");
@@ -55,10 +53,179 @@
         HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(params, headers);
         String s = internalRestTemplate.postForObject("http://zuul-gateway/netty/sendMsgToClient",requestEntity , String.class);
         JSONObject jsonObject1 = JSON.parseObject(s, JSONObject.class);
+        return jsonObject1.getIntValue("code");
+    }
+
+
+    /**
+     * 下班提醒
+     * @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());
+
+        //调用推送
+        HttpHeaders headers = new HttpHeaders();
+        // 以表单的方式提交
+        headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
+        //将请求头部和参数合成一个请求
+        MultiValueMap<String, Object> params = new LinkedMultiValueMap<>();
+        params.add("msg", msg.toJSONString());
+        params.add("id", id.toString());
+        params.add("type", type.toString());
+        HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(params, headers);
+        String s = internalRestTemplate.postForObject("http://zuul-gateway/netty/sendMsgToClient",requestEntity , String.class);
+        JSONObject jsonObject1 = JSON.parseObject(s, 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);
+
+        //调用推送
+        HttpHeaders headers = new HttpHeaders();
+        // 以表单的方式提交
+        headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
+        //将请求头部和参数合成一个请求
+        MultiValueMap<String, Object> params = new LinkedMultiValueMap<>();
+        params.add("msg", msg.toJSONString());
+        params.add("id", id.toString());
+        params.add("type", type.toString());
+        HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(params, headers);
+        String s = internalRestTemplate.postForObject("http://zuul-gateway/netty/sendMsgToClient",requestEntity , String.class);
+        JSONObject jsonObject1 = JSON.parseObject(s, 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);
+
+        //调用推送
+        HttpHeaders headers = new HttpHeaders();
+        // 以表单的方式提交
+        headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
+        //将请求头部和参数合成一个请求
+        MultiValueMap<String, Object> params = new LinkedMultiValueMap<>();
+        params.add("msg", msg.toJSONString());
+        params.add("id", id.toString());
+        params.add("type", type.toString());
+        HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(params, headers);
+        String s = internalRestTemplate.postForObject("http://zuul-gateway/netty/sendMsgToClient",requestEntity , String.class);
+        JSONObject jsonObject1 = JSON.parseObject(s, 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);
+
+        //调用推送
+        HttpHeaders headers = new HttpHeaders();
+        // 以表单的方式提交
+        headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
+        //将请求头部和参数合成一个请求
+        MultiValueMap<String, Object> params = new LinkedMultiValueMap<>();
+        params.add("msg", msg.toJSONString());
+        params.add("id", id.toString());
+        params.add("type", type.toString());
+        HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(params, headers);
+        String s = internalRestTemplate.postForObject("http://zuul-gateway/netty/sendMsgToClient",requestEntity , String.class);
+        JSONObject jsonObject1 = JSON.parseObject(s, 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);
+
+        //调用推送
+        HttpHeaders headers = new HttpHeaders();
+        // 以表单的方式提交
+        headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
+        //将请求头部和参数合成一个请求
+        MultiValueMap<String, Object> params = new LinkedMultiValueMap<>();
+        params.add("msg", msg.toJSONString());
+        params.add("id", id.toString());
+        params.add("type", type.toString());
+        HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(params, headers);
+        String s = internalRestTemplate.postForObject("http://zuul-gateway/netty/sendMsgToClient",requestEntity , String.class);
+        JSONObject jsonObject1 = JSON.parseObject(s, JSONObject.class);
+        if(jsonObject1.getIntValue("code") != 200){
+            logger.debug(jsonObject1.getString("msg"));
+            System.err.println(jsonObject1.getString("msg"));
+        }
+    }
 }

--
Gitblit v1.7.1