From 9d5309c820d525b46e65490475957b641707db51 Mon Sep 17 00:00:00 2001
From: liujie <liujie>
Date: 星期三, 16 八月 2023 15:57:05 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 user/guns-admin/src/main/java/com/supersavedriving/user/modular/system/warpper/PushOrderInfoWarpper.java              |    2 
 driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/util/PushUtil.java                         |   32 ++++++++++
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/PushOrderInfoWarpper.java               |   26 ++++++++
 driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/api/OrderController.java                   |   17 +++++
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushURL.java                               |    2 
 driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/OrderPositionServiceImpl.java |   15 +++++
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TOrderController.java        |   30 ++++++++-
 driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/warpper/PushOrderInfoWarpper.java          |    2 
 user/guns-admin/src/main/java/com/supersavedriving/user/modular/system/service/impl/OrderServiceImpl.java             |    1 
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TAgent.java                               |   27 +++++++++
 10 files changed, 149 insertions(+), 5 deletions(-)

diff --git a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/api/OrderController.java b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/api/OrderController.java
index 78592c1..29c57b5 100644
--- a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/api/OrderController.java
+++ b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/api/OrderController.java
@@ -12,6 +12,7 @@
 import com.supersavedriving.driver.modular.system.util.MallBook.model.ReceiveUser;
 import com.supersavedriving.driver.modular.system.util.MallBook.util.RSASignature;
 import com.supersavedriving.driver.modular.system.util.MallBook.util.TrhRequest;
+import com.supersavedriving.driver.modular.system.util.PushUtil;
 import com.supersavedriving.driver.modular.system.util.rongyun.RongYunUtil;
 import com.supersavedriving.driver.modular.system.util.rongyun.model.CloudRecordingCallback;
 import com.supersavedriving.driver.modular.system.warpper.*;
@@ -62,6 +63,9 @@
 
     @Autowired
     private IDivisionRecordService divisionRecordService;
+
+    @Autowired
+    private PushUtil pushUtil;
 
 
 
@@ -644,4 +648,17 @@
             e.printStackTrace();
         }
     }
+
+
+    /**
+     * 管理后台调用推送
+     * @param id
+     * @param type
+     * @param pushOrderInfoWarpper
+     */
+    @ResponseBody
+    @PostMapping("/base/order/pushOrderInfo")
+    public void pushOrderInfo(Integer id, Integer type, PushOrderInfoWarpper pushOrderInfoWarpper){
+        pushUtil.pushOrderInfo(id, type, pushOrderInfoWarpper);
+    }
 }
diff --git a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/OrderPositionServiceImpl.java b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/OrderPositionServiceImpl.java
index 00b1cd2..4ee5ef9 100644
--- a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/OrderPositionServiceImpl.java
+++ b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/OrderPositionServiceImpl.java
@@ -7,6 +7,7 @@
 import com.supersavedriving.driver.modular.system.model.Order;
 import com.supersavedriving.driver.modular.system.service.IOrderService;
 import com.supersavedriving.driver.modular.system.util.GeodesyUtil;
+import com.supersavedriving.driver.modular.system.util.PushUtil;
 import com.supersavedriving.driver.modular.system.util.RedisUtil;
 import com.supersavedriving.driver.modular.system.warpper.DriverPositionWarpper;
 import com.supersavedriving.driver.modular.system.warpper.OrderPositionWarpper;
@@ -34,6 +35,9 @@
     @Autowired
     private IOrderService orderService;
 
+    @Autowired
+    private PushUtil pushUtil;
+
     private Map<String, Integer> map = new HashMap<>();
 
 
@@ -53,6 +57,17 @@
         if(null == order.getDriverId() || order.getDriverId().compareTo(driverId) != 0){
             return;
         }
+        //开始服务提醒
+        if(order.getState() == 104){
+            String fromLonLat = order.getStartLng() + "," + order.getStartLat();
+            String toLonLat = driverPositionWarpper.getLon() + "," + driverPositionWarpper.getLat();
+            Map<String, Double> distance = GeodesyUtil.getDistance(fromLonLat, toLonLat);
+            Double wgs84 = distance.get("WGS84");
+            if(wgs84.compareTo(200D) >= 0){
+                pushUtil.pushStartServer(2, driverId);
+            }
+        }
+
         if(order.getState() != 105 && order.getState() != 401){
             return;
         }
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 78fa9da..c49b452 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
@@ -265,4 +265,36 @@
             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);
+
+        //调用推送
+        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"));
+        }
+    }
 }
diff --git a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/warpper/PushOrderInfoWarpper.java b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/warpper/PushOrderInfoWarpper.java
index c280051..29b8571 100644
--- a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/warpper/PushOrderInfoWarpper.java
+++ b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/warpper/PushOrderInfoWarpper.java
@@ -21,4 +21,6 @@
     private String travelTime;
     @ApiModelProperty("101=待接单,102=已接单,103=前往预约点,104=到达预约点,105=开始服务,106=到达目的地,107=待支付,108=待评价,109=已完成,201=转单中,301=已取消,401=等待中")
     private Integer state;
+    @ApiModelProperty("取消方(1=用户,2=司机,3=平台)")
+    private Integer cancelObject;
 }
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TOrderController.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TOrderController.java
index 764e5ff..0ae9820 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TOrderController.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TOrderController.java
@@ -2,6 +2,7 @@
 
 import cn.hutool.core.date.DateUnit;
 import cn.hutool.core.date.DateUtil;
+import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.stylefeng.guns.core.base.controller.BaseController;
@@ -21,8 +22,11 @@
 import com.stylefeng.guns.modular.system.service.ITCancelOrderService;
 import com.stylefeng.guns.modular.system.service.ITDriverService;
 import com.stylefeng.guns.modular.system.service.ITOrderService;
+import com.stylefeng.guns.modular.system.util.HttpRequestUtil;
+import com.stylefeng.guns.modular.system.util.PushURL;
 import com.stylefeng.guns.modular.system.util.RedisUtil;
 import com.stylefeng.guns.modular.system.util.ResultUtil;
+import com.stylefeng.guns.modular.system.warpper.PushOrderInfoWarpper;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
@@ -42,10 +46,7 @@
 import java.math.BigDecimal;
 import java.text.DateFormat;
 import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Objects;
+import java.util.*;
 
 /**
  * 控制器
@@ -291,6 +292,27 @@
             tDriver.setServerStatus(1);
             driverService.updateById(tDriver);
         }
+
+        Map<String, String> map = new HashMap<>();
+        map.put("id", tOrder.getUserId().toString());
+        map.put("type", "1");
+        PushOrderInfoWarpper pushOrderInfoWarpper = new PushOrderInfoWarpper();
+        pushOrderInfoWarpper.setId(tOrder.getId().longValue());
+        pushOrderInfoWarpper.setState(tOrder.getState());
+        pushOrderInfoWarpper.setCancelObject(3);
+        map.put("pushOrderInfoWarpper", JSON.toJSONString(pushOrderInfoWarpper));
+        String result = HttpRequestUtil.postRequest(PushURL.order_push_url, map);
+        if(null != tOrder.getDriverId()){
+            map = new HashMap<>();
+            map.put("id", tOrder.getDriverId().toString());
+            map.put("type", "1");
+            PushOrderInfoWarpper pushOrderInfoWarpper1 = new PushOrderInfoWarpper();
+            pushOrderInfoWarpper1.setId(tOrder.getId().longValue());
+            pushOrderInfoWarpper1.setState(tOrder.getState());
+            pushOrderInfoWarpper1.setCancelObject(3);
+            map.put("pushOrderInfoWarpper", JSON.toJSONString(pushOrderInfoWarpper1));
+            result = HttpRequestUtil.postRequest(PushURL.order_push_url, map);
+        }
         redisUtil.setStrValue("cancelOrder", "true");
         return SUCCESS_TIP;
     }
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TAgent.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TAgent.java
index 8d3090d..db8e4b7 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TAgent.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TAgent.java
@@ -31,46 +31,57 @@
     /**
      * 负责人姓名
      */
+    @TableField(value = "principal")
     private String principal;
     /**
      * 负责人电话
      */
+    @TableField(value = "principalPhone")
     private String principalPhone;
     /**
      * 邮箱
      */
+    @TableField(value = "email")
     private String email;
     /**
      * 代理区域省编号
      */
+    @TableField(value = "provinceCode")
     private String provinceCode;
     /**
      * 代理区域省名称
      */
+    @TableField(value = "provinceName")
     private String provinceName;
     /**
      * 代理区域市编号
      */
+    @TableField(value = "cityCode")
     private String cityCode;
     /**
      * 代理区域市名称
      */
+    @TableField(value = "cityName")
     private String cityName;
     /**
      * 代理区域区编号
      */
+    @TableField(value = "districtCode")
     private String districtCode;
     /**
      * 代理区域区名称
      */
+    @TableField(value = "districtName")
     private String districtName;
     /**
      * 状态(1=正常,2=冻结,3=删除)
      */
+    @TableField(value = "status")
     private Integer status;
     /**
      * 添加时间
      */
+    @TableField(value = "createTime")
     private Date createTime;
     @TableField(value = "serviceCalls")
     @ApiModelProperty(value = "客服电话")
@@ -539,6 +550,22 @@
         this.bankStatus = bankStatus;
     }
 
+    public String getDistrictCode() {
+        return districtCode;
+    }
+
+    public void setDistrictCode(String districtCode) {
+        this.districtCode = districtCode;
+    }
+
+    public String getDistrictName() {
+        return districtName;
+    }
+
+    public void setDistrictName(String districtName) {
+        this.districtName = districtName;
+    }
+
     @Override
     protected Serializable pkVal() {
         return this.id;
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushURL.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushURL.java
index fac63ae..f8e1dfa 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushURL.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushURL.java
@@ -3,7 +3,7 @@
 public class PushURL {
 //    public static String zull_user_url = "http://127.0.0.1:81";
     public static String zull_user_url = "https://okyueche.com:443";
-    public static String order_push_url =  zull_user_url + "/driver/base/order/pushOrderState";
+    public static String order_push_url =  zull_user_url + "/driver/base/order/pushOrderInfo";
     public static String driver_auth_url =  zull_user_url + "/driver/base/driver/sendsms";
     public static String withdraw_auth_url =  zull_user_url + "/driver/base/withdrawal/withdrawalAudit";
     public static String cancel_order_url =  zull_user_url + "/user/base/order/sendOrderState";
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/PushOrderInfoWarpper.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/PushOrderInfoWarpper.java
new file mode 100644
index 0000000..9a04ab6
--- /dev/null
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/PushOrderInfoWarpper.java
@@ -0,0 +1,26 @@
+package com.stylefeng.guns.modular.system.warpper;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel
+public class PushOrderInfoWarpper {
+    @ApiModelProperty("订单id")
+    private Long id;
+    @ApiModelProperty("司机纬度")
+    private String driverLat;
+    @ApiModelProperty("司机经度")
+    private String driverLng;
+    @ApiModelProperty("等待时长(分钟)")
+    private String waitTime;
+    @ApiModelProperty("行驶里程(公里)")
+    private Double actualMileage;
+    @ApiModelProperty("行驶时间(分钟)")
+    private String travelTime;
+    @ApiModelProperty("101=待接单,102=已接单,103=前往预约点,104=到达预约点,105=开始服务,106=到达目的地,107=待支付,108=待评价,109=已完成,201=转单中,301=已取消,401=等待中")
+    private Integer state;
+    @ApiModelProperty("取消方(1=用户,2=司机,3=平台)")
+    private Integer cancelObject;
+}
diff --git a/user/guns-admin/src/main/java/com/supersavedriving/user/modular/system/service/impl/OrderServiceImpl.java b/user/guns-admin/src/main/java/com/supersavedriving/user/modular/system/service/impl/OrderServiceImpl.java
index ec5e03e..02a3d6b 100644
--- a/user/guns-admin/src/main/java/com/supersavedriving/user/modular/system/service/impl/OrderServiceImpl.java
+++ b/user/guns-admin/src/main/java/com/supersavedriving/user/modular/system/service/impl/OrderServiceImpl.java
@@ -816,6 +816,7 @@
             PushOrderInfoWarpper pushOrderInfoWarpper = new PushOrderInfoWarpper();
             pushOrderInfoWarpper.setId(order.getId());
             pushOrderInfoWarpper.setState(order.getState());
+            pushOrderInfoWarpper.setCancelObject(1);
             pushUtil.pushOrderInfo(order.getDriverId(), 2, pushOrderInfoWarpper);
         }
         redisUtil.setStrValue("cancelOrder", "true");
diff --git a/user/guns-admin/src/main/java/com/supersavedriving/user/modular/system/warpper/PushOrderInfoWarpper.java b/user/guns-admin/src/main/java/com/supersavedriving/user/modular/system/warpper/PushOrderInfoWarpper.java
index dc76e72..7500e1c 100644
--- a/user/guns-admin/src/main/java/com/supersavedriving/user/modular/system/warpper/PushOrderInfoWarpper.java
+++ b/user/guns-admin/src/main/java/com/supersavedriving/user/modular/system/warpper/PushOrderInfoWarpper.java
@@ -27,4 +27,6 @@
     private String endLng;
     @ApiModelProperty("101=待接单,102=已接单,103=前往预约点,104=到达预约点,105=开始服务,106=到达目的地,107=待支付,108=待评价,109=已完成,201=转单中,301=已取消,401=等待中")
     private Integer state;
+    @ApiModelProperty("取消方(1=用户,2=司机,3=平台)")
+    private Integer cancelObject;
 }

--
Gitblit v1.7.1