From 57909bfeb70e80689cfe515198e3a30ad3868bb8 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期三, 07 八月 2024 09:35:28 +0800
Subject: [PATCH] Merge branch '2.0' of http://120.76.84.145:10101/gitblit/r/java/IgoTravel into 2.0

---
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java |   86 +++++++++++++++++++++++++++++++++++++++---
 1 files changed, 79 insertions(+), 7 deletions(-)

diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
index a334df0..43aa8b6 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
@@ -3,6 +3,7 @@
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.google.api.client.http.UrlEncodedParser;
 import com.stylefeng.guns.core.util.ToolUtil;
 import com.stylefeng.guns.modular.CharteredCar.server.IOrderCharteredCarService;
 import com.stylefeng.guns.modular.crossCity.model.OrderCrossCity;
@@ -27,8 +28,12 @@
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
+import org.apache.commons.lang.StringEscapeUtils;
+import org.apache.http.client.utils.URLEncodedUtils;
+import org.bouncycastle.util.encoders.UrlBase64Encoder;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
+import org.springframework.util.StringUtils;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
@@ -36,6 +41,9 @@
 import javax.servlet.http.HttpServletResponse;
 import java.io.*;
 import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.net.URLDecoder;
+import java.net.URLEncoder;
 import java.text.SimpleDateFormat;
 import java.util.*;
 
@@ -201,6 +209,9 @@
             if(null == uid){
                 return ResultUtil.tokenErr();
             }
+            UserInfo userInfo = userInfoService.selectById(uid);
+            userInfo.setLanguage(language);
+            userInfoService.updateById(userInfo);
             List<Map<String, Object>> list = null;
             switch (type){
                 case 1:
@@ -639,7 +650,31 @@
     })
     public ResultUtil queryTrack_(Integer orderId, Integer orderType){
         try {
-            List<Map<String, Object>> list = orderPositionService.queryTrack(orderId, orderType);
+            List<Map<String, Object>> list = new ArrayList<>();
+                    switch (orderType){
+                case 1:
+                    OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(orderId);
+                    Map<String, Object> map = new HashMap<>();
+                    map.put("lon", orderPrivateCar.getStartLon());
+                    map.put("lat", orderPrivateCar.getStartLat());
+                    list.add(map);
+                    map = new HashMap<>();
+                    map.put("lon", orderPrivateCar.getEndLon());
+                    map.put("lat", orderPrivateCar.getEndLat());
+                    list.add(map);
+                    break;
+                case 4:
+                    OrderLogistics orderLogistics = orderLogisticsService.selectById(orderId);
+                    Map<String, Object> map1 = new HashMap<>();
+                    map1.put("lon", orderLogistics.getStartLon());
+                    map1.put("lat", orderLogistics.getStartLat());
+                    list.add(map1);
+                    map1 = new HashMap<>();
+                    map1.put("lon", orderLogistics.getEndLon());
+                    map1.put("lat", orderLogistics.getEndLat());
+                    list.add(map1);
+                    break;
+            }
             return ResultUtil.success(list);
         }catch (Exception e){
             e.printStackTrace();
@@ -889,6 +924,20 @@
             if(null == uid){
                 return ResultUtil.tokenErr();
             }
+            reason = reason.replaceAll("& #40;", "(")
+                    .replaceAll("& #41;", ")")
+                    .replaceAll("& #40;", "(")
+                    .replaceAll("& #41;", ")")
+                    .replaceAll("& #39;", "'")
+                    .replaceAll("& lt;", "<")
+                    .replaceAll("& gt;", ">");
+            remark = remark.replaceAll("& #40;", "(")
+                    .replaceAll("& #41;", ")")
+                    .replaceAll("& #40;", "(")
+                    .replaceAll("& #41;", ")")
+                    .replaceAll("& #39;", "'")
+                    .replaceAll("& lt;", "<")
+                    .replaceAll("& gt;", ">");
             switch (orderType){
                 case 1:
                     return orderPrivateCarService.addCancle(id, reason, remark, uid, lon, lat, address, language);
@@ -909,8 +958,9 @@
             return ResultUtil.runErr();
         }
     }
-
-
+    
+    
+    
     /**
      * 取消订单退款回调
      * @param request
@@ -1702,17 +1752,39 @@
                 return ResultUtil.tokenErr();
             }
             Double payMoney = 0D;
+            Integer companyId = 1;
             switch (orderType){
                 case 1:
                     OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(orderId);
-                    payMoney = orderPrivateCar.getPayMoney();
+                    Double orderMoney = orderPrivateCar.getOrderMoney();
+                    UserActivityDiscount1 query2 = userActivityDiscount1Mapper.query(orderPrivateCar.getCompanyId());
+                    if(null != query2){
+                        Integer orderNum=orderPrivateCarService.selectCount(new EntityWrapper<OrderPrivateCar>().eq("userId", uid).eq("activityId",query2.getId()).last(" and to_days(getoffTime) = to_days(now())"));
+                        if(query2.getDistance()*1000>orderPrivateCar.getMileage() && query2.getOrderNum()>orderNum){
+                            Double special = query2.getSpecial();
+                            if(null != special){
+                                double v = new BigDecimal(orderMoney).multiply(new BigDecimal(special / 10)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue();
+                                payMoney = v;
+                            }
+                        }
+                    }
                     break;
                 case 4:
                     OrderLogistics orderLogistics = orderLogisticsService.selectById(orderId);
-                    payMoney = orderLogistics.getPayMoney();
+                    Double orderMoney1 = orderLogistics.getOrderMoney();
+                    UserActivityDiscount1 query1 = userActivityDiscount1Mapper.query(orderLogistics.getCompanyId());
+                    if(null != query1){
+                        Integer orderNum=orderLogisticsService.selectCount(new EntityWrapper<OrderLogistics>().eq("userId", uid).eq("activityId",query1.getId()).last(" and to_days(getoffTime) = to_days(now())"));
+                        if(query1.getDistance()*1000>orderLogistics.getMileage() && query1.getOrderNum()>orderNum){
+                            Double special = query1.getSpecial();
+                            if(null != special){
+                                double v = new BigDecimal(orderMoney1).multiply(new BigDecimal(special / 10)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue();
+                                payMoney = v;
+                            }
+                        }
+                    }
                     break;
             }
-            
             Double aDouble = userRedPacketRecordService.queryRemainingAmount(uid);
             Map<String, Object> map = new HashMap<>();
             map.put("redTotal", aDouble);
@@ -1721,7 +1793,7 @@
                 map.put("deductionAmount", 0D);
                 return ResultUtil.success(map);
             }
-            Double deductionAmount = new BigDecimal(payMoney).multiply(redEnvelopePaymentSettings.getDeductionRatio().divide(new BigDecimal(100))).doubleValue();
+            Double deductionAmount = new BigDecimal(payMoney).multiply(redEnvelopePaymentSettings.getDeductionRatio().divide(new BigDecimal(100))).setScale(2, RoundingMode.HALF_EVEN).doubleValue();
             map.put("deductionAmount", deductionAmount);
             return ResultUtil.success(map);
         }catch (Exception e){

--
Gitblit v1.7.1