From 2e366b939271b6ea338641f8a72d1bcd2182dbe7 Mon Sep 17 00:00:00 2001
From: zhibing.pu <393733352@qq.com>
Date: 星期五, 19 四月 2024 17:56:18 +0800
Subject: [PATCH] 新增加功能

---
 DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java |  297 ++++++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 223 insertions(+), 74 deletions(-)

diff --git a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java
index febd52d..e858a79 100644
--- a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java
+++ b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java
@@ -9,6 +9,7 @@
 import com.stylefeng.guns.modular.smallLogistics.server.IOrderLogisticsService;
 import com.stylefeng.guns.modular.specialTrain.model.OrderPrivateCar;
 import com.stylefeng.guns.modular.specialTrain.server.IOrderPrivateCarService;
+import com.stylefeng.guns.modular.system.dao.DriverActivityHistoryMapper;
 import com.stylefeng.guns.modular.system.model.*;
 import com.stylefeng.guns.modular.system.service.*;
 import com.stylefeng.guns.modular.system.util.ALiSendSms;
@@ -27,6 +28,7 @@
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.bind.annotation.*;
 
+import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import java.text.SimpleDateFormat;
 import java.util.*;
@@ -84,6 +86,9 @@
 
     @Autowired
     private TEmailService emailService;
+    
+    @Resource
+    private DriverActivityHistoryMapper driverActivityHistoryMapper;
 
 
 
@@ -423,12 +428,17 @@
             @ApiImplicitParam(value = "保险到期时间(yyyy-MM-dd)", name = "commercialInsuranceTime", required = false, dataType = "string"),
             @ApiImplicitParam(value = "人车合一照片", name = "peopleAndCarsPhone", required = false, dataType = "string"),
             @ApiImplicitParam(value = "司机id", name = "uid", required = true, dataType = "int"),
-            @ApiImplicitParam(value = "车辆id", name = "carId", required = false, dataType = "int")
+            @ApiImplicitParam(value = "车辆id", name = "carId", required = false, dataType = "int"),
+            @ApiImplicitParam(value = "其他品牌", name = "otherBrand", required = false, dataType = "string"),
+            @ApiImplicitParam(value = "其他型号", name = "otherModel", required = false, dataType = "string")
     })
     public ResultUtil addDriverCar(Integer modelId, String color, String licensePlate, Date time, String drivingLicenseNumber, String drivingLicensePhoto, String drivingLicenseEndTime,
-                                   String carPhoto, String insurancePhoto, String commercialInsuranceTime, Integer uid, Integer carId, String peopleAndCarsPhone, Integer language){
+                                   String carPhoto, String insurancePhoto, String commercialInsuranceTime, Integer uid, Integer carId, String peopleAndCarsPhone, Integer language
+                                    ,String otherBrand,String otherModel){
         try {
-            return carService.addCar(modelId, color, licensePlate, time, drivingLicenseNumber, drivingLicensePhoto, drivingLicenseEndTime, carPhoto, insurancePhoto, commercialInsuranceTime, uid,carId, peopleAndCarsPhone, language);
+            return carService.addCar(modelId, color, licensePlate,
+                    time, drivingLicenseNumber, drivingLicensePhoto,
+                    drivingLicenseEndTime, carPhoto, insurancePhoto, commercialInsuranceTime, uid,carId, peopleAndCarsPhone, language,otherBrand,otherModel);
         }catch (Exception e){
             e.printStackTrace();
             return ResultUtil.runErr();
@@ -1101,17 +1111,62 @@
             List<Map<String, Object>> list = driverService.queryActivityIncome(language, uid, pageNum, size);
             List<BaseWarpper> data = new ArrayList<>();
             for(Map<String, Object> map : list){
-                BaseWarpper baseWarpper = new BaseWarpper();
-                baseWarpper.setDay(String.valueOf(null != map.get("time") ? map.get("time") : ""));
-                baseWarpper.setAmount(Double.valueOf(String.valueOf(null != map.get("money") ? map.get("money") : 0)));
-                baseWarpper.setName(language == 1 ? "活动奖励" : language == 2 ? "Activity reward" : "Récompenses pour événements");
-                data.add(baseWarpper);
+                String incomeId = map.get("incomeId").toString();
+                DriverActivityHistory driverActivityHistory = driverActivityHistoryMapper.selectById(incomeId);
+                if(null == driverActivityHistory){
+                    BaseWarpper baseWarpper = new BaseWarpper();
+                    baseWarpper.setDay(String.valueOf(null != map.get("time") ? map.get("time") : ""));
+                    baseWarpper.setAmount(Double.valueOf(String.valueOf(null != map.get("money") ? map.get("money") : 0)));
+                    baseWarpper.setName(language == 1 ? "活动奖励" : language == 2 ? "Activity reward" : "Récompenses pour événements");
+                    data.add(baseWarpper);
+                }else{
+                    Integer type = driverActivityHistory.getType();
+                    BaseWarpper baseWarpper = new BaseWarpper();
+                    baseWarpper.setDay(String.valueOf(null != map.get("time") ? map.get("time") : ""));
+                    baseWarpper.setAmount(Double.valueOf(String.valueOf(null != map.get("money") ? map.get("money") : 0)));
+                    switch (type){
+                        case 1:
+                            baseWarpper.setName(language == 1 ? "邀请司机奖励(活动)" : language == 2 ? "Invite drivers and earn" : "Invitez des chauffeurs et gagnez de l’argent");
+                            break;
+                        case 2:
+                            baseWarpper.setName(language == 1 ? "邀请用户奖励(活动)" : language == 2 ? "Invite users and earn" : "Invitez des utilisateurs et gagnez de l’argent");
+                            break;
+                        case 3:
+                            baseWarpper.setName(language == 1 ? "在线时长奖励(活动)" : language == 2 ? "Online-duration reward activity" : "Activité de récompense en ligne");
+                            break;
+                        case 4:
+                            baseWarpper.setName(language == 1 ? "累计接单奖励(活动)" : language == 2 ? "Cumulative order activity" : "Activité cumulée des commandes");
+                            break;
+                    }
+                    data.add(baseWarpper);
+                }
             }
             return ResultUtil.success(data);
         }catch (Exception e){
             e.printStackTrace();
             return ResultUtil.runErr();
         }
+    }
+
+
+    @ResponseBody
+    @PostMapping("/api/driver/getSum")
+    @ApiOperation(value = "获取收入明细总额", tags = {"司机端-个人中心"}, notes = "")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+    })
+    public ResultUtil getSum(HttpServletRequest request) throws Exception {
+        Integer uid = driverService.getUserIdFormRedis(request);
+        if(null == uid){
+            return ResultUtil.tokenErr();
+        }
+        List<Income> objectId = incomeService.selectList(new EntityWrapper<Income>().eq("objectId", uid).eq("type",1));
+        double sum =  0;
+        for (Income income : objectId) {
+            Double money = income.getMoney();
+            sum = sum+money;
+        }
+        return ResultUtil.success(sum);
     }
 
 
@@ -1137,78 +1192,172 @@
                 return ResultUtil.tokenErr();
             }
             List<Map<String, Object>> list = driverService.queryTotalRevenue(language, uid, pageNum, size);
+
             List<BaseWarpper> data = new ArrayList<>();
             for(Map<String, Object> map : list){
+                String type = map.get("type").toString();
                 BaseWarpper baseWarpper = new BaseWarpper();
                 baseWarpper.setDay(String.valueOf(null != map.get("time") ? map.get("time") : ""));
                 baseWarpper.setAmount(Double.valueOf(String.valueOf(null != map.get("money") ? map.get("money") : 0)));
-                switch (Integer.valueOf(String.valueOf(null != map.get("orderType") ? map.get("orderType") : 0))){
-                    case 1:
-                        baseWarpper.setName(language == 1 ? "打车" : language == 2 ? "Ride" : "Course");
-                        break;
-                    case 2:
-                        baseWarpper.setName(language == 1 ? "出租车" : language == 2 ? "taxi" : "taxi");
-                        break;
-                    case 3:
-                        baseWarpper.setName(language == 1 ? "城际出行" : language == 2 ? "Intercity travel" : "Mobilité entre villes");
-                        break;
-                    case 4:
-                        baseWarpper.setName(language == 1 ? "包裹" : language == 2 ? "Package" : "Livraison");
-                        break;
-                    case 5:
-                        baseWarpper.setName(language == 1 ? "跨城小件物流" : language == 2 ? "Cross-city small parts logistics" : "Logistique des petites pièces à travers la ville");
-                        break;
-                }
-                Map<String, Object> map1 = new HashMap<>();
-                switch (Integer.valueOf(map.get("orderType").toString())){
-                    case 1:
-                        OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(map.get("incomeId").toString());
-                        List<Income> incomes = incomeService.queryData(1, null, 2, orderPrivateCar.getId(), 1);
-                        map1.put("travelMoney", orderPrivateCar != null ? orderPrivateCar.getOrderMoney() : 0);//行程费
-                        map1.put("parkMoney", orderPrivateCar != null ? orderPrivateCar.getParkMoney() : 0);//停车费
-                        map1.put("tipMoney", 0);//小费
-                        map1.put("roadTollMoney", orderPrivateCar != null ? orderPrivateCar.getRoadTollMoney() : 0);//过路费
-                        map1.put("rakeMoney", incomes.size() > 0 ? incomes.get(0).getMoney() : 0);//抽成
-                        break;
-                    case 2:
-                        OrderTaxi orderTaxi = orderTaxiService.selectById(map.get("incomeId").toString());
-                        List<Income> incomes1 = incomeService.queryData(1, null, 2, orderTaxi.getId(), 2);
-                        map1.put("travelMoney", orderTaxi != null ? orderTaxi.getTravelMoney() : 0);//行程费
-                        map1.put("parkMoney", orderTaxi != null ? orderTaxi.getParkMoney() : 0);//停车费
-                        map1.put("tipMoney", orderTaxi != null ? orderTaxi.getTipMoney() : 0);//小费
-                        map1.put("roadTollMoney", orderTaxi != null ? orderTaxi.getRoadTollMoney() : 0);//过路费
-                        map1.put("rakeMoney", incomes1.size() > 0 ? incomes1.get(0).getMoney() : 0);//抽成
-                        break;
-                    case 3:
-                        OrderCrossCity orderCrossCity = orderCrossCityService.selectById(map.get("incomeId").toString());
-                        List<Income> incomes2 = incomeService.queryData(1, null, 2, orderCrossCity.getId(), 3);
-                        map1.put("travelMoney", orderCrossCity != null ? orderCrossCity.getOrderMoney() : 0);//行程费
-                        map1.put("parkMoney", 0);//停车费
-                        map1.put("tipMoney", 0);//小费
-                        map1.put("roadTollMoney", 0);//过路费
-                        map1.put("rakeMoney", incomes2.size() > 0 ? incomes2.get(0).getMoney() : 0);//抽成
-                        break;
-                    case 4:
-                        OrderLogistics orderLogistics = orderLogisticsService.selectById(map.get("incomeId").toString());
-                        List<Income> incomes3 = incomeService.queryData(1, null, 2, orderLogistics.getId(), 4);
-                        map1.put("travelMoney", orderLogistics != null ? orderLogistics.getTravelMoney() : 0);//行程费
-                        map1.put("parkMoney", 0);//停车费
-                        map1.put("tipMoney", orderLogistics != null ? orderLogistics.getTipMoney() : 0);//小费
-                        map1.put("roadTollMoney", 0);//过路费
-                        map1.put("rakeMoney", incomes3.size() > 0 ? incomes3.get(0).getMoney() : 0);//抽成
-                        break;
-                    case 5:
-                        OrderLogistics orderLogistics1 = orderLogisticsService.selectById(map.get("incomeId").toString());
-                        List<Income> incomes4 = incomeService.queryData(1, null, 2, orderLogistics1.getId(), 5);
-                        map1.put("travelMoney", orderLogistics1 != null ? orderLogistics1.getTravelMoney() : 0);//行程费
-                        map1.put("parkMoney", 0);//停车费
-                        map1.put("tipMoney", orderLogistics1 != null ? orderLogistics1.getTipMoney() : 0);//小费
-                        map1.put("roadTollMoney", 0);//过路费
-                        map1.put("rakeMoney", incomes4.size() > 0 ? incomes4.get(0).getMoney() : 0);//抽成
-                        break;
+                if("2".equals(type)){
+                    switch (Integer.valueOf(String.valueOf(null != map.get("orderType") ? map.get("orderType") : 0))){
+                        case 1:
+                            baseWarpper.setName(language == 1 ? "打车" : language == 2 ? "Ride" : "Course");
+                            break;
+                        case 2:
+                            baseWarpper.setName(language == 1 ? "出租车" : language == 2 ? "taxi" : "taxi");
+                            break;
+                        case 3:
+                            baseWarpper.setName(language == 1 ? "城际出行" : language == 2 ? "Intercity travel" : "Mobilité entre villes");
+                            break;
+                        case 4:
+                            baseWarpper.setName(language == 1 ? "包裹" : language == 2 ? "Delivery" : "Livraison");
+                            break;
+                        case 5:
+                            baseWarpper.setName(language == 1 ? "跨城小件物流" : language == 2 ? "Cross-city small parts logistics" : "Logistique des petites pièces à travers la ville");
+                            break;
+                    }
+                    Map<String, Object> map1 = new HashMap<>();
+                    switch (Integer.valueOf(map.get("orderType").toString())){
+                        case 1:
+                            OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(map.get("incomeId").toString());
+                            if(null == orderPrivateCar){
+                                continue;
+                            }
+                            List<Income> incomes = incomeService.queryData(1, null, 2, orderPrivateCar.getId(), 1);
+                            map1.put("travelMoney", orderPrivateCar != null ? orderPrivateCar.getOrderMoney() : 0);//行程费
+                            map1.put("parkMoney", orderPrivateCar != null ? orderPrivateCar.getParkMoney() : 0);//停车费
+                            map1.put("tipMoney", 0);//小费
+                            map1.put("roadTollMoney", orderPrivateCar != null ? orderPrivateCar.getRoadTollMoney() : 0);//过路费
+                            map1.put("rakeMoney", incomes.size() > 0 ? incomes.get(0).getMoney() : 0);//抽成
+                            break;
+                        case 2:
+                            OrderTaxi orderTaxi = orderTaxiService.selectById(map.get("incomeId").toString());
+                            List<Income> incomes1 = incomeService.queryData(1, null, 2, orderTaxi.getId(), 2);
+                            map1.put("travelMoney", orderTaxi != null ? orderTaxi.getTravelMoney() : 0);//行程费
+                            map1.put("parkMoney", orderTaxi != null ? orderTaxi.getParkMoney() : 0);//停车费
+                            map1.put("tipMoney", orderTaxi != null ? orderTaxi.getTipMoney() : 0);//小费
+                            map1.put("roadTollMoney", orderTaxi != null ? orderTaxi.getRoadTollMoney() : 0);//过路费
+                            map1.put("rakeMoney", incomes1.size() > 0 ? incomes1.get(0).getMoney() : 0);//抽成
+                            break;
+                        case 3:
+                            OrderCrossCity orderCrossCity = orderCrossCityService.selectById(map.get("incomeId").toString());
+                            List<Income> incomes2 = incomeService.queryData(1, null, 2, orderCrossCity.getId(), 3);
+                            map1.put("travelMoney", orderCrossCity != null ? orderCrossCity.getOrderMoney() : 0);//行程费
+                            map1.put("parkMoney", 0);//停车费
+                            map1.put("tipMoney", 0);//小费
+                            map1.put("roadTollMoney", 0);//过路费
+                            map1.put("rakeMoney", incomes2.size() > 0 ? incomes2.get(0).getMoney() : 0);//抽成
+                            break;
+                        case 4:
+                            OrderLogistics orderLogistics = orderLogisticsService.selectById(map.get("incomeId").toString());
+                            List<Income> incomes3 = incomeService.queryData(1, null, 2, orderLogistics.getId(), 4);
+                            map1.put("travelMoney", orderLogistics != null ? orderLogistics.getTravelMoney() : 0);//行程费
+                            map1.put("parkMoney", 0);//停车费
+                            map1.put("tipMoney", orderLogistics != null ? orderLogistics.getTipMoney() : 0);//小费
+                            map1.put("roadTollMoney", 0);//过路费
+                            map1.put("rakeMoney", incomes3.size() > 0 ? incomes3.get(0).getMoney() : 0);//抽成
+                            break;
+                        case 5:
+                            OrderLogistics orderLogistics1 = orderLogisticsService.selectById(map.get("incomeId").toString());
+                            List<Income> incomes4 = incomeService.queryData(1, null, 2, orderLogistics1.getId(), 5);
+                            map1.put("travelMoney", orderLogistics1 != null ? orderLogistics1.getTravelMoney() : 0);//行程费
+                            map1.put("parkMoney", 0);//停车费
+                            map1.put("tipMoney", orderLogistics1 != null ? orderLogistics1.getTipMoney() : 0);//小费
+                            map1.put("roadTollMoney", 0);//过路费
+                            map1.put("rakeMoney", incomes4.size() > 0 ? incomes4.get(0).getMoney() : 0);//抽成
+                            break;
+                    }
+                    baseWarpper.setData(map1);
                 }
 
-                baseWarpper.setData(map1);
+                if("3".equals(type)){
+                    switch (Integer.valueOf(String.valueOf(null != map.get("orderType") ? map.get("orderType") : 0))){
+                        case 1:
+                            baseWarpper.setName(language == 1 ? "打车" : language == 2 ? "Ride" : "Course");
+                            break;
+                        case 2:
+                            baseWarpper.setName(language == 1 ? "出租车" : language == 2 ? "taxi" : "taxi");
+                            break;
+                        case 3:
+                            baseWarpper.setName(language == 1 ? "城际出行" : language == 2 ? "Intercity travel" : "Mobilité entre villes");
+                            break;
+                        case 4:
+                            baseWarpper.setName(language == 1 ? "包裹" : language == 2 ? "Delivery" : "Livraison");
+                            break;
+                        case 5:
+                            baseWarpper.setName(language == 1 ? "跨城小件物流" : language == 2 ? "Cross-city small parts logistics" : "Logistique des petites pièces à travers la ville");
+                            break;
+                    }
+                    baseWarpper.setName(language == 1 ? "取消订单费用" : language == 2 ? "Cancellation fee" : "Frais d'annulation");
+                    baseWarpper.setData(new Object());
+                }
+                if("5".equals(type)){
+                    switch (Integer.valueOf(String.valueOf(null != map.get("orderType") ? map.get("orderType") : 0))){
+                        case 1:
+                            baseWarpper.setName(language == 1 ? "打车" : language == 2 ? "Ride" : "Course");
+                            break;
+                        case 2:
+                            baseWarpper.setName(language == 1 ? "出租车" : language == 2 ? "taxi" : "taxi");
+                            break;
+                        case 3:
+                            baseWarpper.setName(language == 1 ? "城际出行" : language == 2 ? "Intercity travel" : "Mobilité entre villes");
+                            break;
+                        case 4:
+                            baseWarpper.setName(language == 1 ? "包裹" : language == 2 ? "Delivery" : "Livraison");
+                            break;
+                        case 5:
+                            baseWarpper.setName(language == 1 ? "跨城小件物流" : language == 2 ? "Cross-city small parts logistics" : "Logistique des petites pièces à travers la ville");
+                            break;
+                    }
+                    Map<String, Object> map1 = new HashMap<>();
+                    map1.put("content", language == 1 ? "优惠券 (平台补贴)" : language == 2 ? "Coupon (I-GO Promotions)" : "Coupon (Promotions d’I-GO)");
+                    baseWarpper.setData(map1);
+                }
+                if("6".equals(type)){
+                    switch (Integer.valueOf(String.valueOf(null != map.get("orderType") ? map.get("orderType") : 0))){
+                        case 1:
+                            baseWarpper.setName(language == 1 ? "打车" : language == 2 ? "Ride" : "Course");
+                            break;
+                        case 2:
+                            baseWarpper.setName(language == 1 ? "出租车" : language == 2 ? "taxi" : "taxi");
+                            break;
+                        case 3:
+                            baseWarpper.setName(language == 1 ? "城际出行" : language == 2 ? "Intercity travel" : "Mobilité entre villes");
+                            break;
+                        case 4:
+                            baseWarpper.setName(language == 1 ? "包裹" : language == 2 ? "Delivery" : "Livraison");
+                            break;
+                        case 5:
+                            baseWarpper.setName(language == 1 ? "跨城小件物流" : language == 2 ? "Cross-city small parts logistics" : "Logistique des petites pièces à travers la ville");
+                            break;
+                    }
+                    Map<String, Object> map1 = new HashMap<>();
+                    map1.put("content", language == 1 ? "折扣 (平台补贴)" : language == 2 ? "Discount (I-GO Promotions)" : "Rabais (Promotions d’I-GO)");
+                    baseWarpper.setData(map1);
+                }
+                if("7".equals(type)){
+                    switch (Integer.valueOf(String.valueOf(null != map.get("orderType") ? map.get("orderType") : 0))){
+                        case 1:
+                            baseWarpper.setName(language == 1 ? "打车" : language == 2 ? "Ride" : "Course");
+                            break;
+                        case 2:
+                            baseWarpper.setName(language == 1 ? "出租车" : language == 2 ? "taxi" : "taxi");
+                            break;
+                        case 3:
+                            baseWarpper.setName(language == 1 ? "城际出行" : language == 2 ? "Intercity travel" : "Mobilité entre villes");
+                            break;
+                        case 4:
+                            baseWarpper.setName(language == 1 ? "包裹" : language == 2 ? "Delivery" : "Livraison");
+                            break;
+                        case 5:
+                            baseWarpper.setName(language == 1 ? "跨城小件物流" : language == 2 ? "Cross-city small parts logistics" : "Logistique des petites pièces à travers la ville");
+                            break;
+                    }
+                    Map<String, Object> map1 = new HashMap<>();
+                    map1.put("content", language == 1 ? "红包 (平台补贴)" : language == 2 ? "Lucky promo (I-GO Promotions)" : "Bonus (Promotions d’I-GO)");
+                    baseWarpper.setData(map1);
+                }
                 data.add(baseWarpper);
             }
             return ResultUtil.success(data);
@@ -1293,7 +1442,7 @@
             if(null == uid){
                 return ResultUtil.tokenErr();
             }
-            SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd");
+            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
             List<ActivityWarpper> activityWarppers = driverService.queryMyActivity(uid, sdf.parse(time), language);
             return ResultUtil.success(activityWarppers);
         }catch (Exception e){

--
Gitblit v1.7.1