From 2103c9676bf98087aee3032c3f6cc15ed2837d0c Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期五, 13 六月 2025 10:51:20 +0800
Subject: [PATCH] 价格计算修改

---
 UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java |   22 +++++++++++++++-------
 1 files changed, 15 insertions(+), 7 deletions(-)

diff --git a/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java b/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java
index d9ece58..588d8d9 100644
--- a/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java
+++ b/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java
@@ -411,7 +411,7 @@
         
         if(date.getTime() > s.getTimeInMillis() && date.getTime() < e.getTimeInMillis()){
             if(d > rule.getDouble("num6") && d < rule.getDouble("num7")){
-                yt1 = rule.getDouble("num18") * d;
+                yt1 = rule.getDouble("num18") * (d-rule.getDouble("num6"));
             }
             if(d >  rule.getDouble("num9") && d < rule.getDouble("num10")){
                 yt1 = rule.getDouble("num18") * rule.getDouble("num7");
@@ -450,7 +450,7 @@
             //高峰时段处理逻辑
             if((date.getTime() > s1.getTimeInMillis() && date.getTime() < e1.getTimeInMillis()) || (date.getTime() > s2.getTimeInMillis() && date.getTime() < e2.getTimeInMillis())){
                 if(d > rule.getDouble("num6") && d < rule.getDouble("num7")){
-                    yt1 = rule.getDouble("num26") * d;
+                    yt1 = rule.getDouble("num26") * (d-rule.getDouble("num6"));
                 }
                 if(d >  rule.getDouble("num9") && d < rule.getDouble("num10")){
                     yt1 = rule.getDouble("num26") * rule.getDouble("num7");
@@ -469,7 +469,7 @@
             }else{
                 //其他时间段的计算
                 if(d > rule.getDouble("num6") && d < rule.getDouble("num7")){
-                    yt1 = rule.getDouble("num8") * d;
+                    yt1 = rule.getDouble("num8") * (d-rule.getDouble("num6"));
                 }
                 if(d >  rule.getDouble("num9") && d < rule.getDouble("num10")){
                     yt1 = rule.getDouble("num8") * rule.getDouble("num7");
@@ -813,15 +813,19 @@
         Driver driver = driverService.selectById(orderTaxi.getDriverId());
         Integer companyId = driver.getCompanyId();
         List<CompanyCity> companyCityList = companyCityService.selectList(new EntityWrapper<CompanyCity>().eq("companyId", companyId));
-        List<Map<String, Integer>> cityCode = new ArrayList<>();
+        List<Map<String, Object>> cityCode = new ArrayList<>();
+        List<Region> regions = regionMapper.selectList(null);
         for (CompanyCity companyCity : companyCityList) {
-            Map<String, Integer> city = new HashMap<>();
+            Map<String, Object> city = new HashMap<>();
             if(ToolUtil.isNotEmpty(companyCity.getAreaCode())){
                 city.put("code", Integer.valueOf(companyCity.getAreaCode()));
+                city.put("name", regions.stream().filter(s->s.getCode().equals(companyCity.getAreaCode())).findFirst().get().getName());
             }else if(ToolUtil.isEmpty(companyCity.getAreaCode()) && ToolUtil.isNotEmpty(companyCity.getCityCode())){
                 city.put("code", Integer.valueOf(companyCity.getCityCode()));
+                city.put("name", regions.stream().filter(s->s.getCode().equals(companyCity.getCityCode())).findFirst().get().getName());
             }else if(ToolUtil.isEmpty(companyCity.getCityCode()) && ToolUtil.isNotEmpty(companyCity.getProvinceCode())){
                 city.put("code", Integer.valueOf(companyCity.getProvinceCode()));
+                city.put("name", regions.stream().filter(s->s.getCode().equals(companyCity.getProvinceCode())).findFirst().get().getName());
             }
             cityCode.add(city);
         }
@@ -845,15 +849,19 @@
         Driver driver = driverService.selectById(orderTaxi.getDriverId());
         Integer companyId = driver.getCompanyId();
         List<CompanyCity> companyCityList = companyCityService.selectList(new EntityWrapper<CompanyCity>().eq("companyId", companyId));
-        List<Map<String, Integer>> cityCode = new ArrayList<>();
+        List<Map<String, Object>> cityCode = new ArrayList<>();
+        List<Region> regions = regionMapper.selectList(null);
         for (CompanyCity companyCity : companyCityList) {
-            Map<String, Integer> city = new HashMap<>();
+            Map<String, Object> city = new HashMap<>();
             if(ToolUtil.isNotEmpty(companyCity.getAreaCode())){
                 city.put("code", Integer.valueOf(companyCity.getAreaCode()));
+                city.put("name", regions.stream().filter(s->s.getCode().equals(companyCity.getAreaCode())).findFirst().get().getName());
             }else if(ToolUtil.isEmpty(companyCity.getAreaCode()) && ToolUtil.isNotEmpty(companyCity.getCityCode())){
                 city.put("code", Integer.valueOf(companyCity.getCityCode()));
+                city.put("name", regions.stream().filter(s->s.getCode().equals(companyCity.getCityCode())).findFirst().get().getName());
             }else if(ToolUtil.isEmpty(companyCity.getCityCode()) && ToolUtil.isNotEmpty(companyCity.getProvinceCode())){
                 city.put("code", Integer.valueOf(companyCity.getProvinceCode()));
+                city.put("name", regions.stream().filter(s->s.getCode().equals(companyCity.getProvinceCode())).findFirst().get().getName());
             }
             cityCode.add(city);
         }

--
Gitblit v1.7.1