From d45923a8b023f9a010fc75f53b13ffca01c573fa Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期五, 22 十二月 2023 10:57:46 +0800
Subject: [PATCH] 更新

---
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java |  122 +++++++++++++++++++++++++++-------------
 1 files changed, 83 insertions(+), 39 deletions(-)

diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java
index e4606e4..b32e85f 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java
@@ -40,6 +40,8 @@
 
 import javax.annotation.Resource;
 import java.math.BigDecimal;
+import java.math.MathContext;
+import java.math.RoundingMode;
 import java.util.*;
 
 @Service
@@ -174,7 +176,7 @@
     public synchronized ResultUtil<BaseWarpper> taxiOrder(OrderTaxi orderTaxi, Integer uid) throws Exception {
         //定义用户所属公司
         UserInfo userInfo1 = userInfoService.selectById(uid);
-        Company query = companyCityService.query(String.valueOf(orderTaxi.getStartLon()), String.valueOf(orderTaxi.getStartLat()));
+        Company query = companyCityService.query1(String.valueOf(orderTaxi.getStartLon()), String.valueOf(orderTaxi.getStartLat()));
         if(null == query){
             return ResultUtil.error("出发点暂未开通");
         }
@@ -233,7 +235,7 @@
             if(ToolUtil.isEmpty(userInfo.getPhone())){
                 return ResultUtil.error("请先绑定手机号码");
             }
-            orderTaxi.setPassengers(userInfo.getName());
+            orderTaxi.setPassengers(userInfo.getFirstName() + "." + userInfo.getLastName());
             orderTaxi.setPassengersPhone(userInfo.getPhone());
         }
         orderTaxi.setState(1);//待接单
@@ -275,11 +277,11 @@
             //调用移动的小号接口
             Map<String, String> geocode1 = gdMapGeocodingUtil.geocode(orderTaxi.getStartLon().toString(), orderTaxi.getStartLat().toString());
             Region region = regionMapper.query(geocode1.get("districtCode"));
-            Map<String, String> map = chinaMobileUtil.midAxbBindSend(orderTaxi.getPassengersPhone(), driver.getPhone(), Integer.valueOf(region.getCitycode().substring(1)));
-            if(String.valueOf(map.get("code")).equals("200")){
-                orderTaxi.setTelX(map.get("telX"));
-                orderTaxi.setBindId(map.get("bindId"));
-            }
+//            Map<String, String> map = chinaMobileUtil.midAxbBindSend(orderTaxi.getPassengersPhone(), driver.getPhone(), Integer.valueOf(region.getCitycode().substring(1)));
+//            if(String.valueOf(map.get("code")).equals("200")){
+//                orderTaxi.setTelX(map.get("telX"));
+//                orderTaxi.setBindId(map.get("bindId"));
+//            }
 
             driver.setState(3);
             driverService.updateById(driver);
@@ -483,17 +485,17 @@
      * @throws Exception
      */
     @Override
-    public ResultUtil cancleOrderTaxi(Integer id, Integer payType, Integer cancleId, Integer type) throws Exception {
+    public ResultUtil cancleOrderTaxi(Integer id, Integer payType, Integer cancleId, Integer type, Integer language) throws Exception {
         OrderTaxi orderTaxi = this.selectById(id);
         Integer uid = orderTaxi.getUserId();
         UserInfo userInfo = userInfoService.selectById(uid);
         ResultUtil resultUtil = ResultUtil.success("");
 
         if(null == orderTaxi){
-            return ResultUtil.error("取消订单失败,订单信息有误", "");
+            return ResultUtil.error((language == 1 ? "订单信息有误" : language == 2 ? "Order-information error" : "Erreur d’information de commande"), "");
         }
         if(orderTaxi.getState() != 12){
-            return ResultUtil.error("取消订单失败,不合法的操作", "");
+            return ResultUtil.error((language == 1 ? "订单取消失败" : language == 2 ? "Failed to cancel order" : "Échec de l’annulation de la commande"), "");
         }
         OrderCancel orderCancel = null;
         if(null == cancleId){
@@ -516,7 +518,7 @@
             }
             if(payType == 3){//余额支付
                 if(userInfo.getBalance() != null && userInfo.getBalance() < query.getMoney()){
-                    return ResultUtil.error("余额不足,无法完成支付", "");
+                    return ResultUtil.error(language == 1 ? "账户余额不足" : language == 2 ? "Insufficient balance" : "Solde insuffisant");
                 }
 
                 userInfo.setBalance(new BigDecimal(userInfo.getBalance()).subtract(new BigDecimal(query.getMoney())).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
@@ -607,10 +609,10 @@
      * @throws Exception
      */
     @Override
-    public List<Map<String, Object>> queryCoupon(Integer orderId, Integer uid, Integer pageNum, Integer size) throws Exception {
+    public List<Map<String, Object>> queryCoupon(Integer language, Integer orderId, Integer uid, Integer pageNum, Integer size) throws Exception {
         OrderTaxi orderTaxi = this.selectById(orderId);
-        List<Map<String, Object>> list = userCouponRecordService.queryCoupon(uid, orderTaxi.getCompanyId(), 1, 2, orderTaxi.getOrderMoney(), pageNum, size);
-        List<Map<String, Object>> list1 = userCouponRecordService.queryCoupon(uid, orderTaxi.getCompanyId(), 1, 0, orderTaxi.getOrderMoney(), pageNum, size);
+        List<Map<String, Object>> list = userCouponRecordService.queryCoupon(language, uid, orderTaxi.getCompanyId(), 1, 2, orderTaxi.getOrderMoney(), pageNum, size);
+        List<Map<String, Object>> list1 = userCouponRecordService.queryCoupon(language, uid, orderTaxi.getCompanyId(), 1, 0, orderTaxi.getOrderMoney(), pageNum, size);
         list.addAll(list1);
         return list;
     }
@@ -624,18 +626,18 @@
      * @throws Exception
      */
     @Override
-    public ResultUtil payTaxiOrder(Integer payType, Integer orderId, Integer couponId, Integer type) throws Exception {
+    public ResultUtil payTaxiOrder(Integer payType, Integer orderId, Integer couponId, Integer type, Integer language) throws Exception {
         OrderTaxi orderTaxi = this.selectById(orderId);
         if(orderTaxi.getState() == 8 || orderTaxi.getState() == 9){
-            return ResultUtil.error("订单已完成支付,不允许重复支付", "");
+            return ResultUtil.error("订单已完成支付,不允许重复支付");
         }
         if(orderTaxi.getState() != 7){
-            return ResultUtil.error("订单不在待支付状态,不允许支付", "");
+            return ResultUtil.error("订单不在待支付状态,不允许支付");
         }
         Integer uid = orderTaxi.getUserId();
         Double orderMoney = orderTaxi.getOrderMoney();
         UserInfo userInfo = userInfoService.selectById(uid);
-        ResultUtil resultUtil = ResultUtil.success(new HashMap<>());
+        ResultUtil resultUtil = ResultUtil.success();
         orderTaxi.setCouponMoney(0D);//初始化历史数据
         orderTaxi.setCouponId(null);
 
@@ -644,19 +646,19 @@
         if(null != couponId){
             userCouponRecord = userCouponRecordService.selectById(couponId);
             if(userCouponRecord.getCompanyId() != orderTaxi.getCompanyId()){
-                return ResultUtil.error("优惠券不能用于此订单", "");
+                return ResultUtil.error("优惠券不能用于此订单");
             }
             if(userCouponRecord.getState() == 2){
-                return ResultUtil.error("优惠券已使用", "");
+                return ResultUtil.error("优惠券已使用");
             }
             if(userCouponRecord.getState() == 3){
-                return ResultUtil.error("优惠券已过期", "");
+                return ResultUtil.error("优惠券已过期");
             }
             if(userCouponRecord.getCouponUseType() != 0 && userCouponRecord.getCouponUseType() != 2){
-                return ResultUtil.error("优惠券不能用于此类型订单", "");
+                return ResultUtil.error("优惠券不能用于此类型订单");
             }
             if(userCouponRecord.getCouponType() == 2 && orderMoney.compareTo(userCouponRecord.getFullMoney()) < 0){
-                return ResultUtil.error("优惠券不能用于此订单", "");
+                return ResultUtil.error("优惠券不能用于此订单");
             }
             orderMoney = orderMoney - userCouponRecord.getMoney();
             orderTaxi.setCouponMoney(userCouponRecord.getMoney());
@@ -692,7 +694,7 @@
         }
         if(payType == 3){//余额支付
             if(userInfo.getBalance() == null || userInfo.getBalance() < orderMoney){
-                return ResultUtil.error("余额不足,无法完成支付", "");
+                return ResultUtil.error(language == 1 ? "账户余额不足" : language == 2 ? "Insufficient balance" : "Solde insuffisant");
             }
 
             userInfo.setBalance(new BigDecimal(userInfo.getBalance()).subtract(new BigDecimal(orderMoney)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
@@ -730,7 +732,7 @@
                 c = new BigDecimal(orderTaxi.getOrderMoney()).subtract(d);//只有出行金额参与抽成,其余归属司机
             }
             if(company.getIsTaxiFixedOrProportional() == 1){//比例
-                d = new BigDecimal(orderTaxi.getTravelMoney()).multiply(new BigDecimal(taxi).divide(new BigDecimal(100))).setScale(2, BigDecimal.ROUND_HALF_EVEN);
+                d = new BigDecimal(orderTaxi.getTravelMoney()).multiply(new BigDecimal(taxi).divide(new BigDecimal(100), new MathContext(2, RoundingMode.HALF_EVEN)));
                 c = new BigDecimal(orderTaxi.getOrderMoney()).subtract(d).setScale(2, BigDecimal.ROUND_HALF_EVEN);
             }
             incomeService.saveData(1, orderTaxi.getCompanyId(), 2, orderTaxi.getId(), 2, d.doubleValue());
@@ -816,12 +818,20 @@
      * @throws Exception
      */
     @Override
-    public List<Map<String, Object>> queryMyOrderList(Integer uid, Integer pageNum, Integer size) throws Exception {
+    public List<Map<String, Object>> queryMyOrderList(Integer language, Integer uid, Integer pageNum, Integer size) throws Exception {
         pageNum = (pageNum - 1) * size;
         List<Map<String, Object>> maps = orderTaxiMapper.queryMyOrderList(uid, pageNum, size);
         for(Map<String, Object> map : maps){
             if(Integer.valueOf(String.valueOf(map.get("state"))) == 11){
                 map.put("state", map.get("oldState"));
+            }
+            if(null != map.get("orderTime")){
+                String orderTime = map.get("orderTime").toString();
+                map.put("orderTime", DateUtil.conversionFormat(language, orderTime));
+            }
+            if(null != map.get("time")){
+                String time = map.get("time").toString();
+                map.put("time", DateUtil.conversionFormat1(language, time));
             }
         }
         return maps;
@@ -835,8 +845,15 @@
      * @throws Exception
      */
     @Override
-    public List<Map<String, Object>> queryMyTravelRecord(Integer uid) throws Exception {
-        return orderTaxiMapper.queryMyTravelRecord(uid);
+    public List<Map<String, Object>> queryMyTravelRecord(Integer language, Integer uid) throws Exception {
+        List<Map<String, Object>> list = orderTaxiMapper.queryMyTravelRecord(uid);
+        for (Map<String, Object> map : list) {
+            if(null != map.get("time")){
+                String time = map.get("time").toString();
+                map.put("time", DateUtil.conversionFormat(language, time));
+            }
+        }
+        return list;
     }
 
 
@@ -847,8 +864,15 @@
      * @throws Exception
      */
     @Override
-    public List<Map<String, Object>> queryRedEnvelope(Integer uid) throws Exception {
-        return orderTaxiMapper.queryRedEnvelope(uid);
+    public List<Map<String, Object>> queryRedEnvelope(Integer language, Integer uid) throws Exception {
+        List<Map<String, Object>> list = orderTaxiMapper.queryRedEnvelope(uid);
+        for (Map<String, Object> map : list) {
+            if(null != map.get("time")){
+                String time = map.get("time").toString();
+                map.put("time", DateUtil.conversionFormat(language, time));
+            }
+        }
+        return list;
     }
 
 
@@ -864,11 +888,18 @@
      * @throws Exception
      */
     @Override
-    public List<Map<String, Object>> queryInvoiceOrder(Integer type, Date startTime, Date endTime, Double startMoney,
+    public List<Map<String, Object>> queryInvoiceOrder(Integer language, Integer type, Date startTime, Date endTime, Double startMoney,
                                                        Double endMoney, Integer uid) throws Exception {
         startTime = dateUtil.getStartOrEndDate(startTime, "start");
         endTime = dateUtil.getStartOrEndDate(endTime, "end");
-        return orderTaxiMapper.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid);
+        List<Map<String, Object>> list = orderTaxiMapper.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid);
+        for (Map<String, Object> map : list) {
+            if(null != map.get("time")){
+                String time = map.get("time").toString();
+                map.put("time", DateUtil.conversionFormat(language, time));
+            }
+        }
+        return list;
     }
 
 
@@ -878,7 +909,7 @@
      * @return
      */
     @Override
-    public Map<String, Object> queryOrderInfo(Integer orderId) throws Exception{
+    public Map<String, Object> queryOrderInfo(Integer language, Integer orderId) throws Exception{
         Map<String, Object> map = orderTaxiMapper.queryOrderInfo(orderId);
         if(null != map && null != map.get("reassignNotice") && Integer.valueOf(String.valueOf(map.get("reassignNotice"))) == 2){//改派完成,重新获取了新的司机数据,开始修改数据防止继续调用
             OrderTaxi orderTaxi = this.selectById(orderId);
@@ -891,6 +922,19 @@
         String driverId = redisUtil.getValue("DEVICE_" + map.get("driverId"));
         map.put("device", ToolUtil.isNotEmpty(driverId) ? 2 : 1);
         map.put("orderType", 2);
+
+        if(null != map.get("insertTime")){
+            String insertTime = map.get("insertTime").toString();
+            map.put("insertTime", DateUtil.conversionFormat(language, insertTime));
+        }
+        if(null != map.get("travelTime")){
+            String travelTime = map.get("travelTime").toString();
+            map.put("travelTime", DateUtil.conversionFormat1(language, travelTime));
+        }
+        if(null != map.get("arriveTime")){
+            String arriveTime = map.get("arriveTime").toString();
+            map.put("arriveTime", DateUtil.conversionFormat(language, arriveTime));
+        }
         return map;
     }
 
@@ -956,8 +1000,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)).toString();
+            t = new BigDecimal(distance.get("duration")).divide(new BigDecimal(60), new MathContext(2, RoundingMode.HALF_EVEN)).intValue() + "";
         }
         OrderServerWarpper orderServerWarpper = new OrderServerWarpper();
         orderServerWarpper.setOrderId(orderTaxi.getId());
@@ -979,8 +1023,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)).toString();
+                t = new BigDecimal(distance.get("duration")).divide(new BigDecimal(60), new MathContext(2, RoundingMode.HALF_EVEN)).intValue() + "";
             }
             orderServerWarpper.setReservationMileage("0");
             orderServerWarpper.setReservationTime("0");
@@ -1151,7 +1195,7 @@
                 c = new BigDecimal(orderTaxi.getOrderMoney()).subtract(d).setScale(2, BigDecimal.ROUND_HALF_EVEN);
             }
             if(company.getIsTaxiFixedOrProportional() == 1){//比例
-                d = new BigDecimal(orderTaxi.getTravelMoney()).multiply(new BigDecimal(taxi).divide(new BigDecimal(100))).setScale(2, BigDecimal.ROUND_HALF_EVEN);
+                d = new BigDecimal(orderTaxi.getTravelMoney()).multiply(new BigDecimal(taxi).divide(new BigDecimal(100), new MathContext(2, RoundingMode.HALF_EVEN)));
                 c = new BigDecimal(orderTaxi.getOrderMoney()).subtract(d).setScale(2, BigDecimal.ROUND_HALF_EVEN);
             }
             incomeService.saveData(1, orderTaxi.getCompanyId(), 2, orderTaxi.getId(), 2, d.doubleValue());
@@ -1262,7 +1306,7 @@
                     if(ToolUtil.isNotEmpty(vehicle)){
                         integers = JSON.parseArray(vehicle).toJavaList(Integer.class);
                     }
-                    Company query = companyCityService.query(String.valueOf(orderTaxi.getStartLon()), String.valueOf(orderTaxi.getStartLat()));//获取起点所属分公司
+                    Company query = companyCityService.query1(String.valueOf(orderTaxi.getStartLon()), String.valueOf(orderTaxi.getStartLat()));//获取起点所属分公司
                     List<PushOrder> querys = pushOrderService.querys(null, 2, query.getId());//获取需要推送的次数
                     for(int i = 1; i <= querys.size(); i++){
                         PushOrder pushOrder = pushOrderService.querys(i, 2, query.getId()).get(0);

--
Gitblit v1.7.1