From bcd34aeddcd1f84afd6ce9976bac617a8bbdfca4 Mon Sep 17 00:00:00 2001
From: zhibing.pu <393733352@qq.com>
Date: 星期四, 25 七月 2024 18:23:28 +0800
Subject: [PATCH] 修改2.0 bug

---
 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/FleetEngineUtil.java |   66 ++++++++++++++++++----
 ZuulIGOTravel/src/main/java/com/sinata/zuul/util/NettyStartListener.java                                           |   14 ++--
 ZuulIGOTravel/src/main/java/com/sinata/zuul/util/echo/NettyServerController.java                                   |   26 +++++++-
 ZuulIGOTravel/pom.xml                                                                                              |    4 
 ZuulIGOTravel/src/main/java/com/sinata/zuul/ZuulApplication.java                                                   |   10 +-
 ManagementIGOTravel/guns-admin/src/main/resources/application-produce.yml                                          |    2 
 6 files changed, 91 insertions(+), 31 deletions(-)

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 4be7b9f..d36bbd7 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
@@ -33,11 +33,23 @@
 	
 	static Logger logger = LoggerFactory.getLogger(FleetEngineUtil.class);
 	
-	private final String SERVICE_ACCOUNT = "odrd2024@i-go-odrd-testing.iam.gserviceaccount.com";
+	private final String SERVICE_ACCOUNT = "odrd-fleetengine-ondemandadmin@i-go-odrd-testing.iam.gserviceaccount.com";
 	
-	private final String privateKeyId = "0a9a480fafb6469c0c1b2fa6dbdf6d4bebe1ebed";
+	private final String DRIVER_ACCOUNT = "odrd-fleetengine-driversdkuser@i-go-odrd-testing.iam.gserviceaccount.com";
 	
-	private final String privateKey = "MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDXZoPEFZeZb0C7DXzpPsloB+rQVQAJuR+z4T9uRCz33gBsIqrz1s5Iwd8vXYKKWzukMdXkwqR4WapI/4GtcpbJkRK93mKXvEE3sDz27BnRrZL4gHeECVpFy0egw29sqFM/x/cpst0goqq4/f3ZFGtQGIhSEEHMySQgTbZDIhXMIls1etRsM4K2bTXeMPn89ablPBdbKtTAJy1EI+ZLKbxnl9StyqBam+d+UsfVmNG19MsNbSzCKc+QPnPXb7dj9KxJ/2whog8w15qXQdJHAMeHZyNlqE0zVP7G1VdWo6Q4QtzmENANxBpJIEbAqY2sq3BZSqDd5XS9Dr9BR4XzQqQnAgMBAAECggEABFABAj4eph1vxVYRBH2TpvDGFU3uW7VBPjwp7JzntLAN8eNoPlqmEDP16y6D/HMmfftpAI3TvWA3+ZEPkiX6nVDyW6sGCodyP0QuJEob1HKHFYntzGtHhGg1KCOacLey6TYbJJmUtcsduQXGkocOPaLXNvjzr2mY2zthTDzJ6HzjDo3d2x/O+lUVlNjubTFydgU9bQP8zS389GgZkO/YebK9+qPRBXv1R2fmj0rhpLqC03jL/mUMKi5tW628OiJGdvzLXlAGyJ9CtVDjfrwUgLf8ML+3yfdmv7yFeWuJ2NEgQxKACixHM05qkCW2bOkPIi9+wb1BbVvMdYL+GCPvmQKBgQD/DZ8zpWfNAkl8h8NI0E7sPdN6wgGfPpaC8VpOE3EM2eEijkZZT6XjfxXjMv1vXg1UoeYVscPb99Ux6u2gq+ZJj6+IstNIObXgvrqNxKPw6OO2xCb6UmA4rQ74xe4d1KLN+C1zepgFYgU4ejungWzuPVL7x8xjdyBAvqgPqP1IbQKBgQDYMzXs2QcWr9tVwq1O3D/H6qX2DvelAj7j0vuXGtop1/aJW7bPlGJd9NGim8dnXLVSFyRteuVl4epa/C9h50g3FM/lFMl9lmp1HwpDeiSJYAGRH8cnPJjN/IV3cRl5qN8KUQE2a3BRP+6IPHJiF1Bc1vj08nTMsWmN+K6VcAzqYwKBgGGJ7RNMM0kkkcPtC5LCDxyrfD/bB9HFlrvW3ykyqC44+K9FZ8PqAM/inxU3P9KiTkjKbXpodDWgLskbResHMld5erC1arWZVGPxrNhgli2gcs1HcHyUmjWygSJEV47S7bwFKCScgpy0Yri5jiy+A1GM5Dpjq1dyjEQWZaEviEV1AoGBALoKn023l/T60QgkZNQmjS/wCG4LhSjWHN4ZMOxfa/pz369lX5OSwW7OfBKscFPOoC0Kwwr+pSYd2HgA6Jkb17WmUBt13skWRXeRhVh5Y7VfCxohuVNXPrqKoSMeDOj22y9ac2ur2lPgateLBHbKTxoE1uiZNs7pn8ZOh5UKfeK3AoGBAKjklIbZ05nvM/mzdPk9JfCFJ6SaQqeaQcU9AoLEQdOzIrrI660Ignn4hOzLSYac0GxytYTQzDt5xDHKBYqJfem7IqxkIj9hSnIZFnUxp6+VfBhXdWHGn+GDTQa1iDvfpy/h6Gr4NL+p/EoA17qtUqOlYxJ1Dkbaw3SqUtkbuv2G";
+	private final String CONSUMER_ACCOUNT = "odrd-fleetengine-consumersdkus@i-go-odrd-testing.iam.gserviceaccount.com";
+	
+	private final String serverPrivateKeyId = "254e18eefa9fdcca64d5899cdcd793d466c47c7d";
+	
+	private final String serverPrivateKey = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCfbNAWnukqLKIxItqmSABxsH5glySEHJ2gfL5KsRF0M02e0Z8/KNKZkoh7I6bOMt1fEtttFaWOeq70IdI2WAd5wVazL3upvl5FW4P08ly33LklfGyLljlJ7ChPny9x6OjAaiS0yD9fh7NWti7rZKU7gzcGL8HddNYXgXV5OajvoG3TGdu52WTxce9AUzU6gLPboz/RbGqrdrmgVJVb0EPlhTJf/NSsaiW4NoL8SEzf/pJGYBmqJs97mXwCHTY4avaC+CP/zz9yS8AQEJlApbVT6lSOhYoR0hNOBj5B886EZOssjubO6hQaiwRnGrV2RdpHynqA1iekfGpUGEtWTsqjAgMBAAECggEALyPbMd0iP8y71sCiG4nty7Au5ju62e+mMkbAc9CAwzXKTVxZdLEK+MsJ3TNxBsami47FYC+G6SbgpaJ8iIImD7v5+XjgXZRDRsnlLmAdx2YWPv3YELxGS1PvpX+B5XJDpGWeXfBaQNKc1lZ/cC4t53eIpSUo82UxSvkGNea1S8lR6vIByhNyCQOvLG4yqaxUy0hZi0kge37XrjYMGS+BivBBnDiVlBPLBVbrNBxOf31Lzz+XX0iwXX7Zl2jN759oe0xQyuIGWUSj8xBDIF8nNaJrla7rWVml3sZJh6/3r1Acj0mhZtE0ZMu5hiPGiIXgb1ng30j3dMP4yVPhXrpAtQKBgQDaU01VnHsnHxc0DQHE2vEOPGmPxVS0/JAssePAEUmKEueUogGef91YY+Vm/ItbhLwGjbytnXxe88zRAdB1u07efZ83ey93TrGl2CJUzLHIcgb+Q1tT642rqlfl+q8ep86hcZ+63pDiIPt2Z+HkbKIR0SWf5LIH4flquQOTQufXXQKBgQC674qDsjOJepZjMMN6PkVMcWBYDNmXHnqa5Oto0rZM745UulbXqEFGuBOsXPU7O33Kfz1vbtoluubKZi5B6cFNnPypE2SCfvdObHq4FuTuKPV6lN93SyhZchmSEXEs0PU4cGDRt+RRqQcjft1Wigiy4Y1y1SInCtcaP1hLejEJ/wKBgFAhvwKrGnBzctrB42JTUaJ9/eis7rg28tvUttjp/2nUIndlNt7r41vr3mj8TFHc1/43y4aVhO584THdTpvHkd0LkoKUjglmMsHCIGercZ02bOap5j1Y+XiGXxij995yjN6oi43U3qyAmosM+dYTITEU6JBVKhrGj/rhyTQlnF5pAoGBAKFGmo0mR/pbDbYD0xH6+VSLGCC+7VbIT+SkjUjBSdA0eOo2XUfvfGmj1C1HgbcZi1wRzJH/5CrbBdQmtc/d+QyZ3Q2NkpBXM8uwIWwDLH0gTzDzkZvc9rG8k70GWUrd+EI6Cf3FFjExj9wazqCjs/+IQr2Ijc97NbsKXYW4pOhHAoGAKf5wYk+cn0cVTsyAom0UbGD5Uijqh5732MeqFYs2Rcwx0OErJZo68COSFFF40hJmmIKn7p3qycIyd1FcYlXN1l4s8mEWTGTInRE0OlBU0+jLtIV9pwNgffpbPYcrWZU6s6YVeJ2nDwl+aD+4QvN0rkPTfho9kjgeyF3PW0I2u4E=";
+	
+	private final String driverPrivateKeyId = "859e85fb3aa4d18b4afaac3e24e8f65700da5cc9";
+	
+	private final String driverPrivateKey = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCmzL1BqSH+Zh9Fct5mXqe5sYOMTnJtOJhwKXnjjo2tNPXv4alzUHz8Vbj6nMar5u5IuKRZMeRBlhoRSFrLm+J1+sfvpH8N4wsnG7hDANknqWzdsk9a68qMHxNQF3hFzs9+KKrR1LAG8e9ytMfliN0kX+xls4uPZDPu1Q39K6V9KXrH/GrMA56i3TtWi7Hmakt5YTELeGjhx4nGrfuQLFFovs1Z9uJtf7E8R95+65StrOAmbJNf7VciEqwBpWYlU5VeyLXMg/oHwnTv2cjdcFozyDrlUHbDmtTiVeBBsYFVLyAsDGfl1p6eiVTiBBuo56YSYLWfaLgYvTyEcZ9jBQsfAgMBAAECggEAQzbTuObX3PT3+vtb5XKVMf33XY2rDJo2y1PbWzhxnO9vf3e22dIAW4qLnOmaIWFQeht1lr/FFCzRWk+Gzu+FJTemY8osrMLmFp9T9CQeXZ4nUXruAVxs5WQMW0Tp4W+CK3tlwmJrgJDzhYyV1Mf/HQ5Oa3kbbu/ZAY/3MCLrb/ClJQvD2rZSDdzAkNMQm8P2hsE71+rH7mI2hHrSCHl2OIp2A64QT8HjtyRc5yHZtTp6ZST1ge9SSIsT0ZfmXKtKF7yGEIPtKNU+oLrGyK5P30xBWJ/bwb3PEz2MZcPvz31+B2+UvZMm7OTkqfcRwEztAf8Ckiuo4im2BRYbVmd9OQKBgQDd0MeLxR+Qtv12bVA0bHtagFEq36THgWG7IM1/1vS4Cl9sveKSOS8A6oKLy624fGE7PKcuTTIzkVA81GXtWBQ9Coq/4TmllQkFTH7pz9C2PNHSCychPwNNV8qUx3lE3d4DOjGKgoVFD4l90AO7lOvmLTSc3pDpr+jSjUH4lqGrbQKBgQDAgXBmpXfCTxwqkBzGwxX+hwJen9qSkCM47qnQ1L4NnXPL6s0EN6rQ3FnFemGIzBUGJ2tajntkKlUu5DzsQeoBGu/SaSwgqD+1UQDcUyo+retmqZ+QYbpeyd3l53bLJJuJNsfak0X76Ft6hrm4julx6RGlmboQyx4kZWbhx4YNOwKBgEG9/2aNpi1eDwFqpLrk7CqGnYf3gP8gebbcoguhyiZB7MZuARkVmbjLyKVmWLa1JpxH/cTbXGWsS/u7d/pAgL8WwMjeGBfbdDD92x+xWEqq/AUlCRPxeSkTPBech3TBzWtndAd5Z8ZwNG/1lyWhnck63L0huhGI8Zh2BXeILaKBAoGAKK3xq69BvGztPc1QV2w4RJ4RER/kl14gI1LDzd52/veL1cabZk3BKfu2eLWg0MCXnMJNvEgpqQQNFiii+yX+phckIKma6pfDRrSEYwqr/azQ9tPXZTJRqOAtpPyhrNHikD9kQjsm6dGzKxQ3QNnqWOjwkrcGi6/wga5v7Dw2hqsCgYEA2T/kSNQ9dqpVBAkfi2J50hqnfFESPjKeirJJZllqhVqsiV0ly8a8Fz8SjGqTzrq+UErko+QmtSlo5h3Uq9Ln+0CwYfrUL+74q2zLHdS0DpY3QsGTEDJXTxCyy9kO26X2UsM3Ez3YUAkdMwdpVz0uVZtinv2735QZOBxoVQV2kQ8=";
+	
+	private final String consumerPrivateKeyId = "40acf82cbd5250de2f5123caff40738bdd403b08";
+	
+	private final String consumerPrivateKey = "MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDSwtbSBFgIXna6mWeKFWCK31NXUJH6uGduR1XrODGRedrqrTgr0BdNg8PDo6/zh/T+K0Svor6kgqpwnl9soOdn73oC4Nu+Ad7EiKa38j650jlZdLAr4hR0Ou9Kcnv45x/94auUO8jBz844cu24swLKiPsK9OnX65wVlKRfhhkGFuS/4OI76CmE7NqZDqPOW16o8tBO5TsgPVNkglFAU73fTp0kcHoLauT9QOB0+yZi39mnNXyU+2cL3Ylp5oaQCJpyssDRUqz/EiHa7FxUUgzCadG00+ePf5iYSnZKQRKWoOIawFvcCfcHx8GAl8Nn+79HtVQHB9hLsQ5+jqcdfKPfAgMBAAECggEAE9Ufz912xzrUY1TCKH1Ae3Dub732Lqihmv/9dsfv6ieUURcBvSW0u6eViVhi20DE7hH2QazH0cU18qkEg71UaTRgv9qW8vdMFiRhw9d4zZWZrfBMD6UTlahiEhhZ0B83pHVS5v0FNC+w0SEHe6Tks1hWfz5yrs3N/z3ghdihjC/5i1jeBoHXs1262SMazuwNGHblLApGPG+86taeFtbDI+31TKvZ8nomZHkEVFnARRUoBBcIwowRMqNfwlpcJhlz6kDWnoD08kHJ2zzJokozu7Lim+Ugt/MWwUOcA0hgq2QdymZFpkRkDl7tZmJtwTfTirjbGlpnPHVXEc1bWM7ocQKBgQD0LJ8e7JXf6bVFngq0jSJNKK7XDHYg0KhHXMApF59xxi29hdHXWPzgRJ45KkoUJc7MITpIJLXfCmi1XyDMf9m8lIf/oaqhJ7idYi7iAAPOJkdnHbSt0lebyjBWzCQ6OgS4NfF1+LEibTzRqiFs5K8EAyPYAVSTrpWoguoWtTzIGQKBgQDc9/I2PS+91Eb5RvuidTNsDqZJliTJQFlBjlDViFo3+l1N7jDFYwPBR/Tv4TVM5p9Zb+/Lo9X1pjDbm8QriTR4V+4HaLXkcCnmOsdSRInFUW4UIafwLX5ifjgfyaWgdKdn2UP1Lu/1qBN6GU1xjSfBQ6N3UqQiKkNPb7tuPJGqtwKBgQCQ4hU8vTclGMC14VQK1B/BVt1/vuYtDIJ9bZycBWdXlDc52LitpiDOVgjodJ5mHBT77M9vVVERWlTNIfgNP+OL0TptRZlAbJhP0p1s/oNDhFUj6211InVXfH54UkNAxYJdZ6yxynIYsma/JcsVmQ/8Ony/Q/LSempVBfEurjW1qQKBgQCQWPjFLdtOKqnildg0HFPnNvqx/38waPTluk5b76LgBpGFIyCBEVmWnacIPRpQjidyiYkggnp26oXoMC1KM2svYmGAPYr1G8CDQcqLl3JYkAVU6VeHsnBpbwLC4TttQkdJs8iNFohy9cUjcfwBPbDGs6TJghbuqqUl81uBe9e8qQKBgQDZm8T2KB34J7HAc5A+vqkmAo7mQLZg51OrzB1KnDU86pSAf0o3eSvfDUT6dpU9fRuZ1XYnbPnpoJwjFH3m4u9gqKF3PtVYfZyJrEqYwmhB9z6vd+dcsUlXM0fi37bGZkKBD0JGGt5OljM1qJG15x/LYfC/nwOmqWoOhNPCst2Z7w==";
 	
 	private final String provider = "i-go-odrd-testing";
 	
@@ -54,24 +66,24 @@
 	 * @param type 0=服务端,1=乘客,2=司机
 	 * @return
 	 */
-	public Map<String, Object> fleetEngineAuth(int type, Integer id){
+		public Map<String, Object> fleetEngineAuth(int type, String id){
 		try {
 			//谷歌云服务器使用这部分代码
 //			AuthTokenMinter minter = AuthTokenMinter.builder()
 //					//服务端签名
-//					.setServerSigner(DefaultServiceAccountSigner.create())
+//					.setServerSigner(ImpersonatedSigner.create(SERVICE_ACCOUNT))
 //					//司机端签名
-//					.setDriverSigner(ImpersonatedSigner.create(SERVICE_ACCOUNT))
+//					.setDriverSigner(ImpersonatedSigner.create(DRIVER_ACCOUNT))
 //					//乘客端签名
-//					.setConsumerSigner(ImpersonatedSigner.create(SERVICE_ACCOUNT))
+//					.setConsumerSigner(ImpersonatedSigner.create(CONSUMER_ACCOUNT))
 //					.build();
 			AuthTokenMinter minter = AuthTokenMinter.builder()
 					//服务端签名
-					.setServerSigner(LocalSigner.create(SERVICE_ACCOUNT, privateKeyId, privateKey))
+					.setServerSigner(LocalSigner.create(SERVICE_ACCOUNT, serverPrivateKeyId, serverPrivateKey))
 					//司机端签名
-					.setDriverSigner(LocalSigner.create(SERVICE_ACCOUNT, privateKeyId, privateKey))
+					.setDriverSigner(LocalSigner.create(DRIVER_ACCOUNT, driverPrivateKeyId, driverPrivateKey))
 					//乘客端签名
-					.setConsumerSigner(LocalSigner.create(SERVICE_ACCOUNT, privateKeyId, privateKey))
+					.setConsumerSigner(LocalSigner.create(CONSUMER_ACCOUNT, consumerPrivateKeyId, consumerPrivateKey))
 					.build();
 			
 			String jwt = "";
@@ -82,12 +94,12 @@
 				expirationTimestamp = serverToken.expirationTimestamp().getTime();
 			}
 			if(1 == type){
-				FleetEngineToken consumerToken = minter.getConsumerToken(TripClaims.create("I-GO-USER" + id));
+				FleetEngineToken consumerToken = minter.getConsumerToken(TripClaims.create(id));
 				jwt = consumerToken.jwt();
 				expirationTimestamp = consumerToken.expirationTimestamp().getTime();
 			}
 			if(2 == type){
-				FleetEngineToken driverToken = minter.getDriverToken(VehicleClaims.create("I-GO-CAR" + id));
+				FleetEngineToken driverToken = minter.getDriverToken(VehicleClaims.create(id));
 				jwt = driverToken.jwt();
 				expirationTimestamp = driverToken.expirationTimestamp().getTime();
 			}
@@ -161,6 +173,11 @@
 		if(null != error){
 			Integer code = error.getInteger("code");
 			if(code == 401){
+				String status = error.getString("status");
+				if(StringUtils.hasLength(status) && status.equals("UNAUTHENTICATED")){
+					redisUtil.remove("google_token");
+					return createVehicles(maximumCapacity, licensePlate, id);
+				}
 				String reason = error.getJSONArray("details").getJSONObject(0).getString("reason");
 				if(reason.equals("ACCESS_TOKEN_EXPIRED")){
 					redisUtil.remove("google_token");
@@ -254,6 +271,11 @@
 		if(null != error){
 			Integer code = error.getInteger("code");
 			if(code == 401){
+				String status = error.getString("status");
+				if(StringUtils.hasLength(status) && status.equals("UNAUTHENTICATED")){
+					redisUtil.remove("google_token");
+					return updateVehicles(vehicleState, maximumCapacity, licensePlate, id);
+				}
 				String reason = error.getJSONArray("details").getJSONObject(0).getString("reason");
 				if(reason.equals("ACCESS_TOKEN_EXPIRED")){
 					redisUtil.remove("google_token");
@@ -310,6 +332,11 @@
 				return "";
 			}
 			if(code == 401){
+				String status = error.getString("status");
+				if(StringUtils.hasLength(status) && status.equals("UNAUTHENTICATED")){
+					redisUtil.remove("google_token");
+					return getVehicles(id);
+				}
 				String reason = error.getJSONArray("details").getJSONObject(0).getString("reason");
 				if(reason.equals("ACCESS_TOKEN_EXPIRED")){
 					redisUtil.remove("google_token");
@@ -434,6 +461,11 @@
 		if(null != error){
 			Integer code = error.getInteger("code");
 			if(code == 401){
+				String status = error.getString("status");
+				if(StringUtils.hasLength(status) && status.equals("UNAUTHENTICATED")){
+					redisUtil.remove("google_token");
+					return createTrip(vehicleId, numberOfPassengers, tripId, start_lat, start_lng, end_lat, end_lng);
+				}
 				String reason = error.getJSONArray("details").getJSONObject(0).getString("reason");
 				if(reason.equals("ACCESS_TOKEN_EXPIRED")){
 					redisUtil.remove("google_token");
@@ -648,6 +680,11 @@
 		if(null != error){
 			Integer code = error.getInteger("code");
 			if(code == 401){
+				String status = error.getString("status");
+				if(StringUtils.hasLength(status) && status.equals("UNAUTHENTICATED")){
+					redisUtil.remove("google_token");
+					return updateTrip(tripStatus, vehicleId, numberOfPassengers, tripId, start_lat, start_lng, end_lat, end_lng);
+				}
 				String reason = error.getJSONArray("details").getJSONObject(0).getString("reason");
 				if(reason.equals("ACCESS_TOKEN_EXPIRED")){
 					redisUtil.remove("google_token");
@@ -802,6 +839,11 @@
 				return "";
 			}
 			if(code == 401){
+				String status = error.getString("status");
+				if(StringUtils.hasLength(status) && status.equals("UNAUTHENTICATED")){
+					redisUtil.remove("google_token");
+					return getTrip(tripId);
+				}
 				String reason = error.getJSONArray("details").getJSONObject(0).getString("reason");
 				if(reason.equals("ACCESS_TOKEN_EXPIRED")){
 					redisUtil.remove("google_token");
diff --git a/ManagementIGOTravel/guns-admin/src/main/resources/application-produce.yml b/ManagementIGOTravel/guns-admin/src/main/resources/application-produce.yml
index 355f361..29e17d7 100644
--- a/ManagementIGOTravel/guns-admin/src/main/resources/application-produce.yml
+++ b/ManagementIGOTravel/guns-admin/src/main/resources/application-produce.yml
@@ -41,7 +41,7 @@
 
 spring:
   datasource:
-    url: jdbc:mysql://127.0.0.1:3306/igotravel?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=GMT%2B0
+    url: jdbc:mysql://127.0.0.1:3306/igotravel2.0?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=GMT%2B0
     username: root
     password: HjKbXilb9zajmXbl
     db-name: guns #用来搜集数据库的所有表
diff --git a/ZuulIGOTravel/pom.xml b/ZuulIGOTravel/pom.xml
index 1a82774..a70e075 100644
--- a/ZuulIGOTravel/pom.xml
+++ b/ZuulIGOTravel/pom.xml
@@ -10,11 +10,11 @@
     </parent>
     <groupId>com.sinata</groupId>
     <artifactId>zuul</artifactId>
-    <version>0.0.1-SNAPSHOT</version>
+    <version>1.0.0</version>
     <name>zuul</name>
     <description>Zuul project for Spring Boot</description>
 
-    <packaging>war</packaging>
+    <packaging>jar</packaging>
 
     <properties>
         <java.version>1.8</java.version>
diff --git a/ZuulIGOTravel/src/main/java/com/sinata/zuul/ZuulApplication.java b/ZuulIGOTravel/src/main/java/com/sinata/zuul/ZuulApplication.java
index 12279f3..6adb275 100644
--- a/ZuulIGOTravel/src/main/java/com/sinata/zuul/ZuulApplication.java
+++ b/ZuulIGOTravel/src/main/java/com/sinata/zuul/ZuulApplication.java
@@ -37,7 +37,7 @@
 @EnableZuulProxy//开启网关服务
 @EnableDiscoveryClient//开启eureka客户端的消费者
 @SpringBootApplication
-public class ZuulApplication extends SpringBootServletInitializer {
+public class ZuulApplication /*extends SpringBootServletInitializer*/ {
 
     public static void main(String[] args) {
         SpringApplication.run(ZuulApplication.class, args);
@@ -132,8 +132,8 @@
         }
     }
 
-    @Override
-    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
-        return builder.sources(ZuulApplication.class);
-    }
+//    @Override
+//    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
+//        return builder.sources(ZuulApplication.class);
+//    }
 }
diff --git a/ZuulIGOTravel/src/main/java/com/sinata/zuul/util/NettyStartListener.java b/ZuulIGOTravel/src/main/java/com/sinata/zuul/util/NettyStartListener.java
index 95e0147..bebc5ba 100644
--- a/ZuulIGOTravel/src/main/java/com/sinata/zuul/util/NettyStartListener.java
+++ b/ZuulIGOTravel/src/main/java/com/sinata/zuul/util/NettyStartListener.java
@@ -20,13 +20,13 @@
         Thread thread = new Thread(new Runnable() {
             @Override
             public void run() {
-                NettyServer nettyServer = new NettyServer();
-                nettyServer.bind();
-
-                NettyServer0 nettyServer0 = new NettyServer0();
-                nettyServer0.bind();
-
-                TimeZone.setDefault(TimeZone.getTimeZone("GMT+0"));
+//                NettyServer nettyServer = new NettyServer();
+//                nettyServer.bind();
+//
+//                NettyServer0 nettyServer0 = new NettyServer0();
+//                nettyServer0.bind();
+//
+//                TimeZone.setDefault(TimeZone.getTimeZone("GMT+0"));
             }
         });
         thread.start();
diff --git a/ZuulIGOTravel/src/main/java/com/sinata/zuul/util/echo/NettyServerController.java b/ZuulIGOTravel/src/main/java/com/sinata/zuul/util/echo/NettyServerController.java
index 0ddae06..6119873 100644
--- a/ZuulIGOTravel/src/main/java/com/sinata/zuul/util/echo/NettyServerController.java
+++ b/ZuulIGOTravel/src/main/java/com/sinata/zuul/util/echo/NettyServerController.java
@@ -90,10 +90,10 @@
 				Integer type = jsonCon.getInteger("type");
 				String token = jsonCon.getString("token");
                 String userId1 = jsonCon.getString("userId");
+				Integer language = jsonCon.getInteger("language");
 				String device = jsonCon.getString("device");
 				String version = jsonCon.getString("version");
                 if(StringUtil.isNotEmpty(userId1)){
-
                     //判断用户或者司机长连接
                     if(type==1){
                         //确保账号在单个设备上登录
@@ -105,7 +105,7 @@
                                 msg_.put("msg", "SUCCESS");
                                 msg_.put("method", "OFFLINE");
                                 msg_.put("data", new Object());
-								this.sendMsgToClient(ctx, msg_.toJSONString());//给当前通道发送消息
+								sendMsgToClient(ctx, msg_.toJSONString());//给当前通道发送消息
                                 TimerTask timerTask = new TimerTask() {
                                     @Override
                                     public void run() {
@@ -125,8 +125,17 @@
                             if(StringUtil.isEmpty(token_)){//确保登录的时候存储token失败的情况
                                 redisUtil.setStrValue("USER_" + userId1, token);
                             }
+	
+	                        //设置语言环境
+	                        HttpHeaders headers = new HttpHeaders();
+	                        headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
+	                        headers.set("Authorization", "Bearer " + token);
+	                        MultiValueMap<String, Object> params = new LinkedMultiValueMap<>();
+	                        params.add("language", language);
+	                        HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(params, headers);
+	                        String w = internalRestTemplate.postForObject("http://user-server/api/user/editLanguage",requestEntity , String.class);
                         }
-
+						
                     }else{
 						//添加司机在线
 						HttpHeaders headers = new HttpHeaders();
@@ -154,7 +163,7 @@
 								msg_.put("msg", "SUCCESS");
 								msg_.put("method", "OFFLINE");
 								msg_.put("data", new Object());
-								this.sendMsgToClient(ctx, msg_.toJSONString());//给当前通道发送消息
+								sendMsgToClient(ctx, msg_.toJSONString());//给当前通道发送消息
 								TimerTask timerTask = new TimerTask() {
 									@Override
 									public void run() {
@@ -175,6 +184,15 @@
 							if(StringUtil.isEmpty(token_)){//确保登录的时候存储token失败的情况
 								redisUtil.setStrValue("DRIVER_" + userId1, token);
 							}
+							
+							//设置语言环境
+							headers = new HttpHeaders();
+							headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
+							headers.set("Authorization", "Bearer " + token);
+							params = new LinkedMultiValueMap<>();
+							params.add("language", language);
+							requestEntity = new HttpEntity<>(params, headers);
+							w = internalRestTemplate.postForObject("http://driver-server/api/driver/editLanguage",requestEntity , String.class);
 						}
 
 

--
Gitblit v1.7.1