From f9b9131367d9ba6fe852130b12083c0f5ea68bbb Mon Sep 17 00:00:00 2001 From: zhibing.pu <393733352@qq.com> Date: 星期一, 27 五月 2024 17:26:16 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/2.0' into 2.0 --- DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java | 61 +++++++++++++++++++++++------- 1 files changed, 47 insertions(+), 14 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 68631c3..a28d5db 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 @@ -18,6 +18,7 @@ import com.stylefeng.guns.modular.system.service.*; import com.stylefeng.guns.modular.system.util.*; import com.stylefeng.guns.modular.system.util.GoogleMap.AddressComponentsVo; +import com.stylefeng.guns.modular.system.util.GoogleMap.FleetEngineUtil; import com.stylefeng.guns.modular.system.util.GoogleMap.GoogleMapUtil; import com.stylefeng.guns.modular.system.util.GoogleMap.ReverseGeocodeVo; import com.stylefeng.guns.modular.system.util.itextpdf.HtmlToPdfUtils; @@ -153,6 +154,13 @@ @Autowired private TEmailService emailService; + + @Autowired + private FleetEngineUtil fleetEngineUtil; + + + @Resource + private CarModelMapper carModelMapper; @Override @@ -327,11 +335,6 @@ List<Map<String, Object>> query = driverActivityRegisteredMapper.query(userType, driver.getCompanyId()); BigDecimal bigDecimal = new BigDecimal("0"); for(Map<String, Object> map : query){ - if(Double.valueOf(String.valueOf(map.get("money"))).compareTo(0D) > 0){ - bigDecimal = bigDecimal.add(new BigDecimal(String.valueOf(map.get("money")))); - incomeService.saveData(2, driver.getId(), 1, Integer.valueOf(String.valueOf(map.get("id"))), null, Double.valueOf(String.valueOf(map.get("money")))); - } - DriverActivityHistory dah = new DriverActivityHistory(); dah.setActivityId(Integer.valueOf(map.get("id").toString())); dah.setDriverId(uid); @@ -339,6 +342,10 @@ DriverActivityHistory driverActivityHistory = driverActivityHistoryMapper.selectOne(dah); driverActivityHistory.setCarryOut(2); driverActivityHistoryMapper.updateById(driverActivityHistory); + if(Double.valueOf(String.valueOf(map.get("money"))).compareTo(0D) > 0){ + bigDecimal = bigDecimal.add(new BigDecimal(String.valueOf(map.get("money")))); + incomeService.saveData(2, driver.getId(), 1, driverActivityHistory.getId(), null, Double.valueOf(String.valueOf(map.get("money")))); + } } driver.setActivityMoney(bigDecimal.add(new BigDecimal(driver.getActivityMoney())).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); driver.setLaveActivityMoney(bigDecimal.add(new BigDecimal(driver.getLaveActivityMoney())).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); @@ -523,10 +530,6 @@ List<Map<String, Object>> query = driverActivityRegisteredMapper.query(userType, driver.getCompanyId()); BigDecimal bigDecimal = new BigDecimal("0"); for(Map<String, Object> map : query){ - if(Double.valueOf(String.valueOf(map.get("money"))).compareTo(0D) > 0){ - bigDecimal = bigDecimal.add(new BigDecimal(String.valueOf(map.get("money")))); - incomeService.saveData(2, driver.getId(), 1, Integer.valueOf(String.valueOf(map.get("id"))), null, Double.valueOf(String.valueOf(map.get("money")))); - } DriverActivityHistory dah = new DriverActivityHistory(); dah.setActivityId(Integer.valueOf(map.get("id").toString())); dah.setDriverId(uid); @@ -534,6 +537,10 @@ DriverActivityHistory driverActivityHistory = driverActivityHistoryMapper.selectOne(dah); driverActivityHistory.setCarryOut(2); driverActivityHistoryMapper.updateById(driverActivityHistory); + if(Double.valueOf(String.valueOf(map.get("money"))).compareTo(0D) > 0){ + bigDecimal = bigDecimal.add(new BigDecimal(String.valueOf(map.get("money")))); + incomeService.saveData(2, driver.getId(), 1, driverActivityHistory.getId(), null, Double.valueOf(String.valueOf(map.get("money")))); + } } driver.setActivityMoney(bigDecimal.add(new BigDecimal(driver.getActivityMoney())).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); driver.setLaveActivityMoney(bigDecimal.add(new BigDecimal(driver.getLaveActivityMoney())).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); @@ -1092,6 +1099,14 @@ loginWarpper.setJumpCode("200000"); } } + + //司机登录,添加谷歌上的车辆信息 + Car car = carService.selectById(driver.getCarId()); + String vehicles = fleetEngineUtil.getVehicles(driver.getCarId()); + if(ToolUtil.isEmpty(vehicles)){ + CarModel carModel = carModelMapper.selectById(car.getCarModelId()); + fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), driver.getCarId()); + } return ResultUtil.success(loginWarpper); } @@ -1165,6 +1180,7 @@ public ResultUtil work(Integer uid, String type, Integer language) throws Exception { DriverWork driverWork = driverWorkMapper.queryNewWork(uid, null, 1); Driver driver = this.selectById(uid); + Car car = carService.selectById(driver.getCarId()); if(null != driverWork){//作下班操作 //检测是否有未完成的订单 List<Map<String, Object>> list = orderService.queryOrderList(1, 1, 10, uid, language); @@ -1175,6 +1191,15 @@ driverWork.setState(2); driverWorkMapper.updateById(driverWork); driver.setState(1); + + //司机下班,修改谷歌上的车辆信息 + CarModel carModel = carModelMapper.selectById(car.getCarModelId()); + String vehicles = fleetEngineUtil.getVehicles(driver.getCarId()); + if(ToolUtil.isEmpty(vehicles)){ + fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), driver.getCarId()); + }else{ + fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), driver.getCarId()); + } }else{ LoginWarpper loginWarpper = new LoginWarpper(); if(driver.getCompanyId()==null){ @@ -1193,7 +1218,6 @@ if(driver.getAuthState()==4){ return ResultUtil.error(language == 1 ? "请完善资料后再出车" : language == 2 ? "Please complete data before driving." : "Veuillez compléter les données avant de conduire."); } - Car car = carService.selectById(driver.getCarId()); if(car==null){ return ResultUtil.error(language == 1 ? "请完善资料后再出车" : language == 2 ? "Please complete data before driving." : "Veuillez compléter les données avant de conduire."); } @@ -1210,6 +1234,15 @@ driverWork.setType(type); driverWorkMapper.insert(driverWork); driver.setState(2); + + //司机上班,修改谷歌上的车辆信息 + CarModel carModel = carModelMapper.selectById(car.getCarModelId()); + String vehicles = fleetEngineUtil.getVehicles(driver.getCarId()); + if(ToolUtil.isEmpty(vehicles)){ + fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), driver.getCarId()); + }else{ + fleetEngineUtil.updateVehicles("ONLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), driver.getCarId()); + } } this.updateById(driver); return ResultUtil.success(); @@ -1700,7 +1733,7 @@ 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()), 0); + 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(); @@ -2263,7 +2296,7 @@ continue; } Long duration = Long.valueOf(dao.getOnline() * 3600); - List<DriverOnline> driverOnlines = driverOnlineMapper.queryList(sdf.format(new Date()), duration); + List<DriverOnline> driverOnlines = driverOnlineMapper.queryList(sdf.format(new Date()), dao.getType(), duration); for (DriverOnline driverOnline : driverOnlines) { if(dah.getDriverId().compareTo(driverOnline.getDriverId()) == 0){ dah.setCarryOut(2);//完成状态 @@ -2279,7 +2312,7 @@ this.updateById(driver); //添加收入记录 - incomeService.saveData(2, driverOnline.getDriverId(), 1, dao.getId(), null, dah.getMoney()); + incomeService.saveData(2, driverOnline.getDriverId(), 1, dah.getId(), null, dah.getMoney()); if(ToolUtil.isNotEmpty(driver.getEmail())) { @@ -2399,7 +2432,7 @@ this.updateById(driver); //添加收入记录 - incomeService.saveData(2, dah.getDriverId(), 1, dao.getId(), null, dah.getMoney()); + incomeService.saveData(2, dah.getDriverId(), 1, dah.getId(), null, dah.getMoney()); if(ToolUtil.isNotEmpty(driver.getEmail())) { String path1 = templatePath + "driver/index.html"; -- Gitblit v1.7.1