From e59d2141bc8f9bee8b569deaa54158b3759c431e Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期五, 29 八月 2025 10:42:40 +0800 Subject: [PATCH] bug修改 --- DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java | 74 +++++++++++++++++++++++++++++-------- 1 files changed, 58 insertions(+), 16 deletions(-) diff --git a/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java b/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java index 726234e..b2b0352 100644 --- a/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java +++ b/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java @@ -12,6 +12,8 @@ import com.stylefeng.guns.modular.system.model.OrderPosition; import com.stylefeng.guns.modular.taxi.model.OrderTaxi; import com.stylefeng.guns.modular.taxi.service.IOrderTaxiService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.http.HttpEntity; @@ -27,6 +29,8 @@ import java.io.FileInputStream; import java.io.InputStreamReader; import java.math.BigDecimal; +import java.math.MathContext; +import java.math.RoundingMode; import java.util.*; /** @@ -34,6 +38,8 @@ */ @Component public class PushUtil { + + private Logger log = LoggerFactory.getLogger(PushUtil.class); @Autowired private RestTemplate internalRestTemplate; @@ -94,13 +100,49 @@ params.add("id", String.valueOf(uid)); params.add("type", String.valueOf(type)); HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(params, headers); - String s = internalRestTemplate.postForObject("http://zuul-gateway/netty/sendMsgToClient",requestEntity , String.class); + String s = internalRestTemplate.postForObject("http://message-push/netty/sendMsgToClient",requestEntity , String.class); JSONObject jsonObject1 = JSON.parseObject(s, JSONObject.class); if(jsonObject1.getIntValue("code") != 200){ - System.err.println(jsonObject1.getString("msg")); + log.error(jsonObject1.getString("msg")); } } + /** + * 推送订单修改价 + * @param type 1=用户,2=司机 + * @param uid 对象id + * @param orderId 订单id + * @param orderType 订单类型(1=专车,2=快车,3=城际,4=小件物流-同城,5=小件物流-跨城,6=公务用车) + * @param orderMoney 金额 + */ + public void pushOrderMoney(Integer type, Integer uid, Integer orderId, Integer orderType, BigDecimal orderMoney, Integer time){ + JSONObject jsonObject = new JSONObject(); + jsonObject.put("code", 200); + jsonObject.put("msg", "SUCCESS"); + jsonObject.put("method", "ORDER_MONEY"); + Map<String, Object> map = new HashMap<>(); + map.put("orderId", orderId); + map.put("orderType", orderType); + map.put("orderMoney", orderMoney); + map.put("time", time); + jsonObject.put("data", map); + //调用推送 + HttpHeaders headers = new HttpHeaders(); + // 以表单的方式提交 + headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED); + //将请求头部和参数合成一个请求 + MultiValueMap<String, Object> params = new LinkedMultiValueMap<>(); + params.add("msg", jsonObject.toJSONString()); + params.add("id", String.valueOf(uid)); + params.add("type", String.valueOf(type)); + HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(params, headers); + String s = internalRestTemplate.postForObject("http://zuul-gateway/netty/sendMsgToClient",requestEntity , String.class); +// String s = internalRestTemplate.postForObject("http://message-push/netty/sendMsgToClient",requestEntity , String.class); + JSONObject jsonObject1 = JSON.parseObject(s, JSONObject.class); + if(jsonObject1.getIntValue("code") != 200){ + log.error(jsonObject1.getString("msg")); + } + } /** * 改派完成后推送用户端提醒 @@ -128,10 +170,10 @@ params.add("id", String.valueOf(uid)); 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); + String s = internalRestTemplate.postForObject("http://message-push/netty/sendMsgToClient",requestEntity , String.class); JSONObject jsonObject1 = JSON.parseObject(s, JSONObject.class); if(jsonObject1.getIntValue("code") != 200){ - System.err.println(jsonObject1.getString("msg")); + log.error(jsonObject1.getString("msg")); } } @@ -278,7 +320,7 @@ //计算预计距离和剩余时间 String value = redisUtil.getValue("DRIVER" + String.valueOf(driverId)); if(null == value || "".equals(value)){ - System.err.println("司机没有上传位置信息"); +// System.err.println("司机没有上传位置信息"); return; } @@ -303,8 +345,8 @@ System.err.println("查询距离出错了"); return; }else{ - d = new BigDecimal(distance.get("distance")).divide(new BigDecimal(1000)).setScale(2, BigDecimal.ROUND_HALF_EVEN).toString(); - t = new BigDecimal(distance.get("duration")).divide(new BigDecimal(60)).setScale(2, BigDecimal.ROUND_HALF_EVEN).intValue() + ""; + d = new BigDecimal(distance.get("distance")).divide(new BigDecimal(1000), new MathContext(2, RoundingMode.HALF_EVEN)).setScale(2, BigDecimal.ROUND_HALF_EVEN).toString(); + t = new BigDecimal(distance.get("duration")).divide(new BigDecimal(60), new MathContext(2, RoundingMode.HALF_EVEN)).setScale(2, BigDecimal.ROUND_HALF_EVEN).intValue() + ""; } map.put("reservationMileage", d);//当前位置距离预约点的剩余里程 map.put("reservationTime", t);//当前位置距离预约点的剩余分钟 @@ -325,8 +367,8 @@ if(null == distance){ System.err.println("查询距离出错了"); }else{ - d = new BigDecimal(distance.get("distance")).divide(new BigDecimal(1000)).setScale(2, BigDecimal.ROUND_HALF_EVEN).toString(); - t = new BigDecimal(distance.get("duration")).divide(new BigDecimal(60)).setScale(2, BigDecimal.ROUND_HALF_EVEN).intValue() + ""; + d = new BigDecimal(distance.get("distance")).divide(new BigDecimal(1000), new MathContext(2, RoundingMode.HALF_EVEN)).setScale(2, BigDecimal.ROUND_HALF_EVEN).toString(); + t = new BigDecimal(distance.get("duration")).divide(new BigDecimal(60), new MathContext(2, RoundingMode.HALF_EVEN)).setScale(2, BigDecimal.ROUND_HALF_EVEN).intValue() + ""; } map.put("laveMileage", d);//距离终点剩余未服务的里程数 map.put("laveTime", t);//距离终端剩余未服务的预计时间 @@ -357,10 +399,10 @@ params.add("id", jsonObject.getString("id")); params.add("type", jsonObject.getString("type")); HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(params, headers); - String s = internalRestTemplate.postForObject("http://zuul-gateway/netty/sendMsgToClient",requestEntity , String.class); + String s = internalRestTemplate.postForObject("http://message-push/netty/sendMsgToClient",requestEntity , String.class); JSONObject jsonObject1 = JSON.parseObject(s, JSONObject.class); if(jsonObject1.getIntValue("code") != 200){ - System.err.println(jsonObject1.getString("msg")); + log.error(jsonObject1.getString("msg")); } } @@ -388,7 +430,7 @@ 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); + String s = internalRestTemplate.postForObject("http://message-push/netty/sendMsgToClient",requestEntity , String.class); JSONObject jsonObject1 = JSON.parseObject(s, JSONObject.class); if(jsonObject1.getIntValue("code") != 200){ System.err.println(jsonObject1.getString("msg")); @@ -427,10 +469,10 @@ params.add("id", String.valueOf(uid)); params.add("type", String.valueOf(type)); HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(params, headers); - String s = internalRestTemplate.postForObject("http://zuul-gateway/netty/sendMsgToClient",requestEntity , String.class); + String s = internalRestTemplate.postForObject("http://message-push/netty/sendMsgToClient",requestEntity , String.class); JSONObject jsonObject1 = JSON.parseObject(s, JSONObject.class); if(jsonObject1.getIntValue("code") != 200){ - System.err.println(jsonObject1.getString("msg")); + log.error(jsonObject1.getString("msg")); } } @@ -464,10 +506,10 @@ params.add("id", String.valueOf(uid)); params.add("type", String.valueOf(type)); HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(params, headers); - String s = internalRestTemplate.postForObject("http://zuul-gateway/netty/sendMsgToClient",requestEntity , String.class); + String s = internalRestTemplate.postForObject("http://message-push/netty/sendMsgToClient",requestEntity , String.class); JSONObject jsonObject1 = JSON.parseObject(s, JSONObject.class); if(jsonObject1.getIntValue("code") != 200){ - System.err.println(jsonObject1.getString("msg")); + log.error(jsonObject1.getString("msg")); } } -- Gitblit v1.7.1