DispatchQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/OrderUtil.java
@@ -690,11 +690,11 @@ /** * 订单退款 * @param request * @param request1 * @return */ public static TradeOrderRefund tradeOrderRefund(TradeOrderRefundRequest request) { request.setPayPartnerId("prod".equals(qianYunTongConfig.getActiveProfile()) ? "5400004" : "5401007"); public static TradeOrderRefund tradeOrderRefund(TradeOrderRefundRequest request1) { request1.setPayPartnerId("prod".equals(qianYunTongConfig.getActiveProfile()) ? "5401007" : "5400004"); //请求路径 String url = qianYunTongConfig.getApiUrl() + "/openapi/rest/1.0/tradeOrderRefund"; //私钥文件 @@ -706,6 +706,13 @@ Map<String, Object> contentMap = new HashMap<String, Object>(); Date nowdate = new Date(); SimpleDateFormat date = new SimpleDateFormat("yyyyMMddHHmmss"); TradeRequest request = new TradeRequest<TradeOrderRefundRequest>(); request.setSceneId("prod".equals(qianYunTongConfig.getActiveProfile()) ? "1968487381046722560" : "1726529285264269312"); request.setAppId(qianYunTongConfig.getAppkey()); request.setConfigVersion("prod".equals(qianYunTongConfig.getActiveProfile()) ? 1 : 6); request.setRequestId(UUIDUtil.getRandomCode()); request.setData(request1); String timeStamp = date.format(nowdate); String messageId = UUIDUtil.getRandomCode(); @@ -726,11 +733,18 @@ } JSONObject refundInfo = jsonObject.getJSONObject("busiResp").getJSONObject("refundInfo"); String retCode = refundInfo.getString("retCode"); if(!"".equals(retCode)){ if(!"0".equals(retCode)){ log.error("【订单退款】失败:" + refundInfo.getString("retMsg")); throw new RuntimeException("【订单退款】失败:" + refundInfo.getString("retMsg")); } TradeOrderRefund tradeOrderRefund = refundInfo.getObject("data", TradeOrderRefund.class); JSONObject object = refundInfo.getJSONObject("object"); String retCode1 = object.getString("retCode"); if(!"000000".equals(retCode1)){ log.error("【订单退款】失败:" + object.getString("retMsg")); throw new RuntimeException("【订单退款】失败:" + object.getString("retMsg")); } TradeOrderRefund tradeOrderRefund = object.getObject("data", TradeOrderRefund.class); return tradeOrderRefund; } @@ -781,10 +795,10 @@ * @param orderId */ public static void tradeOrderCancel(String orderId) { TradeOrderCancelRequest request = new TradeOrderCancelRequest(); request.setScene("TRAFFIC"); request.setMhltiCenterAppId("52270015"); request.setOrderId(orderId); TradeOrderCancelRequest request1 = new TradeOrderCancelRequest(); request1.setScene("TRAFFIC"); request1.setMhltiCenterAppId("52270015"); request1.setOrderId(orderId); //请求路径 String url = qianYunTongConfig.getApiUrl() + "/openapi/rest/1.0/tradeOrderCancel"; @@ -798,6 +812,13 @@ Date nowdate = new Date(); SimpleDateFormat date = new SimpleDateFormat("yyyyMMddHHmmss"); TradeRequest request = new TradeRequest<TradeOrderRefundRequest>(); request.setSceneId("prod".equals(qianYunTongConfig.getActiveProfile()) ? "1968487841979760640" : "1963507067318833152"); request.setAppId(qianYunTongConfig.getAppkey()); request.setConfigVersion(1); request.setRequestId(UUIDUtil.getRandomCode()); request.setData(request1); String timeStamp = date.format(nowdate); String messageId = UUIDUtil.getRandomCode(); contentMap.put(SystemParameterNames.getAppKey(), appKey); DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReassignServiceImpl.java
@@ -808,8 +808,9 @@ for (int j = 0; j < 6; j++) { Boolean push = false; for (int i = 1; i <= querys.size(); i++) { num++; int finalI = i; PushOrder pushOrder = querys.stream().filter(s -> s.getType() == (finalI <= 3 ? finalI : 3)).findFirst().orElse(null); PushOrder pushOrder = querys.stream().filter(s -> s.getType() == finalI).findFirst().orElse(null); System.out.println("pushOrder:" + pushOrder); //获取空闲司机 List<Driver> list = driverService.queryIdleDriver(2, orderTaxi.getStartLon(), orderTaxi.getStartLat(), pushOrder.getPushDistance(), null);//所有附近空闲司机 @@ -837,7 +838,7 @@ } Thread.sleep(pushOrder.getPushTime() * 1000);//设置等待时间 Integer state = orderTaxi1.getState(); if (state != 1 || state!= 11) { if (state != 1 && state != 11) { orderIds.remove(orderTaxi.getId()); push = true; break; DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/model/GeoFencingPolygon.java
New file @@ -0,0 +1,35 @@ package com.stylefeng.guns.modular.system.util.model; import lombok.Data; import org.springframework.data.mongodb.core.geo.GeoJsonPolygon; import org.springframework.data.mongodb.core.index.GeoSpatialIndexType; import org.springframework.data.mongodb.core.index.GeoSpatialIndexed; import org.springframework.data.mongodb.core.mapping.Document; import java.io.Serializable; /** * 地理围栏-多边形 * @author zhibing.pu * @date 2023/4/29 23:53 */ @Data @Document(collection = "geo_fencing") public class GeoFencingPolygon implements Serializable { private static final long serialVersionUID = 4508868382007529971L; private String id; /** * 站点id */ private Integer siteId; /** * 站点名称 */ private String name; /** * 多边形经纬度 */ @GeoSpatialIndexed(type = GeoSpatialIndexType.GEO_2DSPHERE) private GeoJsonPolygon geoJsonPolygon; } DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/model/GeoJson.java
New file @@ -0,0 +1,9 @@ package com.stylefeng.guns.modular.system.util.model; import lombok.Data; @Data public class GeoJson { private String type; private Double[] coordinates; } DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/model/LocationQuery.java
New file @@ -0,0 +1,23 @@ package com.stylefeng.guns.modular.system.util.model; import lombok.Data; @Data public class LocationQuery { /** * 当前经纬度[xxx,xxx] **/ private Double[] coordinates; /** * 距离,如:200,500,1,3,5,10,20 **/ private Double distance; /** * 距离单位,如:m,km **/ private String unit; /** * 位置类型:1-景点,2-加油站,3-酒店 **/ private Integer type; } DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/OrderUtil.java
@@ -676,6 +676,156 @@ OrderInfo orderInfo = jsonObject.getObject("busiResp", OrderInfo.class); return orderInfo; } /** * 订单退款 * @param request1 * @return */ public static TradeOrderRefund tradeOrderRefund(TradeOrderRefundRequest request1) { request1.setPayPartnerId("prod".equals(qianYunTongConfig.getActiveProfile()) ? "5401007" : "5400004"); //请求路径 String url = qianYunTongConfig.getApiUrl() + "/openapi/rest/1.0/tradeOrderRefund"; //私钥文件 String skprivateKeyFile = qianYunTongConfig.getPrivateKeyPath(); //注意:私钥文件需要开发者手动新建.pem文件,将委办局提供的私钥串复制进文件里用于sign加密 String appKey = qianYunTongConfig.getAppkey();//appkey Map<String, String> headers = new HashMap<>(); headers.put("Content-Type", "application/json"); Map<String, Object> contentMap = new HashMap<String, Object>(); Date nowdate = new Date(); SimpleDateFormat date = new SimpleDateFormat("yyyyMMddHHmmss"); TradeRequest request = new TradeRequest<TradeOrderRefundRequest>(); request.setSceneId("prod".equals(qianYunTongConfig.getActiveProfile()) ? "1968487381046722560" : "1726529285264269312"); request.setAppId(qianYunTongConfig.getAppkey()); request.setConfigVersion("prod".equals(qianYunTongConfig.getActiveProfile()) ? 1 : 6); request.setRequestId(UUIDUtil.getRandomCode()); request.setData(request1); String timeStamp = date.format(nowdate); String messageId = UUIDUtil.getRandomCode(); contentMap.put(SystemParameterNames.getAppKey(), appKey); contentMap.put(SystemParameterNames.getMessage_id(), messageId); contentMap.put(SystemParameterNames.getUserName(), qianYunTongConfig.getUserName()); contentMap.put(SystemParameterNames.getStatus(), qianYunTongConfig.getStatus()); contentMap.put("content", new Gson().toJson(request)); log.info("【订单退款】请求地址:" + url); log.info("【订单退款】请求参数:" + JSON.toJSONString(contentMap)); String result = OpenApiClient.sendCommonHttpRequst(url, headers, "POST", skprivateKeyFile, timeStamp, contentMap); log.info("【订单退款】请求结果:" + result); JSONObject jsonObject = JSON.parseObject(result); String resCode = jsonObject.getString("resCode"); if (!"000000".equals(resCode)) { log.error("【订单退款】失败:" + jsonObject.getString("resMsg")); throw new RuntimeException("【订单退款】失败:" + jsonObject.getString("resMsg")); } JSONObject refundInfo = jsonObject.getJSONObject("busiResp").getJSONObject("refundInfo"); String retCode = refundInfo.getString("retCode"); if(!"0".equals(retCode)){ log.error("【订单退款】失败:" + refundInfo.getString("retMsg")); throw new RuntimeException("【订单退款】失败:" + refundInfo.getString("retMsg")); } JSONObject object = refundInfo.getJSONObject("object"); String retCode1 = object.getString("retCode"); if(!"000000".equals(retCode1)){ log.error("【订单退款】失败:" + object.getString("retMsg")); throw new RuntimeException("【订单退款】失败:" + object.getString("retMsg")); } TradeOrderRefund tradeOrderRefund = object.getObject("data", TradeOrderRefund.class); return tradeOrderRefund; } /** * 订单退款通知 * @param request */ public static void orderRefundNotice(OrderRefundNoticeRequest request) { request.setScene("TRAFFIC"); request.setMhltiCenterAppId("52270015"); //请求路径 String url = qianYunTongConfig.getApiUrl() + "/openapi/rest/1.0/orderRefundNotice"; //私钥文件 String skprivateKeyFile = qianYunTongConfig.getPrivateKeyPath(); //注意:私钥文件需要开发者手动新建.pem文件,将委办局提供的私钥串复制进文件里用于sign加密 String appKey = qianYunTongConfig.getAppkey();//appkey Map<String, String> headers = new HashMap<>(); headers.put("Content-Type", "application/json"); Map<String, Object> contentMap = new HashMap<String, Object>(); Date nowdate = new Date(); SimpleDateFormat date = new SimpleDateFormat("yyyyMMddHHmmss"); String timeStamp = date.format(nowdate); String messageId = UUIDUtil.getRandomCode(); contentMap.put(SystemParameterNames.getAppKey(), appKey); contentMap.put(SystemParameterNames.getMessage_id(), messageId); contentMap.put(SystemParameterNames.getUserName(), qianYunTongConfig.getUserName()); contentMap.put(SystemParameterNames.getStatus(), qianYunTongConfig.getStatus()); contentMap.put("content", new Gson().toJson(request)); log.info("【订单退款通知】请求地址:" + url); log.info("【订单退款通知】请求参数:" + JSON.toJSONString(contentMap)); String result = OpenApiClient.sendCommonHttpRequst(url, headers, "POST", skprivateKeyFile, timeStamp, contentMap); log.info("【订单退款通知】请求结果:" + result); JSONObject jsonObject = JSON.parseObject(result); String resCode = jsonObject.getString("resCode"); if (!"000000".equals(resCode)) { log.error("【订单退款通知】失败:" + jsonObject.getString("resMsg")); throw new RuntimeException("【订单退款通知】失败:" + jsonObject.getString("resMsg")); } } /** * 订单取消 * @param orderId */ public static void tradeOrderCancel(String orderId) { TradeOrderCancelRequest request1 = new TradeOrderCancelRequest(); request1.setScene("TRAFFIC"); request1.setMhltiCenterAppId("52270015"); request1.setOrderId(orderId); //请求路径 String url = qianYunTongConfig.getApiUrl() + "/openapi/rest/1.0/tradeOrderCancel"; //私钥文件 String skprivateKeyFile = qianYunTongConfig.getPrivateKeyPath(); //注意:私钥文件需要开发者手动新建.pem文件,将委办局提供的私钥串复制进文件里用于sign加密 String appKey = qianYunTongConfig.getAppkey();//appkey Map<String, String> headers = new HashMap<>(); headers.put("Content-Type", "application/json"); Map<String, Object> contentMap = new HashMap<String, Object>(); Date nowdate = new Date(); SimpleDateFormat date = new SimpleDateFormat("yyyyMMddHHmmss"); TradeRequest request = new TradeRequest<TradeOrderRefundRequest>(); request.setSceneId("prod".equals(qianYunTongConfig.getActiveProfile()) ? "1968487841979760640" : "1963507067318833152"); request.setAppId(qianYunTongConfig.getAppkey()); request.setConfigVersion(1); request.setRequestId(UUIDUtil.getRandomCode()); request.setData(request1); String timeStamp = date.format(nowdate); String messageId = UUIDUtil.getRandomCode(); contentMap.put(SystemParameterNames.getAppKey(), appKey); contentMap.put(SystemParameterNames.getMessage_id(), messageId); contentMap.put(SystemParameterNames.getUserName(), qianYunTongConfig.getUserName()); contentMap.put(SystemParameterNames.getStatus(), qianYunTongConfig.getStatus()); contentMap.put("content", new Gson().toJson(request)); log.info("【订单取消】请求地址:" + url); log.info("【订单取消】请求参数:" + JSON.toJSONString(contentMap)); String result = OpenApiClient.sendCommonHttpRequst(url, headers, "POST", skprivateKeyFile, timeStamp, contentMap); log.info("【订单取消】请求结果:" + result); JSONObject jsonObject = JSON.parseObject(result); String resCode = jsonObject.getString("resCode"); if (!"000000".equals(resCode)) { log.error("【订单取消】失败:" + jsonObject.getString("resMsg")); throw new RuntimeException("【订单取消】失败:" + jsonObject.getString("resMsg")); } } } DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/OrderRefundNoticeRequest.java
New file @@ -0,0 +1,49 @@ package com.stylefeng.guns.modular.system.util.qianyuntong.model; import lombok.Data; import java.math.BigDecimal; @Data public class OrderRefundNoticeRequest { /** * 场景标识 */ private String scene; /** * 订单中心订单号 */ private String orderId; /** * 场景应用标识。默认52270015 */ private String mhltiCenterAppId; /** * 退款工单标识 */ private String refundPayNum; /** * 退款类型 1:未发货退款 2:未破损拒收 3:破损拒收 4:部分退款 5:全部退款 */ private String refundType; /** * 申请退款金额 */ private BigDecimal applyRefundCharge; /** * 实际退款金额 */ private BigDecimal actualRefundCharge; /** * 退款人 */ private String refundPerson; /** * 退款账号 */ private String refundAccount; /** * 退款理由 */ private String remark; } DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/TradeOrderCancelRequest.java
New file @@ -0,0 +1,19 @@ package com.stylefeng.guns.modular.system.util.qianyuntong.model; import lombok.Data; @Data public class TradeOrderCancelRequest { /** * 场景标识 */ private String scene; /** * 订单中心订单号 */ private String orderId; /** * 场景应用标识。默认52270015 */ private String mhltiCenterAppId; } DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/TradeOrderRefund.java
New file @@ -0,0 +1,15 @@ package com.stylefeng.guns.modular.system.util.qianyuntong.model; import lombok.Data; @Data public class TradeOrderRefund { /** * 退款总金额 */ private String refundTotalFee; /** * 退款标识 */ private String refundId; } DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/TradeOrderRefundRequest.java
New file @@ -0,0 +1,42 @@ package com.stylefeng.guns.modular.system.util.qianyuntong.model; import lombok.Data; import java.util.List; @Data public class TradeOrderRefundRequest { /** * 商户号,由支付中心分配。测试环境5400004,生产环境:5401007 */ private String payPartnerId; /** * 订单中心订单号 */ private String partnerPayId; /** * 支付工单标识 */ private String payId; /** * 退款总金额,单位为分 * 同一退款单多次发起退款请求时,退款金额必须一致 */ private String refundTotalFee; /** * 退款原因 */ private String remark; /** * 退款类型: * RF 退款 * BR 部分退款(目前仅集团统一支付支持部分退款) * CZ 冲正 */ private String refundType; /** * 支付退款单明细集合 */ private List<RefundInfoRequest> refundInfos; } ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TDispatchController.java
@@ -211,6 +211,9 @@ SaveStaffNode saveStaffNode = resultUtil.getData(); empId = saveStaffNode.getEmpId(); empnew = 1; }else{ empId = userInfoByPhone.get(0).getEmpId(); empnew = 0; } tDispatch.setEmpId(empId); tDispatch.setEntercode(tCompany.getEnterCode()); ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TSystemPriceController.java
@@ -160,6 +160,7 @@ @RequestMapping("/taxi") public String taxi(String price, Model model) { model.addAttribute("json", new JSONObject()); if(ToolUtil.isNotEmpty(price)){ price = Base64.decodeStr(price); JSONObject json1 = JSONObject.fromObject(price); ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/OrderUtil.java
@@ -698,7 +698,7 @@ SimpleDateFormat date = new SimpleDateFormat("yyyyMMddHHmmss"); TradeRequest request = new TradeRequest<TradeOrderRefundRequest>(); request.setSceneId("prod".equals(qianYunTongConfig.getActiveProfile()) ? "1954792737421942784" : "1726529285264269312"); request.setSceneId("prod".equals(qianYunTongConfig.getActiveProfile()) ? "1968487381046722560" : "1726529285264269312"); request.setAppId(qianYunTongConfig.getAppkey()); request.setConfigVersion("prod".equals(qianYunTongConfig.getActiveProfile()) ? 1 : 6); request.setRequestId(UUIDUtil.getRandomCode()); @@ -803,7 +803,7 @@ SimpleDateFormat date = new SimpleDateFormat("yyyyMMddHHmmss"); TradeRequest request = new TradeRequest<TradeOrderRefundRequest>(); request.setSceneId("prod".equals(qianYunTongConfig.getActiveProfile()) ? "1954792737421942784" : "1963507067318833152"); request.setSceneId("prod".equals(qianYunTongConfig.getActiveProfile()) ? "1968487841979760640" : "1963507067318833152"); request.setAppId(qianYunTongConfig.getAppkey()); request.setConfigVersion(1); request.setRequestId(UUIDUtil.getRandomCode()); UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/OrderUtil.java
@@ -709,7 +709,7 @@ SimpleDateFormat date = new SimpleDateFormat("yyyyMMddHHmmss"); TradeRequest request = new TradeRequest<TradeOrderRefundRequest>(); request.setSceneId("prod".equals(qianYunTongConfig.getActiveProfile()) ? "1954792737421942784" : "1726529285264269312"); request.setSceneId("prod".equals(qianYunTongConfig.getActiveProfile()) ? "1968487381046722560" : "1726529285264269312"); request.setAppId(qianYunTongConfig.getAppkey()); request.setConfigVersion("prod".equals(qianYunTongConfig.getActiveProfile()) ? 1 : 6); request.setRequestId(UUIDUtil.getRandomCode()); @@ -814,7 +814,7 @@ SimpleDateFormat date = new SimpleDateFormat("yyyyMMddHHmmss"); TradeRequest request = new TradeRequest<TradeOrderRefundRequest>(); request.setSceneId("prod".equals(qianYunTongConfig.getActiveProfile()) ? "1954792737421942784" : "1963507067318833152"); request.setSceneId("prod".equals(qianYunTongConfig.getActiveProfile()) ? "1968487841979760640" : "1963507067318833152"); request.setAppId(qianYunTongConfig.getAppkey()); request.setConfigVersion(1); request.setRequestId(UUIDUtil.getRandomCode()); ZuulQYTTravel/src/main/resources/application-dev.yml
@@ -1,41 +1,41 @@ server: port: 5000 port: 5000 spring: profiles: active: dev application: name: zuul-gateway #服务名称 profiles: active: dev application: name: zuul-gateway #服务名称 eureka: client: service-url: #注册中心地址 defaultZone: http://sinata:sinata@192.168.110.106:8000/eureka #启用身份验证的方式连接 register-with-eureka: true #在注册中心进行注册 fetch-registry: true #从Eureka中获取注册信息。 client: service-url: #注册中心地址 defaultZone: http://sinata:sinata@192.168.110.106:8000/eureka #启用身份验证的方式连接 register-with-eureka: true #在注册中心进行注册 fetch-registry: true #从Eureka中获取注册信息。 zuul: # prefix: /api #添加URL前缀 sensitive-headers: #将默认过滤掉的敏感数据清除,不进行过滤("Cookie", "Set-Cookie", "Authorization") routes: user-server: #接口调用路由服务,名字任意取。(用户端服务) path: /user/** #配置请求URL的请求规则 url: http://192.168.110.80:7006 #真正的微服务地址,path匹配的请求都转发到这里 serviceid: user-server #指定Eureka注册中心的服务id driver-server: #路由司机相关请求 path: /driver/** #配置请求URL的请求规则 url: http://192.168.110.80:7007 #真正的微服务地址,path匹配的请求都转发到这里 serviceid: driver-server #指定Eureka注册中心的服务id dispatch-server: #路由调度相关请求 path: /dispatch/** #配置请求URL的请求规则 url: http://192.168.110.80:7008 #真正的微服务地址,path匹配的请求都转发到这里 serviceid: dispatch-server #指定Eureka注册中心的服务id # 配置zuul超时时间 host: connect-timeout-millis: 150000 socket-timeout-millis: 15000 # prefix: /api #添加URL前缀 sensitive-headers: #将默认过滤掉的敏感数据清除,不进行过滤("Cookie", "Set-Cookie", "Authorization") routes: user-server: #接口调用路由服务,名字任意取。(用户端服务) path: /user/** #配置请求URL的请求规则 url: http://192.168.110.80:7006 #真正的微服务地址,path匹配的请求都转发到这里 serviceid: user-server #指定Eureka注册中心的服务id driver-server: #路由司机相关请求 path: /driver/** #配置请求URL的请求规则 url: http://192.168.110.80:7007 #真正的微服务地址,path匹配的请求都转发到这里 serviceid: driver-server #指定Eureka注册中心的服务id dispatch-server: #路由调度相关请求 path: /dispatch/** #配置请求URL的请求规则 url: http://192.168.110.80:7008 #真正的微服务地址,path匹配的请求都转发到这里 serviceid: dispatch-server #指定Eureka注册中心的服务id # 配置zuul超时时间 host: connect-timeout-millis: 150000 socket-timeout-millis: 15000 # 配置ribbon超时时间 ribbon: ReadTimeout: 10000 ConnectTimeout: 10000 ReadTimeout: 10000 ConnectTimeout: 10000 ZuulQYTTravel/src/main/resources/application-test.yml
@@ -1,41 +1,41 @@ server: port: 5000 port: 5000 spring: profiles: active: test application: name: zuul-gateway #服务名称 profiles: active: test application: name: zuul-gateway #服务名称 eureka: client: service-url: #注册中心地址 defaultZone: http://sinata:sinata@127.0.0.1:8000/eureka #启用身份验证的方式连接 register-with-eureka: true #在注册中心进行注册 fetch-registry: true #从Eureka中获取注册信息。 client: service-url: #注册中心地址 defaultZone: http://sinata:sinata@127.0.0.1:8000/eureka #启用身份验证的方式连接 register-with-eureka: true #在注册中心进行注册 fetch-registry: true #从Eureka中获取注册信息。 zuul: # prefix: /api #添加URL前缀 sensitive-headers: #将默认过滤掉的敏感数据清除,不进行过滤("Cookie", "Set-Cookie", "Authorization") routes: user-server: #接口调用路由服务,名字任意取。(用户端服务) path: /user/** #配置请求URL的请求规则 url: http://127.0.0.1:8006 #真正的微服务地址,path匹配的请求都转发到这里 serviceid: user-server #指定Eureka注册中心的服务id driver-server: #路由司机相关请求 path: /driver/** #配置请求URL的请求规则 url: http://127.0.0.1:8007 #真正的微服务地址,path匹配的请求都转发到这里 serviceid: driver-server #指定Eureka注册中心的服务id dispatch-server: #路由调度相关请求 path: /dispatch/** #配置请求URL的请求规则 url: http://127.0.0.1:8008 #真正的微服务地址,path匹配的请求都转发到这里 serviceid: dispatch-server #指定Eureka注册中心的服务id # 配置zuul超时时间 host: connect-timeout-millis: 150000 socket-timeout-millis: 15000 # prefix: /api #添加URL前缀 sensitive-headers: #将默认过滤掉的敏感数据清除,不进行过滤("Cookie", "Set-Cookie", "Authorization") routes: user-server: #接口调用路由服务,名字任意取。(用户端服务) path: /user/** #配置请求URL的请求规则 url: http://127.0.0.1:8006 #真正的微服务地址,path匹配的请求都转发到这里 serviceid: user-server #指定Eureka注册中心的服务id driver-server: #路由司机相关请求 path: /driver/** #配置请求URL的请求规则 url: http://127.0.0.1:8007 #真正的微服务地址,path匹配的请求都转发到这里 serviceid: driver-server #指定Eureka注册中心的服务id dispatch-server: #路由调度相关请求 path: /dispatch/** #配置请求URL的请求规则 url: http://127.0.0.1:8008 #真正的微服务地址,path匹配的请求都转发到这里 serviceid: dispatch-server #指定Eureka注册中心的服务id # 配置zuul超时时间 host: connect-timeout-millis: 150000 socket-timeout-millis: 15000 # 配置ribbon超时时间 ribbon: ReadTimeout: 10000 ConnectTimeout: 10000 ReadTimeout: 10000 ConnectTimeout: 10000