From 40b94a2b7afb9acc38fcda17b5375a47ec928da8 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期日, 15 十二月 2024 01:36:00 +0800
Subject: [PATCH] 新增加功能

---
 UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java |   64 ++++++++++++++------------------
 1 files changed, 28 insertions(+), 36 deletions(-)

diff --git a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java
index 05bf746..282bee0 100644
--- a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java
+++ b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java
@@ -324,34 +324,7 @@
             resultUtil = payMoneyUtil.alipay("完成订单", "完成订单", "", orderId + "_3_" + UUIDUtil.getRandomCode(5), orderMoney.toString(), "/base/aliPayOrderTaxi");
             paymentRecordService.saveData(1, orderCrossCity.getUserId(), 1, orderId, 3, 2, orderMoney, "", 1);//添加预支付数据
         }
-
-
-//        if(payType == 1){//微信支付
-//            String value = redisUtil.getValue("appletOpenId");
-//            String appletsOpenId = null;
-//            if(ToolUtil.isNotEmpty(value)){
-//                JSONObject jsonObject = JSON.parseObject(value);
-//                appletsOpenId = jsonObject.getString(uid.toString());
-//            }else{
-//                appletsOpenId = userInfo.getAppletsOpenId();
-//            }
-//            Map<String, String> map = icbcPayUtil.placeAnOrder(orderId + ",3", 9, 5, uid.toString(), "完成订单", orderMoney, callbackPath + "/base/wxPayOrderTaxi", "", type, appletsOpenId);
-//            if(map.get("code").equals("200")){
-//                paymentRecordService.saveData(1, orderCrossCity.getUserId(), 1, orderId, 3, 1, orderMoney, map.get("order_id"), 1);//添加预支付数据
-//                resultUtil = ResultUtil.success(map.get("data"));
-//            }else{
-//                resultUtil = ResultUtil.error(map.get("msg"), "");
-//            }
-//        }
-//        if(payType == 2){//支付宝支付
-//            Map<String, String> map = icbcPayUtil.placeAnOrder(orderId + ",3", 10, 5, uid.toString(), "完成订单", orderMoney, callbackPath + "/base/aliPayOrderTaxi", "", type, null);
-//            if(map.get("code").equals("200")){
-//                paymentRecordService.saveData(1, orderCrossCity.getUserId(), 1, orderId, 3, 2, orderMoney, map.get("order_id"), 1);//添加预支付数据
-//                resultUtil = ResultUtil.success(map.get("data"));
-//            }else{
-//                resultUtil = ResultUtil.error(map.get("msg"), "");
-//            }
-//        }
+        
         if(payType == 3){//余额支付
             if(userInfo.getBalance() == null || userInfo.getBalance() < orderMoney){
                 return ResultUtil.error("余额不足,无法完成支付");
@@ -384,12 +357,21 @@
 
             //添加已收入明细
             Line line = lineService.selectById(orderCrossCity.getLineId());
-            Double speMoney = Double.valueOf(line.getRakeRate());
-            BigDecimal d = new BigDecimal(orderCrossCity.getOrderMoney()).multiply(new BigDecimal(speMoney).divide(new BigDecimal(100), new MathContext(2, RoundingMode.HALF_EVEN))).setScale(2, BigDecimal.ROUND_HALF_EVEN);//企业收入
-            BigDecimal c = new BigDecimal(orderCrossCity.getOrderMoney()).subtract(d).setScale(2, BigDecimal.ROUND_HALF_EVEN);//司机收入
+            Driver driver = driverService.selectById(orderCrossCity.getDriverId());
+            Double speMoney = driver.getIntercityCommission();
+            BigDecimal d = null;//企业收入
+            BigDecimal c = null;//司机收入
+            if(driver.getSpecialCarCommissionType() == 2){//固定
+                d = new BigDecimal(speMoney);
+                c = new BigDecimal(orderCrossCity.getOrderMoney()).subtract(d).setScale(2, BigDecimal.ROUND_HALF_EVEN);
+            }
+            if(driver.getSpecialCarCommissionType() == 1){//比例
+                Double price = orderCrossCity.getOrderMoney();
+                d = new BigDecimal(price).multiply(new BigDecimal(speMoney).divide(new BigDecimal(100), new MathContext(2, RoundingMode.HALF_EVEN))).setScale(2, BigDecimal.ROUND_HALF_EVEN);
+                c = new BigDecimal(price).subtract(d).setScale(2, BigDecimal.ROUND_HALF_EVEN);
+            }
             incomeService.saveData(1, orderCrossCity.getCompanyId(), 2, orderCrossCity.getId(), 3, d.doubleValue());
             incomeService.saveData(2, orderCrossCity.getDriverId(), 2, orderCrossCity.getId(), 3, c.doubleValue());
-            Driver driver = driverService.selectById(orderCrossCity.getDriverId());
             driver.setBusinessMoney(new BigDecimal(null != driver.getBusinessMoney() ? driver.getBusinessMoney() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
             driver.setLaveBusinessMoney(new BigDecimal(null != driver.getLaveBusinessMoney() ? driver.getLaveBusinessMoney() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
             driver.setBalance(new BigDecimal(null != driver.getBalance() ? driver.getBalance() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
@@ -459,12 +441,22 @@
 
             //添加已收入明细
             Line line = lineService.selectById(orderCrossCity.getLineId());
-            Double speMoney = Double.valueOf(line.getRakeRate());
-            BigDecimal d = new BigDecimal(orderCrossCity.getOrderMoney()).multiply(new BigDecimal(speMoney).divide(new BigDecimal(100), new MathContext(2, RoundingMode.HALF_EVEN))).setScale(2, BigDecimal.ROUND_HALF_EVEN);//企业收入
-            BigDecimal c = new BigDecimal(orderCrossCity.getOrderMoney()).subtract(d).setScale(2, BigDecimal.ROUND_HALF_EVEN);//司机收入
+            Driver driver = driverService.selectById(orderCrossCity.getDriverId());
+            Double speMoney = driver.getIntercityCommission();
+            BigDecimal d = null;//企业收入
+            BigDecimal c = null;//司机收入
+            if(driver.getSpecialCarCommissionType() == 2){//固定
+                d = new BigDecimal(speMoney);
+                c = new BigDecimal(orderCrossCity.getOrderMoney()).subtract(d).setScale(2, BigDecimal.ROUND_HALF_EVEN);
+            }
+            if(driver.getSpecialCarCommissionType() == 1){//比例
+                Double price = orderCrossCity.getOrderMoney();
+                d = new BigDecimal(price).multiply(new BigDecimal(speMoney).divide(new BigDecimal(100), new MathContext(2, RoundingMode.HALF_EVEN))).setScale(2, BigDecimal.ROUND_HALF_EVEN);
+                c = new BigDecimal(price).subtract(d).setScale(2, BigDecimal.ROUND_HALF_EVEN);
+            }
             incomeService.saveData(1, orderCrossCity.getCompanyId(), 2, orderCrossCity.getId(), 3, d.doubleValue());
             incomeService.saveData(2, orderCrossCity.getDriverId(), 2, orderCrossCity.getId(), 3, c.doubleValue());
-            Driver driver = driverService.selectById(orderCrossCity.getDriverId());
+            
             driver.setBusinessMoney(new BigDecimal(null != driver.getBusinessMoney() ? driver.getBusinessMoney() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
             driver.setLaveBusinessMoney(new BigDecimal(null != driver.getLaveBusinessMoney() ? driver.getLaveBusinessMoney() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
             driver.setBalance(new BigDecimal(null != driver.getBalance() ? driver.getBalance() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());

--
Gitblit v1.7.1