无关风月
2024-07-26 79d97c39f1d118824f91467feb9f4a55717fd0c0
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java
@@ -39,10 +39,7 @@
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.*;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.*;
@@ -1103,6 +1100,9 @@
    
        //司机登录,添加谷歌上的车辆信息
        Car car = carService.selectById(driver.getCarId());
        if(null == car){
            return ResultUtil.error(language == 1 ? "登录失败,请先绑定车辆" : language == 2 ? "Login failed, please bind the vehicle first" : "La connexion a échoué, veuillez d’abord lier le véhicule");
        }
        if(!StringUtils.hasLength(car.getVehicleId())){
            car.setVehicleId(UUIDUtil.getRandomCode());
            carService.updateById(car);
@@ -1187,6 +1187,7 @@
        DriverWork driverWork = driverWorkMapper.queryNewWork(uid, null, 1);
        Driver driver = this.selectById(uid);
        Car car = carService.selectById(driver.getCarId());
        String audioUrl = "";
        if(null != driverWork){//作下班操作
            //检测是否有未完成的订单
            List<Map<String, Object>> list = orderService.queryOrderList(1, 1, 10, uid, language);
@@ -1210,6 +1211,17 @@
                fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
            }else{
                fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
            }
            switch (language){
                case 1:
                    audioUrl = "http://182.160.16.251:81/files/audio/AfterWork-CN.mp3";
                    break;
                case 2:
                    audioUrl = "http://182.160.16.251:81/files/audio/AfterWork-EN.mp3";
                    break;
                case 3:
                    audioUrl = "http://182.160.16.251:81/files/audio/AfterWork-FR.mp3";
                    break;
            }
        }else{
            LoginWarpper loginWarpper = new LoginWarpper();
@@ -1259,9 +1271,21 @@
            }else{
                fleetEngineUtil.updateVehicles("ONLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
            }
            switch (language){
                case 1:
                    audioUrl = "http://182.160.16.251:81/files/audio/AtWork-CN.mp3";
                    break;
                case 2:
                    audioUrl = "http://182.160.16.251:81/files/audio/AtWork-EN.mp3";
                    break;
                case 3:
                    audioUrl = "http://182.160.16.251:81/files/audio/AtWork-FR.mp3";
                    break;
            }
        }
        this.updateById(driver);
        return ResultUtil.success();
        return ResultUtil.success(audioUrl);
    }
@@ -1346,7 +1370,7 @@
        map.put("service", list.size());//服务中
        list = orderTaxiService.queryOrderList(language, 2, uid);
        map.put("reservation", list.size());//预约
        List<Map<String, Object>> list1 = orderLogisticsService.queryOrderList(uid, language);
        List<Map<String, Object>> list1 = orderLogisticsService.queryOrderList(1, uid, language);
        map.put("small", list1.size());//小件
        int size = this.queryMyActivity(uid, new Date(), language).size();
        map.put("activity", size);//活动
@@ -1362,12 +1386,12 @@
     */
    @Override
    public List<BaseWarpper> queryMyBusiness(Integer uid, Integer language) throws Exception {
        List<DriverService> list = driverServiceMapper.queryMyBusiness(uid);
        List<Integer> list = Arrays.asList(1, 4);
        List<BaseWarpper> maps = new ArrayList<>();
        for (DriverService d : list){
        for (Integer d : list){
            BaseWarpper baseWarpper = new BaseWarpper();
            baseWarpper.setId(d.getType());
            switch (d.getType()){
            baseWarpper.setId(d);
            switch (d){
                case 1:
                    baseWarpper.setName(language == 1 ? "打车" : language == 2 ? "Ride" : "Course");
                    break;
@@ -1840,8 +1864,15 @@
                    driverActivityHistoryMapper.insert(driverActivityHistory);
                    if(ToolUtil.isNotEmpty(driver.getEmail())) {
                        new Thread(() -> {
                            try {
                        String path1 = templatePath + "driver/index.html";
                        Document document1 = Jsoup.parse(new File(path1), "UTF-8");
                                Document document1 = null;
                                try {
                                    document1 = Jsoup.parse(new File(path1), "UTF-8");
                                } catch (IOException e) {
                                    throw new RuntimeException(e);
                                }
                        if (1 == language) {
                            document1.getElementById("english").remove();
                            document1.getElementById("french").remove();
@@ -1938,6 +1969,10 @@
                            tEmail.setAmOrPm(language==1?"下午":language==2?"afternoon":"après-midi");
                        }
                        emailService.insert(tEmail);
                            }catch (Exception e){
                                e.printStackTrace();
                            }
                        }).start();
                    }
                }
            }
@@ -1956,6 +1991,8 @@
                    driverActivityHistoryMapper.insert(driverActivityHistory);
                    if(ToolUtil.isNotEmpty(driver.getEmail())) {
                        new Thread(() -> {
                            try {
                        String path1 = templatePath + "driver/index.html";
                        Document document1 = Jsoup.parse(new File(path1), "UTF-8");
                        if (1 == language) {
@@ -2054,6 +2091,10 @@
                            tEmail.setAmOrPm(language==1?"下午":language==2?"afternoon":"après-midi");
                        }
                        emailService.insert(tEmail);
                            }catch (Exception e){
                                e.printStackTrace();
                            }
                        }).start();
                    }
                }
            }
@@ -2073,6 +2114,8 @@
                    driverActivityHistoryMapper.insert(driverActivityHistory);
                    if(ToolUtil.isNotEmpty(driver.getEmail())) {
                        new Thread(() -> {
                            try {
                        String path1 = templatePath + "driver/index.html";
                        Document document1 = Jsoup.parse(new File(path1), "UTF-8");
                        if (1 == language) {
@@ -2171,6 +2214,10 @@
                            tEmail.setAmOrPm(language==1?"下午":language==2?"afternoon":"après-midi");
                        }
                        emailService.insert(tEmail);
                            }catch (Exception e){
                                e.printStackTrace();
                            }
                        }).start();
                    }
                }
            }
@@ -2190,6 +2237,8 @@
                    driverActivityHistoryMapper.insert(driverActivityHistory);
                    if(ToolUtil.isNotEmpty(driver.getEmail())) {
                        new Thread(() -> {
                            try {
                        String path1 = templatePath + "driver/index.html";
                        Document document1 = Jsoup.parse(new File(path1), "UTF-8");
                        if (1 == language) {
@@ -2288,6 +2337,10 @@
                            tEmail.setAmOrPm(language==1?"下午":language==2?"afternoon":"après-midi");
                        }
                        emailService.insert(tEmail);
                            }catch (Exception e){
                                e.printStackTrace();
                            }
                        }).start();
                    }
                }
            }
@@ -2302,7 +2355,6 @@
    @Override
    public void taskMinute() throws Exception {
        Map<String, Date> date = dateUtil.getStartAndEndDate(new Date());
        Integer language = 2;
        //在线时长
        List<DriverActivityHistory> list = driverActivityHistoryMapper.queryList(null, 3, 1, date.get("startTime"), date.get("endTime"));
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
@@ -2311,12 +2363,14 @@
            if(null == dao){
                continue;
            }
            Long duration = Long.valueOf(dao.getOnline() * 3600);
            List<DriverOnline> driverOnlines = driverOnlineMapper.queryList(sdf.format(new Date()), dao.getType(), duration);
            for (DriverOnline driverOnline : driverOnlines) {
                if(dah.getDriverId().compareTo(driverOnline.getDriverId()) == 0){
            Long duration = Double.valueOf(dao.getOnline() * 3600).longValue();
            List<DriverOnline> driverOnlines = driverOnlineMapper.queryList(sdf.format(new Date()), null, dah.getDriverId(), duration);
            if(driverOnlines.size() > 0){
                    dah.setCarryOut(2);//完成状态
                    driverActivityHistoryMapper.updateById(dah);
                redisUtil.remove("driverActivity_" + dah.getDriverId() + "_" + dah.getId());
                    //修改余额
                    Driver driver = this.selectById(dah.getDriverId());
                    driver.setActivityMoney(new BigDecimal(null != driver.getActivityMoney() ? driver.getActivityMoney() : 0)
@@ -2328,9 +2382,9 @@
                    this.updateById(driver);
                    //添加收入记录
                    incomeService.saveData(2, driverOnline.getDriverId(), 1, dah.getId(), null, dah.getMoney());
                incomeService.saveData(2, dah.getDriverId(), 1, dah.getId(), null, dah.getMoney());
                Integer language = driver.getLanguage();
                    if(ToolUtil.isNotEmpty(driver.getEmail())) {
                        String path1 = templatePath + "driver/index.html";
                        Document document1 = Jsoup.parse(new File(path1), "UTF-8");
@@ -2427,7 +2481,6 @@
                    }
                }
            }
        }
        //订单量
        List<DriverActivityHistory> list1 = driverActivityHistoryMapper.queryList(null, 4, 1, date.get("startTime"), date.get("endTime"));
@@ -2450,6 +2503,7 @@
                //添加收入记录
                incomeService.saveData(2, dah.getDriverId(), 1, dah.getId(), null, dah.getMoney());
                Integer language = driver.getLanguage();
                if(ToolUtil.isNotEmpty(driver.getEmail())) {
                    String path1 = templatePath + "driver/index.html";
                    Document document1 = Jsoup.parse(new File(path1), "UTF-8");