| | |
| | | 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; |
| | |
| | | import org.apache.shiro.authc.credential.HashedCredentialsMatcher; |
| | | import org.apache.shiro.crypto.hash.Md5Hash; |
| | | import org.apache.shiro.util.ByteSource; |
| | | import org.apache.shiro.util.StringUtils; |
| | | import org.jsoup.Jsoup; |
| | | import org.jsoup.nodes.Document; |
| | | import org.jsoup.nodes.Element; |
| | |
| | | |
| | | @Autowired |
| | | private TEmailService emailService; |
| | | |
| | | @Autowired |
| | | private FleetEngineUtil fleetEngineUtil; |
| | | |
| | | |
| | | @Resource |
| | | private CarModelMapper carModelMapper; |
| | | |
| | | |
| | | @Override |
| | |
| | | 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); |
| | |
| | | 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()); |
| | |
| | | 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); |
| | |
| | | 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()); |
| | |
| | | loginWarpper.setJumpCode("200000"); |
| | | } |
| | | } |
| | | |
| | | //司机登录,添加谷歌上的车辆信息 |
| | | Car car = carService.selectById(driver.getCarId()); |
| | | if(!StringUtils.hasLength(car.getVehicleId())){ |
| | | car.setVehicleId(UUIDUtil.getRandomCode()); |
| | | carService.updateById(car); |
| | | } |
| | | String vehicles = fleetEngineUtil.getVehicles(car.getVehicleId()); |
| | | if(ToolUtil.isEmpty(vehicles)){ |
| | | CarModel carModel = carModelMapper.selectById(car.getCarModelId()); |
| | | fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId()); |
| | | } |
| | | return ResultUtil.success(loginWarpper); |
| | | } |
| | | |
| | |
| | | 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); |
| | |
| | | driverWork.setState(2); |
| | | driverWorkMapper.updateById(driverWork); |
| | | driver.setState(1); |
| | | |
| | | if(!StringUtils.hasLength(car.getVehicleId())){ |
| | | car.setVehicleId(UUIDUtil.getRandomCode()); |
| | | carService.updateById(car); |
| | | } |
| | | |
| | | //司机下班,修改谷歌上的车辆信息 |
| | | 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()); |
| | | }else{ |
| | | fleetEngineUtil.updateVehicles("OFFLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId()); |
| | | } |
| | | }else{ |
| | | LoginWarpper loginWarpper = new LoginWarpper(); |
| | | if(driver.getCompanyId()==null){ |
| | |
| | | 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."); |
| | | } |
| | |
| | | driverWork.setType(type); |
| | | driverWorkMapper.insert(driverWork); |
| | | driver.setState(2); |
| | | |
| | | if(!StringUtils.hasLength(car.getVehicleId())){ |
| | | car.setVehicleId(UUIDUtil.getRandomCode()); |
| | | carService.updateById(car); |
| | | } |
| | | |
| | | //司机上班,修改谷歌上的车辆信息 |
| | | 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()); |
| | | }else{ |
| | | fleetEngineUtil.updateVehicles("ONLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId()); |
| | | } |
| | | } |
| | | this.updateById(driver); |
| | | return ResultUtil.success(); |
| | |
| | | */ |
| | | @Override |
| | | public List<Map<String, Object>> queryTotalRevenue(Integer language, Integer uid, Integer pageNum, Integer size) throws Exception { |
| | | List<Map<String, Object>> query = incomeService.query(language, 2, uid, Arrays.asList(2, 3), pageNum, size); |
| | | List<Map<String, Object>> query = incomeService.query(language, 2, uid, Arrays.asList(2, 3, 5, 6, 7), pageNum, size); |
| | | return query; |
| | | } |
| | | |
| | |
| | | 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(); |
| | |
| | | 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);//完成状态 |
| | |
| | | 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())) { |
| | |
| | | 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"; |