| | |
| | | import com.stylefeng.guns.modular.taxi.dao.OrderTaxiMapper; |
| | | import com.stylefeng.guns.modular.taxi.model.OrderTaxi; |
| | | import com.stylefeng.guns.modular.taxi.service.IOrderTaxiService; |
| | | import io.rong.models.response.TokenResult; |
| | | import org.apache.shiro.authc.SimpleAuthenticationInfo; |
| | | import org.apache.shiro.authc.UsernamePasswordToken; |
| | | import org.apache.shiro.authc.credential.HashedCredentialsMatcher; |
| | |
| | | List<Driver> drivers = driverMapper.queryIdleDriver(type, companyId); |
| | | List<Driver> list = new ArrayList<>(); |
| | | for(Driver driver : drivers){ |
| | | String value = (String) redisTemplate.opsForValue().get("DRIVER" + String.valueOf(driver.getId())); |
| | | String value = (String) redisTemplate.opsForValue().get("dache:DRIVER" + String.valueOf(driver.getId())); |
| | | if(null != value){ |
| | | Map<String, Double> distance1 = geodesyUtil.getDistance(lon + "," + lat, value); |
| | | double d = Double.valueOf(distance1.get("WGS84")).doubleValue(); |
| | |
| | | List<Driver> drivers = driverMapper.queryIdleDriver_(type, serverCarModelId, companyId); |
| | | List<Driver> list = new ArrayList<>(); |
| | | for(Driver driver : drivers){ |
| | | String value = (String) redisTemplate.opsForValue().get("DRIVER" + String.valueOf(driver.getId())); |
| | | String value = (String) redisTemplate.opsForValue().get("dache:DRIVER" + String.valueOf(driver.getId())); |
| | | if(null != value){ |
| | | Map<String, Double> distance1 = geodesyUtil.getDistance(lon + "," + lat, value); |
| | | double d = Double.valueOf(distance1.get("WGS84")).doubleValue(); |
| | |
| | | loginWarpper.setToken(token); |
| | | loginWarpper.setAppid(UUIDUtil.getRandomCode()); |
| | | loginWarpper.setState(ToolUtil.isEmpty(driver.getIdCard()) ? 1 : 0); |
| | | TokenResult token1 = RongCloudUtil.getToken(driver.getId().toString(), driver.getName(), driver.getHeadImgUrl()); |
| | | loginWarpper.setRongYunToken(token1.getToken()); |
| | | // TokenResult token1 = RongCloudUtil.getToken(driver.getId().toString(), driver.getName(), driver.getHeadImgUrl()); |
| | | // loginWarpper.setRongYunToken(token1.getToken()); |
| | | |
| | | //创建高德猎鹰的终端数据 |
| | | // String tid = gdFalconUtil.createTerminal(phone); |
| | |
| | | String s = JwtTokenUtil.generateToken(String.valueOf(driver.getId())); |
| | | redisTemplate.opsForValue().set(s.substring(s.length() - 32), String.valueOf(driver.getId()), 7, TimeUnit.DAYS); |
| | | redisTemplate.opsForValue().set(driver.getPhone(), s.substring(s.length() - 32)); |
| | | redisTemplate.opsForValue().set("DRIVER_" + driver.getId(), s); |
| | | redisTemplate.opsForValue().set("dache:DRIVER_" + driver.getId(), s); |
| | | |
| | | |
| | | LoginWarpper loginWarpper = new LoginWarpper(); |
| | |
| | | String s = JwtTokenUtil.generateToken(String.valueOf(driver.getId())); |
| | | redisTemplate.opsForValue().set(s.substring(s.length() - 32), String.valueOf(driver.getId()), 7, TimeUnit.DAYS); |
| | | redisTemplate.opsForValue().set(driver.getPhone(), s.substring(s.length() - 32)); |
| | | redisTemplate.opsForValue().set("DRIVER_" + driver.getId(), s); |
| | | redisTemplate.opsForValue().set("dache:DRIVER_" + driver.getId(), s); |
| | | |
| | | |
| | | LoginWarpper loginWarpper = new LoginWarpper(); |
| | |
| | | String s = JwtTokenUtil.generateToken(String.valueOf(driver.getId())); |
| | | redisTemplate.opsForValue().set(s.substring(s.length() - 32), String.valueOf(driver.getId()), 7, TimeUnit.DAYS); |
| | | redisTemplate.opsForValue().set(driver.getPhone(), s.substring(s.length() - 32)); |
| | | redisTemplate.opsForValue().set("DRIVER_" + driver.getId(), s); |
| | | redisTemplate.opsForValue().set("dache:DRIVER_" + driver.getId(), s); |
| | | |
| | | |
| | | LoginWarpper loginWarpper = new LoginWarpper(); |
| | |
| | | Driver driver = driverMapper.selectById(id); |
| | | String key = (String) redisTemplate.opsForValue().get(driver.getPhone()); |
| | | redisTemplate.delete(key);//删除个人信息数据 |
| | | redisTemplate.delete("DRIVER_" + driver.getPhone());//删除后台冻结相关缓存 |
| | | redisTemplate.delete("DRIVER_" + id);//清除存储的token |
| | | redisTemplate.delete("DEVICE_" + id);//清除车载端登录的标识 |
| | | redisTemplate.delete("dache:DRIVER_" + driver.getPhone());//删除后台冻结相关缓存 |
| | | redisTemplate.delete("dache:DRIVER_" + id);//清除存储的token |
| | | redisTemplate.delete("dache:DEVICE_" + id);//清除车载端登录的标识 |
| | | return ResultUtil.success(); |
| | | } |
| | | |
| | |
| | | public DriverIndexVo queryHomeDataFromDriver(Integer uid) { |
| | | DriverIndexVo driverIndexVo = new DriverIndexVo(); |
| | | // 获取快车订单 |
| | | List<OrderPrivateCar> orderPrivateCars = orderPrivateCarMapper.selectList(new EntityWrapper<OrderPrivateCar>().ne("state", 10).eq("driverId", uid).like("insertTime", LocalDate.now().toString())); |
| | | List<OrderPrivateCar> orderPrivateCars = orderPrivateCarMapper.selectList(new EntityWrapper<OrderPrivateCar>().in("state", Arrays.asList(7, 8, 9)).eq("driverId", uid).like("insertTime", LocalDate.now().toString())); |
| | | // 跨城订单 |
| | | List<OrderCrossCity> orderCrossCities = orderCrossCityMapper.selectList(new EntityWrapper<OrderCrossCity>().ne("state", 10).eq("driverId", uid).like("insertTime", LocalDate.now().toString())); |
| | | List<OrderCrossCity> orderCrossCities = orderCrossCityMapper.selectList(new EntityWrapper<OrderCrossCity>().in("state", Arrays.asList(7, 8, 9)).eq("driverId", uid).like("insertTime", LocalDate.now().toString())); |
| | | // 出租车订单 |
| | | List<OrderTaxi> orderTaxis = orderTaxiMapper.selectList(new EntityWrapper<OrderTaxi>().ne("state", 10).eq("driverId", uid).like("insertTime", LocalDate.now().toString())); |
| | | List<OrderTaxi> orderTaxis = orderTaxiMapper.selectList(new EntityWrapper<OrderTaxi>().in("state", Arrays.asList(7, 8, 9)).eq("driverId", uid).like("insertTime", LocalDate.now().toString())); |
| | | driverIndexVo.setTodayOrderNum(orderPrivateCars.size() + orderCrossCities.size() + orderTaxis.size()); |
| | | |
| | | |
| | | double sum = orderPrivateCars.stream().mapToDouble(OrderPrivateCar::getOrderMoney).sum(); |
| | | double sum1 = orderCrossCities.stream().mapToDouble(OrderCrossCity::getOrderMoney).sum(); |
| | | double sum2 = orderTaxis.stream().mapToDouble(OrderTaxi::getOrderMoney).sum(); |
| | | double sum2 = orderTaxis.stream().filter(e->e.getOrderMoney()!=null).mapToDouble(OrderTaxi::getOrderMoney).sum(); |
| | | driverIndexVo.setTodayOrderMoney(new BigDecimal(sum +sum1+sum2)); |
| | | |
| | | |
| | |
| | | */ |
| | | private void singlePointLogin(Integer id) { |
| | | //开始验证当前账号是否在别处登录 |
| | | String value = (String) redisTemplate.opsForValue().get("DRIVER_" + id); |
| | | String value = (String) redisTemplate.opsForValue().get("dache:DRIVER_" + id); |
| | | if (ToolUtil.isNotEmpty(value)) {//将另外设备上的强迫下线(如果是车载端不需要下线) |
| | | //开始清除redis中无效的数据 |
| | | Driver driver = driverMapper.selectById(id); |
| | | String key = (String) redisTemplate.opsForValue().get("DRIVER_" + driver.getPhone()); |
| | | String key = (String) redisTemplate.opsForValue().get("dache:DRIVER_" + driver.getPhone()); |
| | | if(ToolUtil.isNotEmpty(key)){ |
| | | redisTemplate.delete(key);//删除个人信息数据 |
| | | } |
| | | redisTemplate.delete("DRIVER_" + driver.getPhone());//删除后台冻结相关缓存 |
| | | redisTemplate.delete("DRIVER_" + id);//清除存储的token |
| | | redisTemplate.delete("dache:DRIVER_" + driver.getPhone());//删除后台冻结相关缓存 |
| | | redisTemplate.delete("dache:DRIVER_" + id);//清除存储的token |
| | | } |
| | | } |
| | | |
| | |
| | | usernamePasswordToken, simpleAuthenticationInfo); |
| | | String s = JwtTokenUtil.generateToken(String.valueOf(driver.getId())); |
| | | redisTemplate.opsForValue().set(s.substring(s.length() - 32), String.valueOf(driver.getId()), 7, TimeUnit.DAYS); |
| | | redisTemplate.opsForValue().set("DRIVER_" + driver.getPhone(), s.substring(s.length() - 32)); |
| | | redisTemplate.opsForValue().set("DRIVER_" + driver.getId(), s); |
| | | redisTemplate.opsForValue().set("dache:DRIVER_" + driver.getPhone(), s.substring(s.length() - 32)); |
| | | redisTemplate.opsForValue().set("dache:DRIVER_" + driver.getId(), s); |
| | | return s; |
| | | } |
| | | |