From b77c1869930d044db13a0d4a672bf98da1cab2c2 Mon Sep 17 00:00:00 2001
From: zhibing.pu <393733352@qq.com>
Date: 星期四, 22 八月 2024 12:00:07 +0800
Subject: [PATCH] 修改bug

---
 DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java |  141 +++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 124 insertions(+), 17 deletions(-)

diff --git a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java
index 4f54b5c..1de4706 100644
--- a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java
+++ b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java
@@ -1096,6 +1096,25 @@
                 loginWarpper.setJumpCode("200000");
             }
         }
+        if(null != driver.getCarId()){
+            Car car = carService.selectById(driver.getCarId());
+            if(!StringUtils.hasLength(car.getVehicleId())){
+                car.setVehicleId(UUIDUtil.getRandomCode());
+                carService.updateById(car);
+            }
+            new Thread(()->{
+                try {
+                    CarModel carModel = carModelMapper.selectById(car.getCarModelId());
+                    String vehicles = fleetEngineUtil.getVehicles(car.getVehicleId());
+                    if(ToolUtil.isEmpty(vehicles)) {
+                        fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+                    }
+                }catch (Exception e){
+                    e.printStackTrace();
+                }
+            }).start();
+            loginWarpper.setVehicleId(car.getVehicleId());
+        }
         return ResultUtil.success(loginWarpper);
     }
 
@@ -1193,14 +1212,20 @@
             }
     
             //司机下班,修改谷歌上的车辆信息
-            CarModel carModel = carModelMapper.selectById(car.getCarModelId());
-            String vehicles = fleetEngineUtil.getVehicles(car.getVehicleId());
-            if(ToolUtil.isEmpty(vehicles)){
-                fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-                fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-            }else{
-                fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-            }
+            new Thread(()->{
+                try {
+                    CarModel carModel = carModelMapper.selectById(car.getCarModelId());
+                    String vehicles = fleetEngineUtil.getVehicles(car.getVehicleId());
+                    if(ToolUtil.isEmpty(vehicles)){
+                        fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+                        fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+                    }else{
+                        fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+                    }
+                }catch (Exception e){
+                    e.printStackTrace();
+                }
+            }).start();
             switch (language){
                 case 1:
                     audioUrl = "http://182.160.16.251:81/files/audio/system/AfterWork-CN.mp3";
@@ -1254,14 +1279,23 @@
             }
             
             //司机上班,修改谷歌上的车辆信息
-            CarModel carModel = carModelMapper.selectById(car.getCarModelId());
-            String vehicles = fleetEngineUtil.getVehicles(car.getVehicleId());
-            if(ToolUtil.isEmpty(vehicles)){
-                fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-                fleetEngineUtil.updateVehicles("ONLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-            }else{
-                fleetEngineUtil.updateVehicles("ONLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
-            }
+            new Thread(new Runnable() {
+                @Override
+                public void run() {
+                    try {
+                        CarModel carModel = carModelMapper.selectById(car.getCarModelId());
+                        String vehicles = fleetEngineUtil.getVehicles(car.getVehicleId());
+                        if(ToolUtil.isEmpty(vehicles)){
+                            fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+                            fleetEngineUtil.updateVehicles("ONLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+                        }else{
+                            fleetEngineUtil.updateVehicles("ONLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
+                        }
+                    }catch (Exception e){
+                        e.printStackTrace();
+                    }
+                }
+            }).start();
     
             switch (language){
                 case 1:
@@ -1435,7 +1469,6 @@
             driver.setQrCode(QrCodeUtil.getQrCode(uid));
             driverMapper.updateById(driver);
         }
-        //减去本周的收入
         return map;
     }
 
@@ -1801,6 +1834,80 @@
         }
         return list;
     }
+    
+    
+    @Override
+    public List<ActivityWarpper> queryHistoryList(Integer uid, Date time, Integer language) throws Exception {
+        List<ActivityWarpper> list = new ArrayList<>();
+        Map<String, Date> date = dateUtil.getStartAndEndDate(time);
+        List<DriverActivityHistory> driverActivityHistories = driverActivityHistoryMapper.queryHistoryList(uid, null, null, date.get("startTime"), date.get("endTime"));
+        
+        SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
+        for(DriverActivityHistory dah : driverActivityHistories){
+            ActivityWarpper activityWarpper = new ActivityWarpper();
+            switch (dah.getType()){
+                case 1://邀请司机注册
+                    DriverActivityRegistered driverActivityRegistered = driverActivityRegisteredMapper.selectById(dah.getActivityId());
+                    activityWarpper.setId(driverActivityRegistered.getId());
+                    activityWarpper.setContent(language == 1 ? "邀请司机注册奖励GHS" + driverActivityRegistered.getMoney() :
+                            language == 2 ? " Invite drivers to register for a reward of GHS" + driverActivityRegistered.getMoney():
+                                    "Invitez les chauffeurs à s’inscrire pour une récompense de GHS" + driverActivityRegistered.getMoney());
+                    break;
+                case 2://邀请用户注册
+                    DriverActivityRegistered driverActivityRegistered1 = driverActivityRegisteredMapper.selectById(dah.getActivityId());
+                    activityWarpper.setId(driverActivityRegistered1.getId());
+                    activityWarpper.setContent(language == 1 ? "邀请用户注册奖励GHS" + driverActivityRegistered1.getMoney() :
+                            language == 2 ? "Invite users to register for a reward of GHS" + driverActivityRegistered1.getMoney():
+                                    "Invitez les utilisateurs à s’inscrire pour une récompense de GHS" + driverActivityRegistered1.getMoney());
+                    break;
+                case 3://累计在线
+                    DriverActivityOnline driverActivityOnline = driverActivityOnlineMapper.selectById(dah.getActivityId());
+                    activityWarpper.setId(driverActivityOnline.getId());
+                    StringBuffer sb = new StringBuffer(language == 1 ? "今日" :
+                            language == 2 ? "Today, stay online receiving orders of " : "Aujourd’hui, reste en ligne à recevoir des commandes ");
+                    DriverOnline query = driverOnlineMapper.query(uid, sdf1.format(new Date()), driverActivityOnline.getType(), 0);
+                    Integer hour = 0;
+                    if(null != query){
+                        hour = Long.valueOf(query.getDuration() / 3600).intValue();
+                    }
+                    switch (driverActivityOnline.getType()){
+                        case 1:
+                            sb.append(language == 1 ? "打车" : language == 2 ? "ride" : "de course");
+                            break;
+                        case 2:
+                            sb.append("出租车");
+                            continue;
+                        case 3:
+                            sb.append("城际出行");
+                            continue;
+                        case 4:
+                            sb.append(language == 1 ? "包裹" : language == 2 ? "delivery" : "de livraison");
+                            break;
+                    }
+                    String str = language == 1 ? "累计在线" +driverActivityOnline.getOnline() + "小时奖励GHS" +driverActivityOnline.getMoney():
+                            language == 2 ? " for " + driverActivityOnline.getOnline() + " hours to get a reward of GHS" + driverActivityOnline.getMoney():
+                                    " pendant " + driverActivityOnline.getOnline() + " heures afin d'obtenir une récompense de GHS" + driverActivityOnline.getMoney();
+                    activityWarpper.setContent(sb.append(str).toString());
+                    activityWarpper.setCarryOut((dah.getCarryOut() == 2 || hour > driverActivityOnline.getOnline()) ? driverActivityOnline.getOnline() + "/" +driverActivityOnline.getOnline() : hour + "/" + driverActivityOnline.getOnline());
+                    break;
+                case 4://订单量
+                    DriverActivityOrder driverActivityOrder = driverActivityOrderMapper.selectById(dah.getActivityId());
+                    activityWarpper.setId(driverActivityOrder.getId());
+                    activityWarpper.setContent(language == 1 ? "今日" + driverActivityOrder.getStart() + "-" + driverActivityOrder.getEnd() + "累计接单" + driverActivityOrder.getOrderNum() + "单奖励GHS" + driverActivityOrder.getMoney():
+                            language == 2 ? "Today " + driverActivityOrder.getStart() + "-" + driverActivityOrder.getEnd() + ", complete " + driverActivityOrder.getOrderNum() + " orders for a reward of GHS" + driverActivityOrder.getMoney() :
+                                    "Aujourd’hui de " + driverActivityOrder.getStart() + " à " + driverActivityOrder.getEnd() + ", complétez " + driverActivityOrder.getOrderNum() + " commandes pour une récompense de GHS" + driverActivityOrder.getMoney());
+                    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+                    Date start = sdf.parse(sdf1.format(time) + " " + driverActivityOrder.getStart() + ":00");
+                    Date end = sdf.parse(sdf1.format(time) + " " + driverActivityOrder.getEnd() + ":59");
+                    Integer integer = orderService.queryOrderNum(uid, start, end);
+                    activityWarpper.setCarryOut(integer.compareTo(driverActivityOrder.getOrderNum()) > 0 ? driverActivityOrder.getOrderNum() + "/" + driverActivityOrder.getOrderNum() : integer + "/" + driverActivityOrder.getOrderNum());
+                    break;
+            }
+            list.add(activityWarpper);
+        }
+        return list;
+    }
+    
 
 
     /**

--
Gitblit v1.7.1