From d0bd61d3b3f637750bb21587dfa81503f2d4b6a8 Mon Sep 17 00:00:00 2001
From: zhibing.pu <393733352@qq.com>
Date: 星期一, 24 六月 2024 11:07:02 +0800
Subject: [PATCH] 修改google地图对接bug
---
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/FleetEngineUtil.java | 78 +++++++-------
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java | 1
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/dao/mapping/OrderPrivateCarMapper.xml | 6
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserInfoController.java | 4
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/FleetEngineUtil.java | 78 +++++++-------
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/OrderWarpper.java | 11 ++
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/DriverInfoWarpper.java | 12 ++
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/dao/mapping/OrderLogisticsMapper.xml | 6
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java | 4
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/DriverMapper.xml | 1
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/FleetEngineUtil.java | 76 +++++++-------
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/LoginWarpper.java | 11 ++
12 files changed, 164 insertions(+), 124 deletions(-)
diff --git a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java
index 2582519..5b51032 100644
--- a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java
+++ b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java
@@ -1734,13 +1734,13 @@
@ApiImplicitParams({
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
})
- public ResultUtil<String> getFleetEngineAuth(HttpServletRequest request){
+ public ResultUtil<Map<String, Object>> getFleetEngineAuth(HttpServletRequest request){
try {
Integer uid = driverService.getUserIdFormRedis(request);
if(null == uid){
return ResultUtil.tokenErr();
}
- String s = fleetEngineUtil.fleetEngineAuth(2, uid);
+ Map<String, Object> s = fleetEngineUtil.fleetEngineAuth(2, uid);
return ResultUtil.success(s);
}catch (Exception e){
e.printStackTrace();
diff --git a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/DriverMapper.xml b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/DriverMapper.xml
index 4d9ac6d..53142ff 100644
--- a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/DriverMapper.xml
+++ b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/DriverMapper.xml
@@ -383,6 +383,7 @@
(select `name` from t_company where 1 = 1 and if(a.companyId is null or a.companyId = 0, id = 1, if(a.franchiseeId is null or a.franchiseeId = 0, id = a.companyId, id = a.franchiseeId))) as company,
b.carLicensePlate as licensePlate,
b.carColor as carColor,
+ b.vehicleId,
CONCAT(d.`name`, c.`name`) as brand,
(
(select count(id) from t_order_private_car where driverId = a.id and state in (7, 8, 9)) +
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 66ca7f7..bf33bed 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
@@ -1112,6 +1112,7 @@
CarModel carModel = carModelMapper.selectById(car.getCarModelId());
fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), car.getVehicleId());
}
+ loginWarpper.setVehicleId(car.getVehicleId());
return ResultUtil.success(loginWarpper);
}
diff --git a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/FleetEngineUtil.java b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/FleetEngineUtil.java
index 49a5904..4be7b9f 100644
--- a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/FleetEngineUtil.java
+++ b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/FleetEngineUtil.java
@@ -54,7 +54,7 @@
* @param type 0=服务端,1=乘客,2=司机
* @return
*/
- public String fleetEngineAuth(int type, Integer id){
+ public Map<String, Object> fleetEngineAuth(int type, Integer id){
try {
//谷歌云服务器使用这部分代码
// AuthTokenMinter minter = AuthTokenMinter.builder()
@@ -75,23 +75,53 @@
.build();
String jwt = "";
+ Long expirationTimestamp = 0L;
if(0 == type){
FleetEngineToken serverToken = minter.getServerToken();
jwt = serverToken.jwt();
+ expirationTimestamp = serverToken.expirationTimestamp().getTime();
}
if(1 == type){
FleetEngineToken consumerToken = minter.getConsumerToken(TripClaims.create("I-GO-USER" + id));
jwt = consumerToken.jwt();
+ expirationTimestamp = consumerToken.expirationTimestamp().getTime();
}
if(2 == type){
FleetEngineToken driverToken = minter.getDriverToken(VehicleClaims.create("I-GO-CAR" + id));
jwt = driverToken.jwt();
+ expirationTimestamp = driverToken.expirationTimestamp().getTime();
}
- return jwt;
+ Map<String, Object> map = new HashMap<>();
+ map.put("token", jwt);
+ map.put("expirationTimestamp", expirationTimestamp);
+ return map;
} catch (SigningTokenException e) {
throw new RuntimeException(e);
}
}
+
+
+
+ public String getToken(){
+ String token_json = redisUtil.getValue("google_token");
+ String google_token = "";
+ if(!StringUtils.hasLength(token_json)){
+ Map<String, Object> map = fleetEngineAuth(0, null);
+ redisUtil.setStrValue("google_token", JSON.toJSONString(map));
+ google_token = map.get("token").toString();
+ }else{
+ JSONObject jsonObject1 = JSON.parseObject(token_json);
+ Long expirationTimestamp = jsonObject1.getLong("expirationTimestamp");
+ google_token = jsonObject1.getString("token");
+ if((expirationTimestamp - 10000L) <= System.currentTimeMillis()){
+ Map<String, Object> map = fleetEngineAuth(0, null);
+ redisUtil.setStrValue("google_token", JSON.toJSONString(map));
+ google_token = map.get("token").toString();
+ }
+ }
+ return google_token;
+ }
+
@@ -103,15 +133,10 @@
* @param id 车辆id
*/
public String createVehicles(int maximumCapacity, String licensePlate, String id) throws Exception{
- String google_token = redisUtil.getValue("google_token");
- if(!StringUtils.hasLength(google_token)){
- google_token = fleetEngineAuth(0, null);
- redisUtil.setStrValue("google_token", google_token);
- }
String url = "https://fleetengine.googleapis.com/v1/providers/" + provider + "/vehicles?vehicleId=" + id;
HttpRequest post = HttpUtil.createPost(url);
Map<String, String> headers = new HashMap<>();
- headers.put("Authorization", "Bearer " + google_token);
+ headers.put("Authorization", "Bearer " + getToken());
headers.put("Content-Type", "application/json");
post.addHeaders(headers);
@@ -177,11 +202,6 @@
* @return
*/
public String updateVehicles(String vehicleState, Integer maximumCapacity, String licensePlate, String id) throws Exception{
- String google_token = redisUtil.getValue("google_token");
- if(!StringUtils.hasLength(google_token)){
- google_token = fleetEngineAuth(0, null);
- redisUtil.setStrValue("google_token", google_token);
- }
String url = "https://fleetengine.googleapis.com/v1/providers/" + provider + "/vehicles/" + id + "?updateMask=";
List<String> sb = new ArrayList<>();
if(StringUtils.hasLength(vehicleState)){
@@ -198,7 +218,7 @@
HttpRequest put = HttpUtil.createRequest(Method.PUT, url);
Map<String, String> headers = new HashMap<>();
- headers.put("Authorization", "Bearer " + google_token);
+ headers.put("Authorization", "Bearer " + getToken());
headers.put("Content-Type", "application/json");
put.addHeaders(headers);
@@ -273,15 +293,10 @@
* @return
*/
public String getVehicles(String id) throws Exception{
- String google_token = redisUtil.getValue("google_token");
- if(!StringUtils.hasLength(google_token)){
- google_token = fleetEngineAuth(0, null);
- redisUtil.setStrValue("google_token", google_token);
- }
String url = "https://fleetengine.googleapis.com/v1/providers/" + provider + "/vehicles/" + (null != id ? id : "");
HttpRequest get = HttpUtil.createGet(url);
Map<String, String> headers = new HashMap<>();
- headers.put("Authorization", "Bearer " + google_token);
+ headers.put("Authorization", "Bearer " + getToken());
headers.put("Content-Type", "application/json");
get.addHeaders(headers);
@@ -382,15 +397,10 @@
* @return
*/
public String createTrip(String vehicleId, Integer numberOfPassengers, String tripId, String start_lat, String start_lng, String end_lat, String end_lng) throws Exception{
- String google_token = redisUtil.getValue("google_token");
- if(!StringUtils.hasLength(google_token)){
- google_token = fleetEngineAuth(0, null);
- redisUtil.setStrValue("google_token", google_token);
- }
String url = "https://fleetengine.googleapis.com/v1/providers/" + provider + "/trips?tripId=" + tripId;
HttpRequest post = HttpUtil.createPost(url);
Map<String, String> headers = new HashMap<>();
- headers.put("Authorization", "Bearer " + google_token);
+ headers.put("Authorization", "Bearer " + getToken());
headers.put("Content-Type", "application/json");
post.addHeaders(headers);
@@ -564,11 +574,6 @@
* @return
*/
public String updateTrip(String tripStatus, String vehicleId, Integer numberOfPassengers, String tripId, String start_lat, String start_lng, String end_lat, String end_lng) throws Exception {
- String google_token = redisUtil.getValue("google_token");
- if(!StringUtils.hasLength(google_token)){
- google_token = fleetEngineAuth(0, null);
- redisUtil.setStrValue("google_token", google_token);
- }
String url = "https://fleetengine.googleapis.com/v1/providers/" + provider + "/trips/" + tripId + "?updateMask=";
List<String> sb = new ArrayList<>();
if(StringUtils.hasLength(vehicleId)){
@@ -592,7 +597,7 @@
HttpRequest put = HttpUtil.createRequest(Method.PUT, url);
Map<String, String> headers = new HashMap<>();
- headers.put("Authorization", "Bearer " + google_token);
+ headers.put("Authorization", "Bearer " + getToken());
headers.put("Content-Type", "application/json");
put.addHeaders(headers);
@@ -780,15 +785,10 @@
* @return
*/
public String getTrip(String tripId) throws Exception {
- String google_token = redisUtil.getValue("google_token");
- if(!StringUtils.hasLength(google_token)){
- google_token = fleetEngineAuth(0, null);
- redisUtil.setStrValue("google_token", google_token);
- }
String url = "https://fleetengine.googleapis.com/v1/providers/" + provider + "/trips/" + tripId;
HttpRequest get = HttpUtil.createGet(url);
Map<String, String> headers = new HashMap<>();
- headers.put("Authorization", "Bearer " + google_token);
+ headers.put("Authorization", "Bearer " + getToken());
headers.put("Content-Type", "application/json");
get.addHeaders(headers);
diff --git a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/DriverInfoWarpper.java b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/DriverInfoWarpper.java
index d56e1f1..82043b2 100644
--- a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/DriverInfoWarpper.java
+++ b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/DriverInfoWarpper.java
@@ -98,6 +98,8 @@
private String birthday;
@ApiModelProperty("居住地")
private String driverAddress;
+ @ApiModelProperty("google车辆id")
+ private String vehicleId;
public Integer getId() {
return id;
@@ -488,7 +490,17 @@
driverInfoWarpper.setLanguage(null != map.get("language") ? Integer.valueOf(String.valueOf(map.get("language"))) : 2);
driverInfoWarpper.setBirthday(null != map.get("birthday") ? String.valueOf(map.get("birthday")) : "");
driverInfoWarpper.setDriverAddress(null != map.get("driverAddress") ? String.valueOf(map.get("driverAddress")) : "");
+ driverInfoWarpper.setVehicleId(null != map.get("vehicleId") ? String.valueOf(map.get("vehicleId")) : "");
}
return driverInfoWarpper;
}
+
+
+ public String getVehicleId() {
+ return vehicleId;
+ }
+
+ public void setVehicleId(String vehicleId) {
+ this.vehicleId = vehicleId;
+ }
}
diff --git a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/LoginWarpper.java b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/LoginWarpper.java
index 203afbc..12afe29 100644
--- a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/LoginWarpper.java
+++ b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/LoginWarpper.java
@@ -19,6 +19,9 @@
@ApiModelProperty("跳转页面 100000=跳转至【完善个人资料】 200000=跳转至【完善车辆信息】")
private String jumpCode;
+
+ @ApiModelProperty("google车辆id")
+ private String vehicleId;
public String getJumpCode() {
@@ -68,4 +71,12 @@
public void setTerminalId(String terminalId) {
this.terminalId = terminalId;
}
+
+ public String getVehicleId() {
+ return vehicleId;
+ }
+
+ public void setVehicleId(String vehicleId) {
+ this.vehicleId = vehicleId;
+ }
}
diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/FleetEngineUtil.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/FleetEngineUtil.java
index 79c051d..4be7b9f 100644
--- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/FleetEngineUtil.java
+++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/FleetEngineUtil.java
@@ -54,7 +54,7 @@
* @param type 0=服务端,1=乘客,2=司机
* @return
*/
- public String fleetEngineAuth(int type, Integer id){
+ public Map<String, Object> fleetEngineAuth(int type, Integer id){
try {
//谷歌云服务器使用这部分代码
// AuthTokenMinter minter = AuthTokenMinter.builder()
@@ -75,23 +75,53 @@
.build();
String jwt = "";
+ Long expirationTimestamp = 0L;
if(0 == type){
FleetEngineToken serverToken = minter.getServerToken();
jwt = serverToken.jwt();
+ expirationTimestamp = serverToken.expirationTimestamp().getTime();
}
if(1 == type){
FleetEngineToken consumerToken = minter.getConsumerToken(TripClaims.create("I-GO-USER" + id));
jwt = consumerToken.jwt();
+ expirationTimestamp = consumerToken.expirationTimestamp().getTime();
}
if(2 == type){
FleetEngineToken driverToken = minter.getDriverToken(VehicleClaims.create("I-GO-CAR" + id));
jwt = driverToken.jwt();
+ expirationTimestamp = driverToken.expirationTimestamp().getTime();
}
- return jwt;
+ Map<String, Object> map = new HashMap<>();
+ map.put("token", jwt);
+ map.put("expirationTimestamp", expirationTimestamp);
+ return map;
} catch (SigningTokenException e) {
throw new RuntimeException(e);
}
}
+
+
+
+ public String getToken(){
+ String token_json = redisUtil.getValue("google_token");
+ String google_token = "";
+ if(!StringUtils.hasLength(token_json)){
+ Map<String, Object> map = fleetEngineAuth(0, null);
+ redisUtil.setStrValue("google_token", JSON.toJSONString(map));
+ google_token = map.get("token").toString();
+ }else{
+ JSONObject jsonObject1 = JSON.parseObject(token_json);
+ Long expirationTimestamp = jsonObject1.getLong("expirationTimestamp");
+ google_token = jsonObject1.getString("token");
+ if((expirationTimestamp - 10000L) <= System.currentTimeMillis()){
+ Map<String, Object> map = fleetEngineAuth(0, null);
+ redisUtil.setStrValue("google_token", JSON.toJSONString(map));
+ google_token = map.get("token").toString();
+ }
+ }
+ return google_token;
+ }
+
@@ -103,15 +133,10 @@
* @param id 车辆id
*/
public String createVehicles(int maximumCapacity, String licensePlate, String id) throws Exception{
- String google_token = redisUtil.getValue("google_token");
- if(!StringUtils.hasLength(google_token)){
- google_token = fleetEngineAuth(0, null);
- redisUtil.setStrValue("google_token", google_token);
- }
String url = "https://fleetengine.googleapis.com/v1/providers/" + provider + "/vehicles?vehicleId=" + id;
HttpRequest post = HttpUtil.createPost(url);
Map<String, String> headers = new HashMap<>();
- headers.put("Authorization", "Bearer " + google_token);
+ headers.put("Authorization", "Bearer " + getToken());
headers.put("Content-Type", "application/json");
post.addHeaders(headers);
@@ -177,11 +202,6 @@
* @return
*/
public String updateVehicles(String vehicleState, Integer maximumCapacity, String licensePlate, String id) throws Exception{
- String google_token = redisUtil.getValue("google_token");
- if(!StringUtils.hasLength(google_token)){
- google_token = fleetEngineAuth(0, null);
- redisUtil.setStrValue("google_token", google_token);
- }
String url = "https://fleetengine.googleapis.com/v1/providers/" + provider + "/vehicles/" + id + "?updateMask=";
List<String> sb = new ArrayList<>();
if(StringUtils.hasLength(vehicleState)){
@@ -198,7 +218,7 @@
HttpRequest put = HttpUtil.createRequest(Method.PUT, url);
Map<String, String> headers = new HashMap<>();
- headers.put("Authorization", "Bearer " + google_token);
+ headers.put("Authorization", "Bearer " + getToken());
headers.put("Content-Type", "application/json");
put.addHeaders(headers);
@@ -273,15 +293,10 @@
* @return
*/
public String getVehicles(String id) throws Exception{
- String google_token = redisUtil.getValue("google_token");
- if(!StringUtils.hasLength(google_token)){
- google_token = fleetEngineAuth(0, null);
- redisUtil.setStrValue("google_token", google_token);
- }
- String url = "https://fleetengine.googleapis.com/v1/providers/" + provider + "/vehicles" + (null != id ? "/" + id : "");
+ String url = "https://fleetengine.googleapis.com/v1/providers/" + provider + "/vehicles/" + (null != id ? id : "");
HttpRequest get = HttpUtil.createGet(url);
Map<String, String> headers = new HashMap<>();
- headers.put("Authorization", "Bearer " + google_token);
+ headers.put("Authorization", "Bearer " + getToken());
headers.put("Content-Type", "application/json");
get.addHeaders(headers);
@@ -382,15 +397,10 @@
* @return
*/
public String createTrip(String vehicleId, Integer numberOfPassengers, String tripId, String start_lat, String start_lng, String end_lat, String end_lng) throws Exception{
- String google_token = redisUtil.getValue("google_token");
- if(!StringUtils.hasLength(google_token)){
- google_token = fleetEngineAuth(0, null);
- redisUtil.setStrValue("google_token", google_token);
- }
String url = "https://fleetengine.googleapis.com/v1/providers/" + provider + "/trips?tripId=" + tripId;
HttpRequest post = HttpUtil.createPost(url);
Map<String, String> headers = new HashMap<>();
- headers.put("Authorization", "Bearer " + google_token);
+ headers.put("Authorization", "Bearer " + getToken());
headers.put("Content-Type", "application/json");
post.addHeaders(headers);
@@ -564,11 +574,6 @@
* @return
*/
public String updateTrip(String tripStatus, String vehicleId, Integer numberOfPassengers, String tripId, String start_lat, String start_lng, String end_lat, String end_lng) throws Exception {
- String google_token = redisUtil.getValue("google_token");
- if(!StringUtils.hasLength(google_token)){
- google_token = fleetEngineAuth(0, null);
- redisUtil.setStrValue("google_token", google_token);
- }
String url = "https://fleetengine.googleapis.com/v1/providers/" + provider + "/trips/" + tripId + "?updateMask=";
List<String> sb = new ArrayList<>();
if(StringUtils.hasLength(vehicleId)){
@@ -592,7 +597,7 @@
HttpRequest put = HttpUtil.createRequest(Method.PUT, url);
Map<String, String> headers = new HashMap<>();
- headers.put("Authorization", "Bearer " + google_token);
+ headers.put("Authorization", "Bearer " + getToken());
headers.put("Content-Type", "application/json");
put.addHeaders(headers);
@@ -780,15 +785,10 @@
* @return
*/
public String getTrip(String tripId) throws Exception {
- String google_token = redisUtil.getValue("google_token");
- if(!StringUtils.hasLength(google_token)){
- google_token = fleetEngineAuth(0, null);
- redisUtil.setStrValue("google_token", google_token);
- }
String url = "https://fleetengine.googleapis.com/v1/providers/" + provider + "/trips/" + tripId;
HttpRequest get = HttpUtil.createGet(url);
Map<String, String> headers = new HashMap<>();
- headers.put("Authorization", "Bearer " + google_token);
+ headers.put("Authorization", "Bearer " + getToken());
headers.put("Content-Type", "application/json");
get.addHeaders(headers);
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserInfoController.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserInfoController.java
index c624777..ee0750b 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserInfoController.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserInfoController.java
@@ -1343,13 +1343,13 @@
@ApiImplicitParams({
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
})
- public ResultUtil<String> getFleetEngineAuth(HttpServletRequest request){
+ public ResultUtil<Map<String, Object>> getFleetEngineAuth(HttpServletRequest request){
try {
Integer uid = userInfoService.getUserIdFormRedis(request);
if(null == uid){
return ResultUtil.tokenErr();
}
- String s = fleetEngineUtil.fleetEngineAuth(1, uid);
+ Map<String, Object> s = fleetEngineUtil.fleetEngineAuth(1, uid);
return ResultUtil.success(s);
}catch (Exception e){
e.printStackTrace();
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/dao/mapping/OrderLogisticsMapper.xml b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/dao/mapping/OrderLogisticsMapper.xml
index d485fde..2e6eabe 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/dao/mapping/OrderLogisticsMapper.xml
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/dao/mapping/OrderLogisticsMapper.xml
@@ -128,7 +128,8 @@
trackId as trackId,
isDelete as isDelete,
telX as telX,
- bindId as bindId
+ bindId as bindId,
+ tripId
from t_order_logistics where isDelete = 1
<if test="null != start and null != end">
and insertTime between #{start} and #{end}
@@ -159,7 +160,8 @@
payMoney as payMoney,
ifnull(discountMoney, 0) as discountMoney,
(select price from t_order_logistics_spread where orderLogisticsId = a.id) as differenceMoney,
- cancelMidway
+ cancelMidway,
+ tripId
from t_order_logistics as a where userId = #{uid} and isDelete = 1 order by insertTime desc limit #{pageNum}, #{size}
</select>
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/dao/mapping/OrderPrivateCarMapper.xml b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/dao/mapping/OrderPrivateCarMapper.xml
index 52915ce..75870fa 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/dao/mapping/OrderPrivateCarMapper.xml
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/dao/mapping/OrderPrivateCarMapper.xml
@@ -321,7 +321,8 @@
isDelete as isDelete,
oldState as oldState,
telX as telX,
- bindId as bindId
+ bindId as bindId,
+ tripId
from t_order_private_car where isDelete = 1 and userId = #{uid}
<if test="null != state">
and state in
@@ -345,7 +346,8 @@
state as state,
oldState as oldState,
isFrozen,
- cancelMidway
+ cancelMidway,
+ tripId
from t_order_private_car where userId = #{uid} and isDelete = 1 order by insertTime desc limit #{pageNum}, #{size}
</select>
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/FleetEngineUtil.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/FleetEngineUtil.java
index fa994a3..4be7b9f 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/FleetEngineUtil.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/FleetEngineUtil.java
@@ -43,7 +43,7 @@
@Autowired
private RedisUtil redisUtil;
-
+
@@ -54,7 +54,7 @@
* @param type 0=服务端,1=乘客,2=司机
* @return
*/
- public String fleetEngineAuth(int type, Integer id){
+ public Map<String, Object> fleetEngineAuth(int type, Integer id){
try {
//谷歌云服务器使用这部分代码
// AuthTokenMinter minter = AuthTokenMinter.builder()
@@ -75,23 +75,53 @@
.build();
String jwt = "";
+ Long expirationTimestamp = 0L;
if(0 == type){
FleetEngineToken serverToken = minter.getServerToken();
jwt = serverToken.jwt();
+ expirationTimestamp = serverToken.expirationTimestamp().getTime();
}
if(1 == type){
FleetEngineToken consumerToken = minter.getConsumerToken(TripClaims.create("I-GO-USER" + id));
jwt = consumerToken.jwt();
+ expirationTimestamp = consumerToken.expirationTimestamp().getTime();
}
if(2 == type){
FleetEngineToken driverToken = minter.getDriverToken(VehicleClaims.create("I-GO-CAR" + id));
jwt = driverToken.jwt();
+ expirationTimestamp = driverToken.expirationTimestamp().getTime();
}
- return jwt;
+ Map<String, Object> map = new HashMap<>();
+ map.put("token", jwt);
+ map.put("expirationTimestamp", expirationTimestamp);
+ return map;
} catch (SigningTokenException e) {
throw new RuntimeException(e);
}
}
+
+
+
+ public String getToken(){
+ String token_json = redisUtil.getValue("google_token");
+ String google_token = "";
+ if(!StringUtils.hasLength(token_json)){
+ Map<String, Object> map = fleetEngineAuth(0, null);
+ redisUtil.setStrValue("google_token", JSON.toJSONString(map));
+ google_token = map.get("token").toString();
+ }else{
+ JSONObject jsonObject1 = JSON.parseObject(token_json);
+ Long expirationTimestamp = jsonObject1.getLong("expirationTimestamp");
+ google_token = jsonObject1.getString("token");
+ if((expirationTimestamp - 10000L) <= System.currentTimeMillis()){
+ Map<String, Object> map = fleetEngineAuth(0, null);
+ redisUtil.setStrValue("google_token", JSON.toJSONString(map));
+ google_token = map.get("token").toString();
+ }
+ }
+ return google_token;
+ }
+
@@ -103,15 +133,10 @@
* @param id 车辆id
*/
public String createVehicles(int maximumCapacity, String licensePlate, String id) throws Exception{
- String google_token = redisUtil.getValue("google_token");
- if(!StringUtils.hasLength(google_token)){
- google_token = fleetEngineAuth(0, null);
- redisUtil.setStrValue("google_token", google_token);
- }
String url = "https://fleetengine.googleapis.com/v1/providers/" + provider + "/vehicles?vehicleId=" + id;
HttpRequest post = HttpUtil.createPost(url);
Map<String, String> headers = new HashMap<>();
- headers.put("Authorization", "Bearer " + google_token);
+ headers.put("Authorization", "Bearer " + getToken());
headers.put("Content-Type", "application/json");
post.addHeaders(headers);
@@ -177,11 +202,6 @@
* @return
*/
public String updateVehicles(String vehicleState, Integer maximumCapacity, String licensePlate, String id) throws Exception{
- String google_token = redisUtil.getValue("google_token");
- if(!StringUtils.hasLength(google_token)){
- google_token = fleetEngineAuth(0, null);
- redisUtil.setStrValue("google_token", google_token);
- }
String url = "https://fleetengine.googleapis.com/v1/providers/" + provider + "/vehicles/" + id + "?updateMask=";
List<String> sb = new ArrayList<>();
if(StringUtils.hasLength(vehicleState)){
@@ -198,7 +218,7 @@
HttpRequest put = HttpUtil.createRequest(Method.PUT, url);
Map<String, String> headers = new HashMap<>();
- headers.put("Authorization", "Bearer " + google_token);
+ headers.put("Authorization", "Bearer " + getToken());
headers.put("Content-Type", "application/json");
put.addHeaders(headers);
@@ -273,15 +293,10 @@
* @return
*/
public String getVehicles(String id) throws Exception{
- String google_token = redisUtil.getValue("google_token");
- if(!StringUtils.hasLength(google_token)){
- google_token = fleetEngineAuth(0, null);
- redisUtil.setStrValue("google_token", google_token);
- }
String url = "https://fleetengine.googleapis.com/v1/providers/" + provider + "/vehicles/" + (null != id ? id : "");
HttpRequest get = HttpUtil.createGet(url);
Map<String, String> headers = new HashMap<>();
- headers.put("Authorization", "Bearer " + google_token);
+ headers.put("Authorization", "Bearer " + getToken());
headers.put("Content-Type", "application/json");
get.addHeaders(headers);
@@ -382,15 +397,10 @@
* @return
*/
public String createTrip(String vehicleId, Integer numberOfPassengers, String tripId, String start_lat, String start_lng, String end_lat, String end_lng) throws Exception{
- String google_token = redisUtil.getValue("google_token");
- if(!StringUtils.hasLength(google_token)){
- google_token = fleetEngineAuth(0, null);
- redisUtil.setStrValue("google_token", google_token);
- }
String url = "https://fleetengine.googleapis.com/v1/providers/" + provider + "/trips?tripId=" + tripId;
HttpRequest post = HttpUtil.createPost(url);
Map<String, String> headers = new HashMap<>();
- headers.put("Authorization", "Bearer " + google_token);
+ headers.put("Authorization", "Bearer " + getToken());
headers.put("Content-Type", "application/json");
post.addHeaders(headers);
@@ -564,11 +574,6 @@
* @return
*/
public String updateTrip(String tripStatus, String vehicleId, Integer numberOfPassengers, String tripId, String start_lat, String start_lng, String end_lat, String end_lng) throws Exception {
- String google_token = redisUtil.getValue("google_token");
- if(!StringUtils.hasLength(google_token)){
- google_token = fleetEngineAuth(0, null);
- redisUtil.setStrValue("google_token", google_token);
- }
String url = "https://fleetengine.googleapis.com/v1/providers/" + provider + "/trips/" + tripId + "?updateMask=";
List<String> sb = new ArrayList<>();
if(StringUtils.hasLength(vehicleId)){
@@ -592,7 +597,7 @@
HttpRequest put = HttpUtil.createRequest(Method.PUT, url);
Map<String, String> headers = new HashMap<>();
- headers.put("Authorization", "Bearer " + google_token);
+ headers.put("Authorization", "Bearer " + getToken());
headers.put("Content-Type", "application/json");
put.addHeaders(headers);
@@ -780,15 +785,10 @@
* @return
*/
public String getTrip(String tripId) throws Exception {
- String google_token = redisUtil.getValue("google_token");
- if(!StringUtils.hasLength(google_token)){
- google_token = fleetEngineAuth(0, null);
- redisUtil.setStrValue("google_token", google_token);
- }
String url = "https://fleetengine.googleapis.com/v1/providers/" + provider + "/trips/" + tripId;
HttpRequest get = HttpUtil.createGet(url);
Map<String, String> headers = new HashMap<>();
- headers.put("Authorization", "Bearer " + google_token);
+ headers.put("Authorization", "Bearer " + getToken());
headers.put("Content-Type", "application/json");
get.addHeaders(headers);
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/OrderWarpper.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/OrderWarpper.java
index d4faec9..5e603ab 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/OrderWarpper.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/OrderWarpper.java
@@ -56,6 +56,8 @@
private Integer isFrozen;
@ApiModelProperty("中途取消(0=否,1=是)")
private Integer cancelMidway;
+
+ private String tripId;
public Integer getOrderId() {
return orderId;
@@ -257,6 +259,7 @@
orderWarpper.setReceipt(null != map.get("receipt") ? String.valueOf(map.get("receipt")) : "");
orderWarpper.setIsFrozen(null != map.get("isFrozen") ? Integer.valueOf(String.valueOf(map.get("isFrozen"))) : 1);
orderWarpper.setCancelMidway(null != map.get("cancelMidway") ? Integer.valueOf(String.valueOf(map.get("cancelMidway"))) : 0);
+ orderWarpper.setTripId(null != map.get("tripId") ? String.valueOf(map.get("tripId")) : "");
list.add(orderWarpper);
}
}
@@ -280,6 +283,14 @@
this.cancelMidway = cancelMidway;
}
+ public String getTripId() {
+ return tripId;
+ }
+
+ public void setTripId(String tripId) {
+ this.tripId = tripId;
+ }
+
@Override
public int compareTo(Object o) {
if (o instanceof OrderWarpper) {
--
Gitblit v1.7.1