main
黄海 11 months ago
parent 80fec1e807
commit bc03bef29f

@ -65,5 +65,10 @@
<artifactId>okhttp</artifactId>
<version>${okhttp.version}</version>
</dependency>
<dependency>
<groupId>org.yaml</groupId>
<artifactId>snakeyaml</artifactId>
<version>${snakeyaml.version}</version>
</dependency>
</dependencies>
</project>

@ -1,18 +1,36 @@
package com.dsideal.gw.Controller;
import com.jfinal.core.Controller;
import com.jfinal.kit.PropKit;
import okhttp3.MediaType;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;
import org.yaml.snakeyaml.Yaml;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
import java.util.Map;
public class ApiController extends Controller {
private OkHttpClient client = new OkHttpClient();
private final OkHttpClient client = new OkHttpClient();
private List<Map<String, String>> routes;
public ApiController() {
Yaml yaml = new Yaml();
try (InputStream input = getClass().getClassLoader().getResourceAsStream("application_dev.yaml")) {
if (input == null) {
System.out.println("Sorry, unable to find routes.yaml");
return;
}
Map<String, List<Map<String, String>>> yamlData = yaml.load(input);
routes = yamlData.get("routes");
} catch (IOException ex) {
ex.printStackTrace();
}
}
public void index() {
String path = getPara(); // 获取请求路径
@ -51,18 +69,14 @@ public class ApiController extends Controller {
}
private String route(String path) {
String[] prefixes = PropKit.getProp().getProperties().stringPropertyNames().stream()
.filter(key -> key.endsWith(".prefix"))
.toArray(String[]::new);
for (String prefixKey : prefixes) {
String prefix = PropKit.get(prefixKey);
if (path.startsWith(prefix)) {
String serviceKey = prefixKey.replace(".prefix", ".url");
return PropKit.get(serviceKey) + path;
if (routes != null) {
for (Map<String, String> route : routes) {
String prefix = route.get("prefix");
if (path.startsWith(prefix)) {
return route.get("url") + path;
}
}
}
return null;
}
}

@ -5,7 +5,6 @@ import com.dsideal.gw.Controller.ApiController;
import com.dsideal.gw.Interceptor.AuthInterceptor;
import com.dsideal.gw.Util.LogBackLogFactory;
import com.jfinal.config.*;
import com.jfinal.kit.PropKit;
import com.jfinal.server.undertow.UndertowServer;
import com.jfinal.template.Engine;
@ -15,17 +14,6 @@ public class Start extends JFinalConfig {
//配置文件
public static void main(String[] args) {
//配置文件
String configFile = "application_dev.properties";
String myEnvVar = System.getenv("WORKING_ENV");
if (myEnvVar != null) {
configFile = configFile.replace("_dev", "_pro");
System.out.println("环境变量 WORKING_ENV 的值是: " + myEnvVar);
} else {
System.out.println("环境变量 WORKING_ENV 未设置。");
}
PropKit.use(configFile);
UndertowServer.create(Start.class, "undertow.properties").start();
}

@ -1,20 +0,0 @@
#namespace("YltWxGzh")
-- 获取绑定微信用户
#sql("QuerybindWxUser")
SELECT
o.id,
o.operate_workers_name,
o.operate_workers_phone_number,
o.station_id,
DATE_FORMAT(o.create_time,'%Y-%m-%d %H:%i:%s') as create_time,
s.station_name,
o.wx_openid,
o.wx_bindtime
FROM
t_operate_workers_info o
LEFT JOIN t_station s
ON o.station_id=s.id
where o.operate_workers_name=#para(operate_workers_name) and
o.operate_workers_phone_number=#para(operate_workers_phone_number)
#end
#end

@ -1,5 +0,0 @@
service1.prefix=/service1
service1.url=http://localhost:8081
service2.prefix=/service2
service2.url=http://localhost:8082

@ -0,0 +1,8 @@
# 路由配置
routes:
- prefix: /base
url: http://localhost:9002
# 白名单
whitelist:
- /base/doLogin

@ -1,16 +0,0 @@
# 数据库信息
driverClassName=com.mysql.cj.jdbc.Driver
user=ylt
password=Ycharge666
jdbcUrl=jdbc:mysql://rm-bp1ux6tuk49er80t9.mysql.rds.aliyuncs.com:3306/yltcharge?useUnicode=true&characterEncoding=UTF-8&useSSL=false
#mongodb
mongodbUri=mongodb://yltcharge:yltcharge@dds-bp176c45f561f0041.mongodb.rds.aliyuncs.com:3717,dds-bp176c45f561f0042.mongodb.rds.aliyuncs.com:3717/yltcharge?replicaSet=mgset-36440453
#Minio 配置
minio_endpoint: http://10.10.14.212:9000
minio_accesskey: wJDQP0ZZpyLHIfnPXYPn
minio_secretkey: ZkmTmuoMK6f601rQF5OOQB2JlSvmBOjrHRhIz6bt
minio_bucketName:dsideal
minio_path_prefix=http://10.10.14.212:9000/dsideal/

@ -0,0 +1,8 @@
# 路由配置
routes:
- prefix: /base
url: http://localhost:9002
# 白名单
whitelist:
- /base/doLogin

@ -1,20 +0,0 @@
#namespace("YltWxGzh")
-- 获取绑定微信用户
#sql("QuerybindWxUser")
SELECT
o.id,
o.operate_workers_name,
o.operate_workers_phone_number,
o.station_id,
DATE_FORMAT(o.create_time,'%Y-%m-%d %H:%i:%s') as create_time,
s.station_name,
o.wx_openid,
o.wx_bindtime
FROM
t_operate_workers_info o
LEFT JOIN t_station s
ON o.station_id=s.id
where o.operate_workers_name=#para(operate_workers_name) and
o.operate_workers_phone_number=#para(operate_workers_phone_number)
#end
#end

@ -1,5 +0,0 @@
service1.prefix=/service1
service1.url=http://localhost:8081
service2.prefix=/service2
service2.url=http://localhost:8082

@ -0,0 +1,8 @@
# 路由配置
routes:
- prefix: /base
url: http://localhost:9002
# 白名单
whitelist:
- /base/doLogin

@ -1,16 +0,0 @@
# 数据库信息
driverClassName=com.mysql.cj.jdbc.Driver
user=ylt
password=Ycharge666
jdbcUrl=jdbc:mysql://rm-bp1ux6tuk49er80t9.mysql.rds.aliyuncs.com:3306/yltcharge?useUnicode=true&characterEncoding=UTF-8&useSSL=false
#mongodb
mongodbUri=mongodb://yltcharge:yltcharge@dds-bp176c45f561f0041.mongodb.rds.aliyuncs.com:3717,dds-bp176c45f561f0042.mongodb.rds.aliyuncs.com:3717/yltcharge?replicaSet=mgset-36440453
#Minio 配置
minio_endpoint: http://10.10.14.212:9000
minio_accesskey: wJDQP0ZZpyLHIfnPXYPn
minio_secretkey: ZkmTmuoMK6f601rQF5OOQB2JlSvmBOjrHRhIz6bt
minio_bucketName:dsideal
minio_path_prefix=http://10.10.14.212:9000/dsideal/

@ -0,0 +1,8 @@
# 路由配置
routes:
- prefix: /base
url: http://localhost:9002
# 白名单
whitelist:
- /base/doLogin

@ -59,5 +59,7 @@
<log4j.version>1.2.17</log4j.version>
<!--okhttp版本号-->
<okhttp.version>4.12.0</okhttp.version>
<!--yaml版本号-->
<snakeyaml.version>2.3</snakeyaml.version>
</properties>
</project>
Loading…
Cancel
Save