summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLAPTOP-CUUVN8AS\wk <[email protected]>2021-03-23 09:39:46 +0800
committerLAPTOP-CUUVN8AS\wk <[email protected]>2021-03-23 09:39:46 +0800
commit4d906338aee93da3121558c15ef8990c538bdcbd (patch)
tree0e4e1d78784b718564e3a8731660539ba46e6dbb /src
parent1421e9d5a7ea607c6d126b201b77c1c754b02504 (diff)
md5加密以及MD5不变
Diffstat (limited to 'src')
-rw-r--r--src/main/java/com/mesa/reportservice/configuration/ClickhouseConfig.java1
-rw-r--r--src/main/java/com/mesa/reportservice/configuration/HbaseConfig.java20
-rw-r--r--src/main/java/com/mesa/reportservice/configuration/HbaseFactory.java3
-rw-r--r--src/main/java/com/mesa/reportservice/configuration/HttpClientPool.java3
-rw-r--r--src/main/java/com/mesa/reportservice/configuration/ZkConfig.java5
-rw-r--r--src/main/java/com/mesa/reportservice/controller/MonitorController.java3
-rw-r--r--src/main/java/com/mesa/reportservice/controller/ScheduledResultController.java47
-rw-r--r--src/main/java/com/mesa/reportservice/service/impl/ClickhouseServiceImpl.java15
-rw-r--r--src/main/java/com/mesa/reportservice/service/impl/ExcuteProcessServiceImpl.java3
-rw-r--r--src/main/java/com/mesa/reportservice/service/impl/ExcuteserviceImpl.java3
-rw-r--r--src/main/java/com/mesa/reportservice/service/impl/HbaseServiceImpl.java26
-rw-r--r--src/main/java/com/mesa/reportservice/service/impl/MonitorServiceImpl.java4
-rw-r--r--src/main/java/com/mesa/reportservice/service/impl/MysqlServiceImpl.java4
-rw-r--r--src/main/java/com/mesa/reportservice/service/impl/ZkServiceImpl.java7
-rw-r--r--src/main/java/com/mesa/reportservice/util/Logs.java27
-rw-r--r--src/main/java/com/mesa/reportservice/util/SQLDateFunctionUtil.java1012
-rw-r--r--src/main/java/com/mesa/reportservice/util/StringUtil.java40
-rw-r--r--src/main/resources/config/application.properties120
-rw-r--r--src/main/resources/config/log4j2-dev.xml56
19 files changed, 84 insertions, 1315 deletions
diff --git a/src/main/java/com/mesa/reportservice/configuration/ClickhouseConfig.java b/src/main/java/com/mesa/reportservice/configuration/ClickhouseConfig.java
index 43491dc..e1bbe6d 100644
--- a/src/main/java/com/mesa/reportservice/configuration/ClickhouseConfig.java
+++ b/src/main/java/com/mesa/reportservice/configuration/ClickhouseConfig.java
@@ -1,6 +1,5 @@
package com.mesa.reportservice.configuration;
-import com.mesa.reportservice.util.Logs;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
diff --git a/src/main/java/com/mesa/reportservice/configuration/HbaseConfig.java b/src/main/java/com/mesa/reportservice/configuration/HbaseConfig.java
index 2288bd4..fcf6df2 100644
--- a/src/main/java/com/mesa/reportservice/configuration/HbaseConfig.java
+++ b/src/main/java/com/mesa/reportservice/configuration/HbaseConfig.java
@@ -5,6 +5,8 @@ import com.mesa.reportservice.util.StringUtil;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
+import java.net.URL;
+
/**
* Created by wk1 on 2019/5/27.
*/
@@ -23,24 +25,6 @@ public class HbaseConfig {
private static String colume_exception;
private static String colume_sql;
- public static String getHbaseJson(String hbaseid, String responsebody, JobEntity job) {
-
- String hbasejson = "";
- if (job.getStatus() == 2) {
- hbasejson = "{\"Row\":[{\"key\":\"" + StringUtil.getBase64(hbaseid) + "\", \"Cell\": [{\"column\":\"" + StringUtil.getBase64(columefamily.trim()) + "\",\"$\":\"" + StringUtil.getBase64(responsebody.trim()) + "\"},{\"column\":\"" + StringUtil.getBase64(colume_job_id.trim()) + "\", \"$\":\"" + StringUtil.getBase64(String.valueOf(job.getResultId())) + "\"},{\"column\":\"" + StringUtil.getBase64(colume_query_id.trim()) + "\", \"$\":\"" + StringUtil.getBase64(job.getQuery_id().trim()) + "\"},{\"column\":\"" + StringUtil.getBase64(colume_query_duration_ms.trim()) + "\", \"$\":\"" + StringUtil.getBase64(job.getQuery_duration_ms().trim()) + "\"},{\"column\":\"" + StringUtil.getBase64(colume_read_rows.trim()) + "\", \"$\":\"" + StringUtil.getBase64(String.valueOf(job.getResultRows())) + "\"},{\"column\":\"" + StringUtil.getBase64(colume_memory_usage.trim()) + "\", \"$\":\"" + StringUtil.getBase64(job.getMemory_usage().trim()) + "\"}]}]}";
- } else {
- hbasejson = "{\"Row\":[{\"key\":\"" + StringUtil.getBase64(hbaseid) + "\", \"Cell\": [{\"column\":\"" + StringUtil.getBase64(columefamily.trim()) + "\",\"$\":\"" + StringUtil.getBase64(responsebody.trim()) + "\"},{\"column\":\"" + StringUtil.getBase64(colume_sql.trim()) + "\", \"$\":\"" + StringUtil.getBase64(String.valueOf(job.getQuerySql())) + "\"},{\"column\":\"" + StringUtil.getBase64(colume_exception.trim()) + "\", \"$\":\"" + StringUtil.getBase64(job.getExcuteDetail().trim()) + "\"}]}]}";
-
- }
- return hbasejson;
- }
-
- public static String getHbasePostUrl() {
-
- String hbaseurl = "http://" + url + "/" + table + "/rssss";
-
- return hbaseurl;
- }
public void setColumefamily(String columefamily) {
HbaseConfig.columefamily = columefamily;
diff --git a/src/main/java/com/mesa/reportservice/configuration/HbaseFactory.java b/src/main/java/com/mesa/reportservice/configuration/HbaseFactory.java
index 9e4ef1c..3a63bdc 100644
--- a/src/main/java/com/mesa/reportservice/configuration/HbaseFactory.java
+++ b/src/main/java/com/mesa/reportservice/configuration/HbaseFactory.java
@@ -1,5 +1,6 @@
package com.mesa.reportservice.configuration;
+import cn.hutool.log.Log;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.client.*;
import org.springframework.beans.factory.annotation.Autowired;
@@ -20,7 +21,7 @@ import java.util.concurrent.Executors;
public class HbaseFactory {
private final HbaseProperties hbproperties;
- private final org.apache.log4j.Logger logger = org.apache.log4j.Logger.getLogger(this.getClass());
+ Log logger = Log.get();
@Autowired
public HbaseFactory(HbaseProperties hbproperties) {
diff --git a/src/main/java/com/mesa/reportservice/configuration/HttpClientPool.java b/src/main/java/com/mesa/reportservice/configuration/HttpClientPool.java
index 28d408b..9188db7 100644
--- a/src/main/java/com/mesa/reportservice/configuration/HttpClientPool.java
+++ b/src/main/java/com/mesa/reportservice/configuration/HttpClientPool.java
@@ -1,6 +1,5 @@
package com.mesa.reportservice.configuration;
-import com.mesa.reportservice.util.Logs;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
@@ -139,7 +138,6 @@ public class HttpClientPool {
*/
@Bean(name = "RequestLongConfig")
public RequestConfig getRequestConfig(@Qualifier("builder") RequestConfig.Builder builder) {
- Logs.debug("httpclient success");
return builder.build();
}
@@ -152,7 +150,6 @@ public class HttpClientPool {
*/
@Bean(name = "RequestShortConfig")
public RequestConfig getRequestShortConfig(@Qualifier("builderShort") RequestConfig.Builder builder) {
- Logs.debug("httpclientshort success");
return builder.build();
}
diff --git a/src/main/java/com/mesa/reportservice/configuration/ZkConfig.java b/src/main/java/com/mesa/reportservice/configuration/ZkConfig.java
index 4bedaf1..ed09cfa 100644
--- a/src/main/java/com/mesa/reportservice/configuration/ZkConfig.java
+++ b/src/main/java/com/mesa/reportservice/configuration/ZkConfig.java
@@ -1,6 +1,6 @@
package com.mesa.reportservice.configuration;
-import com.mesa.reportservice.util.Logs;
+import cn.hutool.log.Log;
import org.apache.curator.RetryPolicy;
import org.apache.curator.framework.CuratorFramework;
import org.apache.curator.framework.CuratorFrameworkFactory;
@@ -19,6 +19,7 @@ import org.springframework.context.annotation.Configuration;
public class ZkConfig {
private final ZkProperties zkproperties;
+ Log logger = Log.get();
@Autowired
public ZkConfig(ZkProperties zkproperties) {
@@ -41,7 +42,7 @@ public class ZkConfig {
if (zkproperties.getOpen() == 0) {
client.start();
} else {
- Logs.info("repoertservice start local");
+ logger.info("repoertservice start local");
}
return client;
diff --git a/src/main/java/com/mesa/reportservice/controller/MonitorController.java b/src/main/java/com/mesa/reportservice/controller/MonitorController.java
index 91ccabd..73ecc0f 100644
--- a/src/main/java/com/mesa/reportservice/controller/MonitorController.java
+++ b/src/main/java/com/mesa/reportservice/controller/MonitorController.java
@@ -1,5 +1,6 @@
package com.mesa.reportservice.controller;
+import cn.hutool.log.Log;
import com.alibaba.fastjson.JSONArray;
import com.mesa.reportservice.bean.MonitorEntity;
import com.mesa.reportservice.configuration.GlobelConfig;
@@ -19,11 +20,11 @@ import java.util.Map;
@Component
public class MonitorController {
- private final org.apache.log4j.Logger logger = org.apache.log4j.Logger.getLogger(this.getClass());
@Autowired
private MysqlService mysqlService;
@Autowired
private ZkService zs;
+ Log logger = Log.get();
@GetMapping(value = "/monitor")
diff --git a/src/main/java/com/mesa/reportservice/controller/ScheduledResultController.java b/src/main/java/com/mesa/reportservice/controller/ScheduledResultController.java
index 7012dac..041a0bd 100644
--- a/src/main/java/com/mesa/reportservice/controller/ScheduledResultController.java
+++ b/src/main/java/com/mesa/reportservice/controller/ScheduledResultController.java
@@ -1,5 +1,6 @@
package com.mesa.reportservice.controller;
+import cn.hutool.log.Log;
import com.mesa.reportservice.bean.JobEntity;
import com.mesa.reportservice.configuration.GlobelConfig;
import com.mesa.reportservice.configuration.HttpClientPool;
@@ -23,7 +24,7 @@ import java.util.concurrent.Executors;
@EnableScheduling
public class ScheduledResultController {
- private final org.apache.log4j.Logger logger = org.apache.log4j.Logger.getLogger(this.getClass());
+ Log logger = Log.get();
protected static ExecutorService pool = Executors.newFixedThreadPool(30);
@Autowired
@@ -102,9 +103,6 @@ public class ScheduledResultController {
sql = sql.replace("$start_time", "toDateTime('" + job.getStartTime().trim() + "')");
sql = sql.replace("$end_time", "toDateTime('" + job.getEndTime().trim() + "')");
job.setQuerySql(sql);
- String queryid = cs.getQueryId(job.getResultId().toString(),sql);
- job.setQuery_id(queryid);
- job.setQuerySql(sql);
job.setStatus(1);
job.setExcute_status(1);
job.setExcuteDetail("EXECUTING");
@@ -112,20 +110,39 @@ public class ScheduledResultController {
job.setExcuteTime(0);
job.setExcuteProcess(0);
job.setResultRows(0);
- if(ms.updateProcesses(job)!=0){
- GlobelConfig.mapresult.put(queryid, job);
- pool.execute(new Runnable() {
- @Override
- public void run() {
- es.excuteCkTask(job);
- }
- });
- }else{
- logger.error("更新数据库状态失败");
-
+ String queryid="";
+ try {
+ queryid = cs.getQueryId(job.getResultId().toString(), sql);
+ }
+ catch (Exception e){
+ job.setExcute_status(0);
+ job.setStatus(7);
+ job.setExcuteDetail("Unknow Error");
}
+ job.setQuery_id(queryid);
+
+ if(job.getStatus()==1){
+ if(ms.updateProcesses(job)!=0){
+ GlobelConfig.mapresult.put(queryid, job);
+ pool.execute(new Runnable() {
+ @Override
+ public void run() {
+ es.excuteCkTask(job);
+ }
+ });
+ }else{
+ logger.error("更新数据库状态失败");
+ }
+ }
+ else{
+ if(ms.updateProcesses(job)!=0){
+ logger.error("任务不能执行");
+ }else{
+ logger.error("更新数据库状态失败");
+ }
+ }
}
} else {
logger.info("无待执行任务");
diff --git a/src/main/java/com/mesa/reportservice/service/impl/ClickhouseServiceImpl.java b/src/main/java/com/mesa/reportservice/service/impl/ClickhouseServiceImpl.java
index 742e352..344e75f 100644
--- a/src/main/java/com/mesa/reportservice/service/impl/ClickhouseServiceImpl.java
+++ b/src/main/java/com/mesa/reportservice/service/impl/ClickhouseServiceImpl.java
@@ -1,11 +1,12 @@
package com.mesa.reportservice.service.impl;
+import cn.hutool.core.util.URLUtil;
+import cn.hutool.log.Log;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.mesa.reportservice.bean.HttpResult;
import com.mesa.reportservice.configuration.ClickhouseConfig;
import com.mesa.reportservice.service.ClickhouseService;
-import com.mesa.reportservice.util.Logs;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpDelete;
@@ -44,14 +45,14 @@ public class ClickhouseServiceImpl implements ClickhouseService {
@Autowired
@Qualifier("RequestLongConfig")
private RequestConfig RequestLongConfig;
- private final org.apache.log4j.Logger logger = org.apache.log4j.Logger.getLogger(this.getClass());
+ Log logger = Log.get();
@Override
public String getQueryId(String resultId, String query) throws Exception {
- String url = "http://" + clickhouseConfig.getGateway_ip().trim() + "/sys/engine/queryIds?resultId=" + resultId + "&query=";
+ String url = URLUtil.normalize(clickhouseConfig.getGateway_ip().trim() + "/sys/engine/queryIds?resultId=" + resultId + "&query=");
String sql = URLEncoder.encode(query, "utf8").replaceAll("\\+", "%20");
url = url+sql;
HttpGet httpGet = new HttpGet(url);
@@ -70,7 +71,7 @@ public class ClickhouseServiceImpl implements ClickhouseService {
}
}catch (Exception e){
- logger.error(e.toString());
+ logger.error("获取queryid失败"+e.toString());
throw new Exception();
}
}
@@ -85,7 +86,7 @@ public class ClickhouseServiceImpl implements ClickhouseService {
public HttpResult queryForExcute(String resultId, String query) throws Exception,OutOfMemoryError{
// 声明httpPost请求
- String url = "http://" + clickhouseConfig.getGateway_ip().trim() + "/?option=long-term&resultId=" + resultId + "&query=";
+ String url = URLUtil.normalize(clickhouseConfig.getGateway_ip().trim() + "/?option=long-term&resultId=" + resultId + "&query=");
query = URLEncoder.encode(query , "utf8").replaceAll("\\+", "%20");
String jobsql = url + query;
HttpGet httpGet = new HttpGet(jobsql);
@@ -111,7 +112,7 @@ public class ClickhouseServiceImpl implements ClickhouseService {
@Override
public HttpResult queryForProcess(String queryId) throws Exception {
// 声明httpPost请求
- String url = "http://" + clickhouseConfig.getGateway_ip().trim() + "/sys/engine/processes/"+queryId;
+ String url = URLUtil.normalize( clickhouseConfig.getGateway_ip().trim() + "/sys/engine/processes/"+queryId);
HttpGet httpGet = new HttpGet(url);
// 加入配置信息
@@ -137,7 +138,7 @@ public class ClickhouseServiceImpl implements ClickhouseService {
@Override
public HttpResult queryForCancel(String queryId) throws Exception {
- String url = "http://" + clickhouseConfig.getGateway_ip().trim() + "/sys/engine/tasks/"+queryId;
+ String url = URLUtil.normalize(clickhouseConfig.getGateway_ip().trim() + "/sys/engine/tasks/"+queryId);
// 声明httpPost请求
HttpDelete HttpDelete = new HttpDelete(url);
// 加入配置信息
diff --git a/src/main/java/com/mesa/reportservice/service/impl/ExcuteProcessServiceImpl.java b/src/main/java/com/mesa/reportservice/service/impl/ExcuteProcessServiceImpl.java
index cee4af7..604dd20 100644
--- a/src/main/java/com/mesa/reportservice/service/impl/ExcuteProcessServiceImpl.java
+++ b/src/main/java/com/mesa/reportservice/service/impl/ExcuteProcessServiceImpl.java
@@ -1,5 +1,6 @@
package com.mesa.reportservice.service.impl;
+import cn.hutool.log.Log;
import com.alibaba.fastjson.JSON;
import com.mesa.reportservice.bean.HttpResult;
import com.mesa.reportservice.bean.JobEntity;
@@ -18,7 +19,7 @@ import java.util.Map;
@Service
public class ExcuteProcessServiceImpl implements ExcuteProcessService {
- private final org.apache.log4j.Logger logger = org.apache.log4j.Logger.getLogger(this.getClass());
+ Log logger = Log.get();
@Autowired
diff --git a/src/main/java/com/mesa/reportservice/service/impl/ExcuteserviceImpl.java b/src/main/java/com/mesa/reportservice/service/impl/ExcuteserviceImpl.java
index 314320f..aa50055 100644
--- a/src/main/java/com/mesa/reportservice/service/impl/ExcuteserviceImpl.java
+++ b/src/main/java/com/mesa/reportservice/service/impl/ExcuteserviceImpl.java
@@ -1,5 +1,6 @@
package com.mesa.reportservice.service.impl;
+import cn.hutool.log.Log;
import com.alibaba.fastjson.JSON;
import com.mesa.reportservice.bean.HttpResult;
import com.mesa.reportservice.bean.JobEntity;
@@ -23,7 +24,7 @@ import java.util.Map;
*/
@Service
public class ExcuteserviceImpl implements ExcuteService {
- private final org.apache.log4j.Logger logger = org.apache.log4j.Logger.getLogger(this.getClass());
+ Log logger = Log.get();
@Autowired
diff --git a/src/main/java/com/mesa/reportservice/service/impl/HbaseServiceImpl.java b/src/main/java/com/mesa/reportservice/service/impl/HbaseServiceImpl.java
index 88369d6..708522f 100644
--- a/src/main/java/com/mesa/reportservice/service/impl/HbaseServiceImpl.java
+++ b/src/main/java/com/mesa/reportservice/service/impl/HbaseServiceImpl.java
@@ -1,10 +1,10 @@
package com.mesa.reportservice.service.impl;
+import cn.hutool.log.Log;
import com.mesa.reportservice.bean.HttpResult;
import com.mesa.reportservice.bean.JobEntity;
import com.mesa.reportservice.configuration.HbaseProperties;
import com.mesa.reportservice.service.HbaseService;
-import com.mesa.reportservice.util.Logs;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.*;
import org.apache.hadoop.hbase.util.Bytes;
@@ -24,6 +24,22 @@ public class HbaseServiceImpl implements HbaseService {
@Autowired
private HbaseProperties hbproperties;
+ Log logger = Log.get();
+
+
+ private String getRowKey(String query_id){
+
+ String rowKey = query_id;
+ try {
+ String[] queryIdArray = query_id.split(":");
+ rowKey=queryIdArray[1];
+ }
+ catch (Exception e){
+ logger.error(e.toString());
+ }
+ return rowKey;
+
+ }
@Override
public Boolean put(JobEntity jobEntity) throws Exception {
@@ -31,7 +47,7 @@ public class HbaseServiceImpl implements HbaseService {
Boolean status = false;
try(Table table =hbaseConnection.getTable(TableName.valueOf(hbproperties.getTable()))) {
- Put put = new Put(Bytes.toBytes(jobEntity.getQuery_id()));
+ Put put = new Put(Bytes.toBytes(getRowKey(jobEntity.getQuery_id())));
put.addColumn(Bytes.toBytes("response"), Bytes.toBytes("result"), Bytes.toBytes(jobEntity.getResult()));
put.addColumn(Bytes.toBytes("detail"), Bytes.toBytes("result_id"), Bytes.toBytes(jobEntity.getResultId()));
@@ -50,9 +66,11 @@ public class HbaseServiceImpl implements HbaseService {
table.put(put);
status =true;
}catch(Exception e) {
- Logs.error(e.toString());
+ logger.error(e.toString());
}
return status;
- }
+}
+
+
}
diff --git a/src/main/java/com/mesa/reportservice/service/impl/MonitorServiceImpl.java b/src/main/java/com/mesa/reportservice/service/impl/MonitorServiceImpl.java
index 2ab4170..a36433e 100644
--- a/src/main/java/com/mesa/reportservice/service/impl/MonitorServiceImpl.java
+++ b/src/main/java/com/mesa/reportservice/service/impl/MonitorServiceImpl.java
@@ -1,10 +1,10 @@
package com.mesa.reportservice.service.impl;
+import cn.hutool.log.Log;
import com.mesa.reportservice.configuration.GlobelConfig;
import com.mesa.reportservice.configuration.ZkProperties;
import com.mesa.reportservice.service.MonitorService;
import com.mesa.reportservice.service.ZkService;
-import com.mesa.reportservice.util.Logs;
import io.micrometer.core.instrument.*;
import org.apache.commons.collections.map.HashedMap;
import org.apache.curator.framework.CuratorFramework;
@@ -26,7 +26,7 @@ import java.util.Map;
@Service
public class MonitorServiceImpl implements MonitorService {
- private final org.apache.log4j.Logger logger = org.apache.log4j.Logger.getLogger(this.getClass());
+ Log logger = Log.get();
@Autowired
MeterRegistry registry;
diff --git a/src/main/java/com/mesa/reportservice/service/impl/MysqlServiceImpl.java b/src/main/java/com/mesa/reportservice/service/impl/MysqlServiceImpl.java
index 534a90e..fdc5cc7 100644
--- a/src/main/java/com/mesa/reportservice/service/impl/MysqlServiceImpl.java
+++ b/src/main/java/com/mesa/reportservice/service/impl/MysqlServiceImpl.java
@@ -1,10 +1,10 @@
package com.mesa.reportservice.service.impl;
+import cn.hutool.log.Log;
import com.mesa.reportservice.bean.JobEntity;
import com.mesa.reportservice.mapper.ReportResultMapper;
import com.mesa.reportservice.service.MysqlService;
import com.mesa.reportservice.util.DateUtil;
-import com.mesa.reportservice.util.Logs;
import com.mesa.reportservice.util.StringUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -20,7 +20,7 @@ import java.util.Map;
*/
@Service
public class MysqlServiceImpl implements MysqlService {
- private final org.apache.log4j.Logger logger = org.apache.log4j.Logger.getLogger(this.getClass());
+ Log logger = Log.get();
@Autowired
public ReportResultMapper rrm;
diff --git a/src/main/java/com/mesa/reportservice/service/impl/ZkServiceImpl.java b/src/main/java/com/mesa/reportservice/service/impl/ZkServiceImpl.java
index dc40104..1136087 100644
--- a/src/main/java/com/mesa/reportservice/service/impl/ZkServiceImpl.java
+++ b/src/main/java/com/mesa/reportservice/service/impl/ZkServiceImpl.java
@@ -1,9 +1,9 @@
package com.mesa.reportservice.service.impl;
+import cn.hutool.log.Log;
import com.mesa.reportservice.configuration.GlobelConfig;
import com.mesa.reportservice.configuration.ZkProperties;
import com.mesa.reportservice.service.ZkService;
-import com.mesa.reportservice.util.Logs;
import org.apache.curator.framework.CuratorFramework;
import org.apache.curator.framework.api.ExistsBuilder;
import org.apache.zookeeper.CreateMode;
@@ -22,6 +22,7 @@ public class ZkServiceImpl implements ZkService {
private CuratorFramework curatorConnect;
@Autowired
private ZkProperties zp;
+ Log logger = Log.get();
@Override
@@ -55,7 +56,7 @@ public class ZkServiceImpl implements ZkService {
return true;
} else {
- Logs.debug("不是主节点");
+ logger.debug("不是主节点");
return false;
}
}
@@ -63,7 +64,7 @@ public class ZkServiceImpl implements ZkService {
return true;
}
} catch (Exception e) {
- Logs.error(e.toString());
+ logger.error(e.toString());
return true;
}
}
diff --git a/src/main/java/com/mesa/reportservice/util/Logs.java b/src/main/java/com/mesa/reportservice/util/Logs.java
deleted file mode 100644
index 3c471da..0000000
--- a/src/main/java/com/mesa/reportservice/util/Logs.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package com.mesa.reportservice.util;
-
-/**
- * Created by wk1 on 2019/5/23.
- */
-
-import org.apache.log4j.Logger;
-
-public class Logs {
- private static Logger logger = Logger.getLogger(Logs.class);
-
- //debug方法,其他error、warn类似定义
- public static void debug(Object obj) {
- //如果更改日志出工工具,只需修改该行代码即可。如:可改为 System.out.println(obj);
- logger.debug(obj);
- }
-
- public static void error(Object obj) {
- //如果更改日志出工工具,只需修改该行代码即可。如:可改为 System.out.println(obj);
- logger.error(obj);
- }
-
- public static void info(Object obj) {
- //如果更改日志出工工具,只需修改该行代码即可。如:可改为 System.out.println(obj);
- logger.info(obj);
- }
-}
diff --git a/src/main/java/com/mesa/reportservice/util/SQLDateFunctionUtil.java b/src/main/java/com/mesa/reportservice/util/SQLDateFunctionUtil.java
deleted file mode 100644
index 202d6f8..0000000
--- a/src/main/java/com/mesa/reportservice/util/SQLDateFunctionUtil.java
+++ /dev/null
@@ -1,1012 +0,0 @@
-package com.mesa.reportservice.util;
-
-import com.mesa.reportservice.bean.DBTypeEnum;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-/**
- * @author GouGe
- * @data 2019/8/1 10:13
- */
-public class SQLDateFunctionUtil {
- public static Pattern pDateFormat = Pattern.compile("\\W(FROM_UNIXTIME|DATE_FORMAT|STR_TO_DATE)\\s*\\(", Pattern.CASE_INSENSITIVE);
- public static Pattern pGroupByFormat = Pattern.compile("(SELECT\\s+|GROUP\\s*BY\\s+|,\\s*)(FROM_UNIXTIME|DATE_FORMAT|STR_TO_DATE)\\s*\\(", Pattern.CASE_INSENSITIVE);
- public static Pattern pDateRelative = Pattern.compile("\\W(ADDDATE|DATE_ADD|DATE_SUB|SUBDATE)\\s*\\(", Pattern.CASE_INSENSITIVE);
- public static Pattern pIntervalNumUnit = Pattern.compile("INTERVAL(.*?)(YEAR|QUARTER|MONTH|WEEK|DAY|HOUR|MINUTE|SECOND)$", Pattern.CASE_INSENSITIVE);
- public static Pattern pUnixTime = Pattern.compile("\\WUNIX_TIMESTAMP\\s*\\(", Pattern.CASE_INSENSITIVE);
- public static Pattern pDate = Pattern.compile("\\W(DATE)\\s*\\(", Pattern.CASE_INSENSITIVE);
- public static Pattern pDateCalculateNum = Pattern.compile("\\(\\s*(DATE)\\s*\\(", Pattern.CASE_INSENSITIVE);
- public static Pattern pUnitFuncGetNum = Pattern.compile("\\W(YEAR|QUARTER|MONTH|DAY|HOUR|MINUTE|SECOND|DAYOFYEAR|DAYOFMONTH|DAYOFWEEK)\\s*\\(", Pattern.CASE_INSENSITIVE);
- public static Pattern pMarkDate = Pattern.compile("\\W(MAKEDATE)\\s*\\(", Pattern.CASE_INSENSITIVE);
- public static Pattern pLastDateFunc = Pattern.compile("\\W(LAST_DAY)\\s*\\(", Pattern.CASE_INSENSITIVE);
- public static Pattern pCKTimeStamp = Pattern.compile("\\s+TIMESTAMP\\s+([^'])", Pattern.CASE_INSENSITIVE);
- public static Pattern pNow = Pattern.compile("NOW\\(\\s*\\)", Pattern.CASE_INSENSITIVE);
- public static Pattern pStrDateTime = Pattern.compile("(<|>|=|between|and)\\s*('\\d{4}-\\d{2}-\\d{2}\\s*\\d{2}:\\d{2}:\\d{2}')", Pattern.CASE_INSENSITIVE);
-
-
- /**
- * 解析mysql函数替换为对应数据库类型函数
- *
- * @param sql 要解析的sql
- * @param dbType 数据库类型
- * @return
- */
- public static String generateDateFunction(String sql, String dbType) {
- sql = SQLDateFunctionUtil.parseMarkDate(sql, dbType);
- sql = SQLDateFunctionUtil.parseDateCalculateNum(sql, dbType);
- sql = SQLDateFunctionUtil.parseLastDayFunc(sql, dbType);
- sql = SQLDateFunctionUtil.parseGroupByFormat(sql, dbType);
- sql = SQLDateFunctionUtil.parseDateFormat(sql, dbType);
- sql = SQLDateFunctionUtil.parseDateRelative(sql, dbType);
- sql = SQLDateFunctionUtil.parseUnixTime(sql, dbType);
- sql = SQLDateFunctionUtil.parseDate(sql, dbType);
- sql = SQLDateFunctionUtil.parseUnitFuncGetNum(sql, dbType);
- sql = SQLDateFunctionUtil.specialDisposeEnd(sql, dbType);
- sql = SQLDateFunctionUtil.replaceMark(sql);
- return sql;
- }
-
-
- /**
- * 匹配范围:FROM_UNIXTIME(、DATE_FORMAT(、STR_TO_DATE(
- *
- * @param sql 需要解析的sql
- * @param dbType
- * @return
- */
- public static String parseDateFormat(String sql, String dbType) {
- int count = 0;
- while (true) {
- Matcher matcher = pDateFormat.matcher(sql);
- if (!matcher.find() || count++ >= 40) {
- return sql;
- }
- int start = matcher.start() + 1;
- String sqlParse = sql.substring(start);
- int[] bracketsMatch = StringUtil.getBracketsMatch(sqlParse, "(", false);
- if (bracketsMatch[0] >= 1) {
- --bracketsMatch[0];
- }
- String str = dateFormatHavaMark(sqlParse, bracketsMatch[0], false, dbType);
- sql = sql.substring(0, start) + str;
- }
- }
-
- /**
- * 匹配格式化 FROM_UNIXTIME(、DATE_FORMAT(、STR_TO_DATE(
- *
- * @param sql
- * @param dbType
- * @return
- */
- public static String parseGroupByFormat(String sql, String dbType) {
- int count = 0;
- while (true) {
- Matcher matcher = pGroupByFormat.matcher(sql);
- if (!matcher.find() || count++ >= 30) {
- return sql;
- }
- int start = matcher.start();
- String sqlParse = sql.substring(start);
- int[] bracketsMatch = StringUtil.getBracketsMatch(sqlParse, "(", false);
- if (bracketsMatch[0] >= 1) {
- --bracketsMatch[0];
- }
- String str = dateFormatHavaMark(sqlParse, bracketsMatch[0], true, dbType);
- sql = sql.substring(0, start) + str;
- }
- }
-
- /**
- * 匹配 SUBDATE(、SUBDATE(、SUBDATE(、ADDDATE(、DATE_SUB(、DATE_ADD(
- *
- * @param sql
- * @param dbType
- * @return
- */
- public static String parseDateRelative(String sql, String dbType) {
- int count = 0;
- while (true) {
- Matcher matcher = pDateRelative.matcher(sql);
- if (!matcher.find() || count++ >= 30) {
- return sql;
- }
- int start = matcher.start() + 1;
- String sqlParse = sql.substring(start);
- int[] bracketsMatch = StringUtil.getBracketsMatch(sqlParse, null, false);
- if (bracketsMatch[0] >= 1) {
- --bracketsMatch[0];
- }
- String str = dateRelativeHaveMark(sqlParse, bracketsMatch[0], dbType);
- sql = sql.substring(0, start) + str;
- }
- }
-
- /**
- * 匹配 UNIX_TIMESTAMP(
- *
- * @param sql
- * @param dbType
- * @return
- */
- public static String parseUnixTime(String sql, String dbType) {
- int count = 0;
- while (true) {
- Matcher matcher = pUnixTime.matcher(sql);
- if (!matcher.find() || count++ == 30) {
- return sql;
- }
- int start = matcher.start() + 1;
- String sqlParse = sql.substring(start);
- int[] bracketsMatch = StringUtil.getBracketsMatch(sqlParse, null, false);
- if (bracketsMatch[0] >= 1) {
- --bracketsMatch[0];
- }
- String str = parseUnixTimeHavaMark(sqlParse, bracketsMatch[0], dbType);
- sql = sql.substring(0, start) + str;
- }
- }
-
- /**
- * 匹配 DATE(
- *
- * @param sql
- * @param dbType
- * @return
- */
- public static String parseDate(String sql, String dbType) {
- int count = 0;
- while (true) {
- Matcher matcher = pDate.matcher(sql);
- if (!matcher.find() || count++ >= 30) {
- return sql;
- }
- int start = matcher.start() + 1;
- String sqlParse = sql.substring(start);
- int[] bracketsMatch = StringUtil.getBracketsMatch(sqlParse, "(", false);
- if (bracketsMatch[0] >= 1) {
- --bracketsMatch[0];
- }
- String str = parseDateHavaMark(sqlParse, bracketsMatch[0], dbType);
- sql = sql.substring(0, start) + str;
- }
- }
-
- /**
- * 匹配 YEAR(、QUARTER(、MONTH(、DAY(、HOUR(、MINUTE(、SECOND、DAYOFYEAR(、DAYOFMONTH(、DAYOFWEEK(
- *
- * @param sql
- * @param dbType
- * @return
- */
- public static String parseUnitFuncGetNum(String sql, String dbType) {
- int count = 0;
- while (true) {
- Matcher matcher = pUnitFuncGetNum.matcher(sql);
- if (!matcher.find() || count++ >= 30) {
- return sql;
- }
- int start = matcher.start() + 1;
- String sqlParse = sql.substring(start);
- int[] bracketsMatch = StringUtil.getBracketsMatch(sqlParse, "(", false);
- if (bracketsMatch[0] >= 1) {
- --bracketsMatch[0];
- }
- String str = parseUnitFuncGetNumHaveMark(sqlParse, bracketsMatch[0], dbType);
- sql = sql.substring(0, start) + str;
- }
- }
-
- /**
- * 匹配 pMarkDate(
- *
- * @param sql
- * @param dbType
- * @return
- */
- public static String parseMarkDate(String sql, String dbType) {
- int count = 0;
- while (true) {
- Matcher matcher = pMarkDate.matcher(sql);
- if (!matcher.find() || count++ >= 30) {
- return sql;
- }
- int start = matcher.start() + 1;
- String sqlParse = sql.substring(start);
- int[] bracketsMatch = StringUtil.getBracketsMatch(sqlParse, "(", false);
- if (bracketsMatch[0] >= 1) {
- --bracketsMatch[0];
- }
- String str = parseMarkDateHaveMark(sqlParse, bracketsMatch[0], dbType);
- sql = sql.substring(0, start) + str;
- }
- }
-
- /**
- * 匹配 LAST_DAY(
- *
- * @param sql
- * @param dbType
- * @return
- */
- public static String parseLastDayFunc(String sql, String dbType) {
- int count = 0;
- while (true) {
- Matcher matcher = pLastDateFunc.matcher(sql);
- if (!matcher.find() || count++ >= 30) {
- return sql;
- }
- int start = matcher.start() + 1;
- String sqlParse = sql.substring(start);
- int[] bracketsMatch = StringUtil.getBracketsMatch(sqlParse, "(", false);
- if (bracketsMatch[0] >= 1) {
- --bracketsMatch[0];
- }
- String str = parseLastDayFuncHaveMark(sqlParse, bracketsMatch[0], dbType);
- sql = sql.substring(0, start) + str;
- }
- }
-
- /**
- * 匹配 涉及DATE()-、DATE()+
- *
- * @param sql
- * @param dbType
- * @return
- */
- public static String parseDateCalculateNum(String sql, String dbType) {
- int count = 0;
- String sqlTmp = "";
- while (true) {
- Matcher matcher = pDateCalculateNum.matcher(sql);
- if (!matcher.find() || count++ >= 30) {
- sql = sql.replace("##", "(");
- return sql;
- }
- String sqlParse = sql.substring(matcher.start());
- if (sqlTmp.equals(sqlParse)) {
- sqlParse = "##" + sqlParse.substring(1);
- sql = sql.substring(0, matcher.start()) + sqlParse;
- continue;
- }
- sqlTmp = sqlParse;
- int[] bracketsMatch = StringUtil.getBracketsMatch(sqlParse, "(", false);
- if (bracketsMatch[0] >= 1) {
- --bracketsMatch[0];
- }
- String sqlParse2 = sql.substring(matcher.start() + 1);
- int[] bracketsMatch2 = StringUtil.getBracketsMatch(sqlParse2, "(", false);
- if (bracketsMatch2[0] >= 1) {
- --bracketsMatch2[0];
- }
- String str = parseDateCalculateNumHaveMark(sqlParse, bracketsMatch[0], bracketsMatch2[0], dbType);
- sql = sql.substring(0, matcher.start()) + str;
- }
- }
-
- /**
- * 替换 涉及DATE()-、DATE()+
- *
- * @param sqlParse
- * @param num 括号总个数
- * @param num2 date函数内括号数
- * @param dbType
- * @return
- */
- private static String parseDateCalculateNumHaveMark(String sqlParse, int num, int num2, String dbType) {
- Pattern pDateCalculateNumParse = Pattern.compile("(DATE)\\s*\\((.*?(.*?\\).*?){" + num2 + "})\\)(.*?(.*?\\).*?){" + (num - num2 - 1) + "})\\)", Pattern.CASE_INSENSITIVE);
- StringBuffer sb = new StringBuffer();
- Matcher mDateCalculateNumParse = pDateCalculateNumParse.matcher(sqlParse);
- if (mDateCalculateNumParse.find() && (mDateCalculateNumParse.group(4).trim().startsWith("+") || mDateCalculateNumParse.group(4).trim().startsWith("-"))) {
- String group0 = mDateCalculateNumParse.group(0);
- String group2 = mDateCalculateNumParse.group(2);
- String group4 = mDateCalculateNumParse.group(4);
- if (StringUtil.getBracketsMatch(group0.substring(0, group0.length() - 1), "(", true)[0] == num) {
- String[] split = group4.split(",");
- String replaceValue = "";
- if (DBTypeEnum.CLICKHOUSE.getValue().equals(dbType)) {
- if (split.length == 1) {
- replaceValue = "toStartOfDay#[toDateTime#[" + group2 + "]]+[" + group4 + "]*86400 )";
- } else if (split.length == 2) {
- replaceValue = "toStartOfDay#[toDateTime#[" + group2 + "]]+[" + split[0] + "]*86400 ," + split[1] + ")";
- }
- } else if (DBTypeEnum.DRUID.getValue().equals(dbType)) {
- if (split.length == 1) {
- replaceValue = "TIME_SHIFT#[FLOOR#[ TIMESTAMP " + group2 + " to day],'P1D'," + group4 + "])";
- } else if (split.length == 2) {
- replaceValue = "TIME_SHIFT#[FLOOR#[ TIMESTAMP " + group2 + "to day],'P1D'," + split[0] + "]," + split[1] + ")";
- }
- }
- mDateCalculateNumParse.appendReplacement(sb, replaceValue);
- }
- }
- mDateCalculateNumParse.appendTail(sb);
- return sb.toString();
- }
-
-
- /**
- * 替换 LAST_DAY(date)
- *
- * @param sqlParse
- * @param num 包含括号个数
- * @param dbType
- * @return
- */
- public static String parseLastDayFuncHaveMark(String sqlParse, int num, String dbType) {
- Pattern pLastDayParse = Pattern.compile("(LAST_DAY)\\s*\\((.*?(.*?\\).*?){" + num + "})\\)", Pattern.CASE_INSENSITIVE);
- StringBuffer sb = new StringBuffer();
- Matcher mLastDayParse = pLastDayParse.matcher(sqlParse);
- if (mLastDayParse.find()) {
- String replaceValue = lastDayRealize(mLastDayParse.group(1), mLastDayParse.group(2), dbType);
- mLastDayParse.appendReplacement(sb, replaceValue);
- }
- mLastDayParse.appendTail(sb);
- return sb.toString();
- }
-
- /**
- * 实现替换:LAST_DAY(date)
- *
- * @param unit
- * @param param
- * @param dbType
- * @return
- */
- private static String lastDayRealize(String unit, String param, String dbType) {
- String replaceValue = null;
- if ("LAST_DAY".equals(unit.toUpperCase())) {
- if (DBTypeEnum.CLICKHOUSE.getValue().equals(dbType)) {
- replaceValue = "addDays#[addMonths#[toStartOfMonth#[toDateTime#[" + param + "]],1],-1]";
- } else if (DBTypeEnum.DRUID.getValue().equals(dbType)) {
- replaceValue = "TIME_SHIFT#[FLOOR#[TIME_SHIFT#[ TIMESTAMP " + param + ", 'P1M', 1] to month], 'P1D', -1]";
- }
- }
- return replaceValue;
- }
-
- /**
- * 替换:MAKEDATE(year,dayofyear)
- *
- * @param sqlParse
- * @param num 函数参数包含括号的个数
- * @param dbType
- * @return
- */
- public static String parseMarkDateHaveMark(String sqlParse, int num, String dbType) {
- Pattern pMarkDateParse = Pattern.compile("(MAKEDATE)\\s*\\((.*?(.*?\\).*?){" + num + "})\\)", Pattern.CASE_INSENSITIVE);
- StringBuffer sb = new StringBuffer();
- Matcher mMarkDateParse = pMarkDateParse.matcher(sqlParse);
- if (mMarkDateParse.find()) {
- String replaceValue = markDateRealize(mMarkDateParse.group(1), mMarkDateParse.group(2), dbType);
- mMarkDateParse.appendReplacement(sb, replaceValue);
- }
- mMarkDateParse.appendTail(sb);
- return sb.toString();
- }
-
- /**
- * 实现替换:MAKEDATE(year,dayofyear)
- *
- * @param func
- * @param expr
- * @param dbType
- * @return
- */
- private static String markDateRealize(String func, String expr, String dbType) {
- String replaceValue = null;
- List<String> params = diviParam(expr, ",");
- if ("MAKEDATE".equals(func.toUpperCase()) && params.size() == 2) {
- Pattern pYearFunNum = Pattern.compile("(YEAR)\\s*\\(", Pattern.CASE_INSENSITIVE);
- Matcher matcher = pYearFunNum.matcher(expr);
- if (matcher.find() && "YEAR".equals(matcher.group(1).toUpperCase())) {
- String temp = expr.substring(matcher.start());
- int[] bracketsMatch = StringUtil.getBracketsMatch(temp, "(", false);
- if (bracketsMatch[0] >= 1) {
- --bracketsMatch[0];
- }
- Pattern pYear = Pattern.compile("^(.*?)(YEAR)\\s*\\((.*?(.*?\\).*?){" + bracketsMatch[0] + "})\\)(.*?)$", Pattern.CASE_INSENSITIVE);
- Matcher mYear = pYear.matcher(params.get(0));
- if (mYear.find()) {
- String group1 = mYear.group(1);
- String group5 = mYear.group(5);
- if (DBTypeEnum.CLICKHOUSE.getValue().equals(dbType)) {
- if (group1 != null && !"".equals(group1.trim()) && group5 != null && !"".equals(group5.trim())) {
- replaceValue = "toDateTime#[addDays#[addYears#[toStartOfYear#[toDateTime#[" + mYear.group(3) + "]]," + group1 + " " + group5 + "]," + params.get(1) + " -1 ]]";
- } else if (group5 != null && !"".equals(group5.trim())) {
- replaceValue = "toDateTime#[addDays#[addYears#[toStartOfYear#[toDateTime#[" + mYear.group(3) + "]]," + group5 + "]," + params.get(1) + " -1 ]]";
- } else if (group1 != null && !"".equals(group1.trim())) {
- replaceValue = "toDateTime#[addDays#[addYears#[toStartOfYear#[toDateTime#[" + mYear.group(3) + "]]," + group1 + "0 ]," + params.get(1) + " -1 ]]";
- } else {
- replaceValue = "toDateTime#[addDays#[toStartOfYear#[toDateTime#[" + mYear.group(3) + "]]," + params.get(1) + " -1 ]]";
- }
- } else if (DBTypeEnum.DRUID.getValue().equals(dbType)) {
- if (group1 != null && !"".equals(group1.trim()) && group5 != null && !"".equals(group5.trim())) {
- replaceValue = "TIME_SHIFT#[TIME_SHIFT#[FLOOR#[ TIMESTAMP " + mYear.group(3) + " to year],'P1Y'," + group1 + " " + group5 + " ],'P1D'," + params.get(1) + " -1 ]";
- } else if (group5 != null && !"".equals(group5.trim())) {
- replaceValue = "TIME_SHIFT#[TIME_SHIFT#[FLOOR#[ TIMESTAMP " + mYear.group(3) + " to year],'P1Y'," + group5 + "],'P1D'," + params.get(1) + " -1 ]";
- } else if (group1 != null && !"".equals(group1.trim())) {
- replaceValue = "TIME_SHIFT#[TIME_SHIFT#[FLOOR#[ TIMESTAMP " + mYear.group(3) + " to year],'P1Y'," + group1 + "0 ],'P1D'," + params.get(1) + " -1 ]";
- } else {
- replaceValue = "TIME_SHIFT#[FLOOR#[ TIMESTAMP " + mYear.group(3) + " to year],'P1D'," + params.get(1) + "-1 ]";
- }
- }
- }
- }
- }
- return replaceValue;
- }
-
- /**
- * 替换 YEAR(expr)、QUARTER(expr)、MONTH(expr)、DAY(expr)、HOUR(expr)、MINUTE(expr)、SECONDexpr)、DAYOFYEAR(expr)、DAYOFMONTH(expr)、DAYOFWEEK(expr)
- *
- * @param sqlParse
- * @param num
- * @param dbType
- * @return
- */
- private static String parseUnitFuncGetNumHaveMark(String sqlParse, int num, String dbType) {
- Pattern pUnitFuncParse = Pattern.compile("(YEAR|QUARTER|MONTH|DAY|HOUR|MINUTE|SECOND|DAYOFYEAR|DAYOFMONTH|DAYOFWEEK)\\s*\\((.*?(.*?\\).*?){" + num + "})\\)", Pattern.CASE_INSENSITIVE);
- StringBuffer sb = new StringBuffer();
- Matcher mUnitFuncParse = pUnitFuncParse.matcher(sqlParse);
- if (mUnitFuncParse.find()) {
- String replaceValue = unitFuncGetNumRealize(mUnitFuncParse.group(1), mUnitFuncParse.group(2), dbType);
- mUnitFuncParse.appendReplacement(sb, replaceValue);
- }
- mUnitFuncParse.appendTail(sb);
- return sb.toString();
- }
-
- /**
- * 实现替换:YEAR(expr)、QUARTER(expr)、MONTH(expr)、DAY(expr)、HOUR(expr)、MINUTE(expr)、SECONDexpr)、DAYOFYEAR(expr)、DAYOFMONTH(expr)、DAYOFWEEK(expr)
- *
- * @param unit
- * @param expr
- * @param dbType
- * @return
- */
- private static String unitFuncGetNumRealize(String unit, String expr, String dbType) {
- String replaceValue = null;
- unit = unit.toUpperCase();
- if (DBTypeEnum.CLICKHOUSE.getValue().equals(dbType)) {
- switch (unit) {
- case "YEAR":
- replaceValue = "toYear#[toDateTime#[" + expr + "]]";
- break;
- case "QUARTER":
- replaceValue = "toQuarter#[toDateTime#[" + expr + "]]";
- break;
- case "MONTH":
- replaceValue = "toMonth#[toDateTime#[" + expr + "]]";
- break;
- case "DAY":
- replaceValue = "toDayOfMonth#[toDateTime#[" + expr + "]]";
- break;
- case "HOUR":
- replaceValue = "toHour#[toDateTime#[" + expr + "]]";
- break;
- case "MINUTE":
- replaceValue = "toMinute#[toDateTime#[" + expr + "]]";
- break;
- case "SECOND":
- replaceValue = "toSecond#[toDateTime#[" + expr + "]]";
- break;
- case "DAYOFYEAR":
- replaceValue = "toDayOfYear#[toDateTime#[" + expr + "]]";
- break;
- case "DAYOFMONTH":
- replaceValue = "toDayOfMonth#[toDateTime#[" + expr + "]]";
- break;
- case "DAYOFWEEK":
- replaceValue = "toDayOfWeek#[addDays#[toDateTime#[" + expr + "],1]]";
- break;
- default:
- replaceValue = unit + "#[" + expr + "]";
- }
- } else if (DBTypeEnum.DRUID.getValue().equals(dbType)) {
- switch (unit) {
- case "YEAR":
- replaceValue = "TIME_EXTRACT#[TIME_SHIFT#[ TIMESTAMP " + expr + ",'PT1M',0], 'YEAR' ]";
- break;
- case "QUARTER":
- replaceValue = "TIME_EXTRACT#[TIME_SHIFT#[ TIMESTAMP " + expr + ",'PT1M',0], 'QUARTER' ]";
- break;
- case "MONTH":
- replaceValue = "TIME_EXTRACT#[TIME_SHIFT#[ TIMESTAMP " + expr + ",'PT1M',0], 'MONTH' ]";
- break;
- case "DAY":
- replaceValue = "TIME_EXTRACT#[TIME_SHIFT#[ TIMESTAMP " + expr + ",'PT1M',0], 'DAY' ]";
- break;
- case "HOUR":
- replaceValue = "TIME_EXTRACT#[TIME_SHIFT#[ TIMESTAMP " + expr + ",'PT1M',0], 'HOUR' ]";
- break;
- case "MINUTE":
- replaceValue = "TIME_EXTRACT#[TIME_SHIFT#[ TIMESTAMP " + expr + ",'PT1M',0], 'MINUTE' ]";
- break;
- case "SECOND":
- replaceValue = "TIME_EXTRACT#[TIME_SHIFT#[ TIMESTAMP " + expr + ",'PT1M',0], 'SECOND' ]";
- break;
- case "DAYOFYEAR":
- replaceValue = "TIME_EXTRACT#[TIME_SHIFT#[ TIMESTAMP " + expr + ",'PT1M',0], 'DOY' ]";
- break;
- case "DAYOFMONTH":
- replaceValue = "TIME_EXTRACT#[TIME_SHIFT#[ TIMESTAMP " + expr + ",'PT1M',0], 'DAY' ]";
- break;
- case "DAYOFWEEK":
- replaceValue = "TIME_EXTRACT#[TIME_SHIFT#[ TIMESTAMP " + expr + ",'P1D',1], 'DOW' ]";
- break;
- default:
- replaceValue = unit + "#[" + expr + "]";
- }
- }
- return replaceValue;
- }
-
- /**
- * 实现相对时间相关替换:
- *
- * @param params
- * @param sign ADD相关为true,SUB相关为false;
- * @param dbType
- * @return
- */
- private static String dateRelative(List<String> params, Boolean sign, String dbType) {
- String replaceValue = "";
- if (params.size() == 2 && params.get(1).toUpperCase().contains("INTERVAL")) {
- String param1 = params.get(0);
- String param2 = params.get(1);
- Matcher matcher = pIntervalNumUnit.matcher(param2);
- if (matcher.find()) {
- param2 = matcher.group(1);
- if (!sign) {
- param2 = "- #[" + param2 + "]";
- }
- if (DBTypeEnum.CLICKHOUSE.getValue().equals(dbType)) {
- switch (matcher.group(2).toUpperCase()) {
- case "SECOND":
- replaceValue = "toDateTime#[" + param1 + "]" + param2;
- break;
- case "MINUTE":
- replaceValue = "toDateTime#[" + param1 + "]" + param2 + "*60";
- break;
- case "HOUR":
- replaceValue = "toDateTime#[" + param1 + "]" + param2 + "*3600";
- break;
- case "DAY":
- replaceValue = "toDateTime#[" + param1 + "]" + param2 + "*86400";
- break;
- case "WEEK":
- replaceValue = "toDateTime#[" + param1 + "]" + param2 + "*604800";
- break;
- case "MONTH":
- replaceValue = "addMonths#[toDateTime#[" + param1 + "] ," + param2 + "]";
- break;
- case "QUARTER":
- replaceValue = "addQuarter#[toDateTime#[" + param1 + "]," + param2 + "]";
- break;
- case "YEAR":
- replaceValue = "addYears#[toDateTime#[" + param1 + "]," + param2 + "]";
- break;
- default:
- replaceValue = param1 + param2;
- break;
- }
- } else if (DBTypeEnum.DRUID.getValue().equals(dbType)) {
- switch (matcher.group(2).toUpperCase()) {
- case "SECOND":
- replaceValue = "TIME_SHIFT#[ TIMESTAMP " + param1 + ",'PT1S'," + param2 + "]";
- break;
- case "MINUTE":
- replaceValue = "TIME_SHIFT#[ TIMESTAMP " + param1 + ",'PT1M'," + param2 + "]";
- break;
- case "HOUR":
- replaceValue = "TIME_SHIFT#[ TIMESTAMP " + param1 + ",'PT1H'," + param2 + "]";
- break;
- case "DAY":
- replaceValue = "TIME_SHIFT#[ TIMESTAMP " + param1 + ",'P1D'," + param2 + "]";
- break;
- case "WEEK":
- replaceValue = "TIME_SHIFT#[ TIMESTAMP " + param1 + ",'P1W'," + param2 + "]";
- break;
- case "MONTH":
- replaceValue = "TIME_SHIFT#[ TIMESTAMP " + param1 + ",'P1M'," + param2 + "]";
- break;
- case "QUARTER":
- replaceValue = "TIME_SHIFT#[ TIMESTAMP " + param1 + ",'P1M'," + param2 + "]";
- break;
- case "YEAR":
- replaceValue = "TIME_SHIFT#[ TIMESTAMP " + param1 + ",'P1Y'," + param2 + "]";
- break;
- default:
- replaceValue = param1 + param2;
- break;
- }
- }
- return replaceValue;
- }
- } else if (params.size() == 2) {
- String param1 = params.get(0);
- String param2 = params.get(1);
- if (!sign) {
- param2 = "- #[" + param2 + "]";
- }
- if (DBTypeEnum.CLICKHOUSE.getValue().equals(dbType)) {
- replaceValue = "addDays#[toDateTime#[" + param1 + "]," + param2 + "]";
- } else if (DBTypeEnum.DRUID.getValue().equals(dbType)) {
- replaceValue = "TIME_SHIFT#[ TIMESTAMP " + param1 + ",'P1D'," + param2 + "]";
- }
- }
- return replaceValue;
- }
-
- /**
- * 实现替换:FROM_UNIXTIME(unix_timestamp)、FROM_UNIXTIME(date,format)、DATE_FORMAT(date,format)、STR_TO_DATE(date,format)
- *
- * @param func
- * @param param
- * @param dbType
- * @return
- */
- private static String dateFormatRealize(String func, String param, boolean bool, String dbType) {
- List<String> params = diviParam(param, ",");
- String param1 = params.get(0);
- String replaceValue = null;
- if ("FROM_UNIXTIME".equals(func.toUpperCase()) && params.size() == 1) {
- if (DBTypeEnum.CLICKHOUSE.getValue().equals(dbType)) {
- replaceValue = "toDateTime#[" + param + "]";
- } else if (DBTypeEnum.DRUID.getValue().equals(dbType) && !bool) {
- replaceValue = "MILLIS_TO_TIMESTAMP#[ 1000 * [" + param + "]]";
- } else if (DBTypeEnum.DRUID.getValue().equals(dbType) && bool) {
- replaceValue = "TIME_FORMAT#[MILLIS_TO_TIMESTAMP#[ 1000 * [" + param + "]],'YYYY-MM-dd HH:mm:ss']";
- }
- } else if (func.contains("FROM_UNIXTIME") && DBTypeEnum.DRUID.getValue().equals(dbType) && "%Y-%m-%d %H:%i:%s".equals(params.get(1).replaceAll("\\'|\\\"", "").trim())) {
- if (!bool) {
- replaceValue = "MILLIS_TO_TIMESTAMP#[ 1000*[" + param1 + "]]";
- } else if (bool) {
- replaceValue = "TIME_FORMAT#[MILLIS_TO_TIMESTAMP#[ 1000 * [" + param + "]],'YYYY-MM-dd HH:mm:ss']";
- }
- } else {
- String param2 = params.get(1).replaceAll("\\'|\\\"", "").trim();
- if (DBTypeEnum.CLICKHOUSE.getValue().equals(dbType) && bool) {
- switch (param2) {
- case "%Y-%m-%d %H:%i:%s":
- replaceValue = "toDateTime#[" + param1 + "]";
- break;
- case "%Y-%m-%d %H:%i:00":
- replaceValue = "toStartOfMinute#[toDateTime#[" + param1 + "]]";
- break;
- case "%Y-%m-%d %H:00:00":
- replaceValue = "toStartOfHour#[toDateTime#[" + param1 + "]]";
- break;
- case "%Y-%m-%d 00:00:00":
- replaceValue = "toStartOfDay#[toDateTime#[" + param1 + "]]";
- break;
- case "%Y-%m-01 00:00:00":
- replaceValue = "toDateTime#[toStartOfMonth#[toDateTime#[" + param1 + "]]]";
- break;
- case "%Y-01-01 00:00:00":
- replaceValue = "toDateTime#[toStartOfYear#[toDateTime#[" + param1 + "]]]";
- break;
- case "%Y-%m-%d":
- replaceValue = "formatDateTime#[toDateTime#[" + param1 + "], '%Y-%m-%d]";
- break;
- case "%Y-%m-01":
- replaceValue = "formatDateTime#[toDateTime#[" + param1 + "], '%Y-%m-01]";
- break;
- case "%Y-01-01":
- replaceValue = "formatDateTime#[toDateTime#[" + param1 + "], '%Y-01-01]";
- break;
- default:
- replaceValue = "toDateTime#[" + param1 + "]";
- }
- } else if (DBTypeEnum.CLICKHOUSE.getValue().equals(dbType) && !bool) {
- switch (param2) {
- case "%Y-%m-%d %H:%i:%s":
- replaceValue = "toDateTime#[" + param1 + "]";
- break;
- case "%Y-%m-%d %H:%i:00":
- replaceValue = "toStartOfMinute#[toDateTime#[" + param1 + "]]";
- break;
- case "%Y-%m-%d %H:00:00":
- replaceValue = "toStartOfHour#[toDateTime#[" + param1 + "]]";
- break;
- case "%Y-%m-%d 00:00:00":
- replaceValue = "toStartOfDay#[toDateTime#[" + param1 + "]]";
- break;
- case "%Y-%m-01 00:00:00":
- replaceValue = "toDateTime#[toStartOfMonth#[toDateTime#[" + param1 + "]]]";
- break;
- case "%Y-01-01 00:00:00":
- replaceValue = "toDateTime#[toStartOfYear#[toDateTime#[" + param1 + "]]]";
- break;
- case "%Y-%m-%d":
- replaceValue = "toStartOfDay#[toDateTime#[" + param1 + "]]";
- break;
- case "%Y-%m-01":
- replaceValue = "toStartOfMonth#[toDateTime#[" + param1 + "]]";
- break;
- case "%Y-01-01":
- replaceValue = "toStartOfYear#[toDateTime#[" + param1 + "]]";
- break;
- default:
- replaceValue = "toDateTime#[" + param1 + "]";
- }
- } else if (DBTypeEnum.DRUID.getValue().equals(dbType) && bool) {
- switch (param2) {
- case "%Y-%m-%d %H:%i:%s":
- replaceValue = "TIME_FORMAT#[ TIMESTAMP " + param1 + ",'YYYY-MM-dd HH:mm:ss']";
- break;
- case "%Y-%m-%d %H:%i:00":
- replaceValue = "TIME_FORMAT#[ TIMESTAMP " + param1 + ",'YYYY-MM-dd HH:mm:00']";
- break;
- case "%Y-%m-%d %H:00:00":
- replaceValue = "TIME_FORMAT#[ TIMESTAMP " + param1 + ",'YYYY-MM-dd HH:00:00']";
- break;
- case "%Y-%m-%d 00:00:00":
- replaceValue = "TIME_FORMAT#[ TIMESTAMP " + param1 + ",'YYYY-MM-dd 00:00:00']";
- break;
- case "%Y-%m-01 00:00:00":
- replaceValue = "TIME_FORMAT#[ TIMESTAMP " + param1 + ",'YYYY-MM-01 00:00:00']";
- break;
- case "%Y-01-01 00:00:00":
- replaceValue = "TIME_FORMAT#[ TIMESTAMP " + param1 + ",'YYYY-01-01 00:00:00']";
- break;
- case "%Y-%m-%d":
- replaceValue = "TIME_FORMAT#[ TIMESTAMP " + param1 + ",'YYYY-MM-dd']";
- break;
- case "%Y-%m-01":
- replaceValue = "TIME_FORMAT#[ TIMESTAMP " + param1 + ",'YYYY-MM-01']";
- break;
- case "%Y-01-01":
- replaceValue = "TIME_FORMAT#[ TIMESTAMP " + param1 + ",'YYYY-01-01']";
- break;
- default:
- replaceValue = "TIME_FORMAT#[ TIMESTAMP " + param1 + ",'YYYY-MM-dd HH:mm:ss']";
- }
- } else if (DBTypeEnum.DRUID.getValue().equals(dbType) && !bool) {
- switch (param2) {
- case "%Y-%m-%d %H:%i:%s":
- replaceValue = " TIMESTAMP " + param1;
- break;
- case "%Y-%m-%d %H:%i:00":
- replaceValue = "FLOOR#[ TIMESTAMP " + param1 + " to minute]";
- break;
- case "%Y-%m-%d %H:00:00":
- replaceValue = "FLOOR#[ TIMESTAMP " + param1 + " to hour]";
- break;
- case "%Y-%m-%d 00:00:00":
- replaceValue = "FLOOR#[ TIMESTAMP " + param1 + " to day]";
- break;
- case "%Y-%m-01 00:00:00":
- replaceValue = "FLOOR#[ TIMESTAMP " + param1 + " to month]";
- break;
- case "%Y-01-01 00:00:00":
- replaceValue = "FLOOR#[ TIMESTAMP " + param1 + " to year]";
- break;
- case "%Y-%m-%d":
- replaceValue = "TIME_FLOOR#[ TIMESTAMP " + param1 + ",'P1D']";
- break;
- case "%Y-%m-01":
- replaceValue = "TIME_FLOOR#[ TIMESTAMP " + param1 + ",'P1M']";
- break;
- case "%Y-01-01":
- replaceValue = "TIME_FLOOR#[ TIMESTAMP " + param1 + ",'P1Y']";
- break;
- default:
- replaceValue = " TIMESTAMP " + param1;
- break;
- }
- }
- }
- return replaceValue;
- }
-
- /**
- * 解析之后的sql处理
- *
- * @param sql
- * @param dbType
- * @return
- */
- public static String specialDisposeEnd(String sql, String dbType) {
- if (sql == null) {
- return sql;
- }
- StringBuffer sb = new StringBuffer();
- if (DBTypeEnum.CLICKHOUSE.getValue().equals(dbType)) {
- Matcher mStrDateTime = pStrDateTime.matcher(sql);
- while (mStrDateTime.find()) {
- String innerValue = mStrDateTime.group(1) + " toDateTime#[" + mStrDateTime.group(2) + "]";
- mStrDateTime.appendReplacement(sb, innerValue);
- }
- mStrDateTime.appendTail(sb);
- sql = sb.toString();
- } else if (DBTypeEnum.DRUID.getValue().equals(dbType)) {
-
- Matcher mNowFun = pNow.matcher(sql);
- while (mNowFun.find()) {
- String innerValue = "CURRENT_TIMESTAMP";
- mNowFun.appendReplacement(sb, innerValue);
- }
- mNowFun.appendTail(sb);
- sql = sb.toString();
-
- Matcher mStrDateTime = pStrDateTime.matcher(sql);
- sb = new StringBuffer();
- while (mStrDateTime.find()) {
- String innerValue = mStrDateTime.group(1) + " TIMESTAMP " + mStrDateTime.group(2);
- mStrDateTime.appendReplacement(sb, innerValue);
- }
- mStrDateTime.appendTail(sb);
- sql = sb.toString();
-
-
- Matcher matcher = pCKTimeStamp.matcher(sql);
- sb = new StringBuffer();
- while (matcher.find()) {
- if (matcher.groupCount() == 1) {
- matcher.appendReplacement(sb, " " + matcher.group(1));
- }
- }
- matcher.appendTail(sb);
- sql = sb.toString();
- }
- return sql;
- }
-
- /**
- * 替换解析时候加入的[、]、#
- *
- * @param sql
- * @return
- */
- public static String replaceMark(String sql) {
- sql = sql.replace("[", "(");
- sql = sql.replace("]", ")");
- sql = sql.replace("#", "");
- return sql;
- }
-
- /**
- * 替换:FROM_UNIXTIME(unix_timestamp)、FROM_UNIXTIME(date,format)、DATE_FORMAT(date,format)、STR_TO_DATE(date,format)
- *
- * @param sqlParse
- * @param num 包含括号的个数
- * @param bool 应用的分组中为true 条件范围中则为false
- * @param dbType
- * @return
- */
- public static String dateFormatHavaMark(String sqlParse, int num, boolean bool, String dbType) {
- Pattern pDateFormatMark = Pattern.compile("(FROM_UNIXTIME|DATE_FORMAT|STR_TO_DATE)\\s*\\((.*?(.*?\\).*?){" + num + "})\\)", Pattern.CASE_INSENSITIVE);
- Matcher mDateFormatMark = pDateFormatMark.matcher(sqlParse);
- StringBuffer sb = new StringBuffer();
- if (mDateFormatMark.find()) {
- String group2 = mDateFormatMark.group(2);
- String replaceValue = group2;
- if (StringUtil.getBracketsMatch(group2, "(", false)[0] >= 0) {
- replaceValue = dateFormatRealize(mDateFormatMark.group(1), group2, bool, dbType);
- }
- mDateFormatMark.appendReplacement(sb, replaceValue);
- }
- mDateFormatMark.appendTail(sb);
- return sb.toString();
- }
-
- /**
- * 替换SUBDATE(expr,days)、SUBDATE(expr,days)、SUBDATE(date,INTERVAL expr dbType)、ADDDATE(date,INTERVAL expr dbType)、DATE_SUB(date,INTERVAL expr dbType)、DATE_ADD(date,INTERVAL expr dbType)
- *
- * @param sqlParse
- * @param num 包含的括号个数
- * @param dbType
- * @return
- */
- public static String dateRelativeHaveMark(String sqlParse, int num, String dbType) {
- Pattern pDateRelativeParse = Pattern.compile("(ADDDATE|DATE_ADD|SUBDATE|DATE_SUB)\\s*\\((.*?(.*?\\).*?){" + num + "})\\)", Pattern.CASE_INSENSITIVE);
- Matcher matcherParse = pDateRelativeParse.matcher(sqlParse);
- String innerValue = "";
- StringBuffer sb = new StringBuffer();
- if (matcherParse.find()) {
- Boolean sign;
- if (matcherParse.group(1).toUpperCase().contains("ADD")) {
- sign = true;
- } else {
- sign = false;
- }
- if (StringUtil.getBracketsMatch(matcherParse.group(2), null, false)[0] >= 0) {
- List<String> params = diviParam(matcherParse.group(2), ",");
- innerValue = dateRelative(params, sign, dbType);
- }
- matcherParse.appendReplacement(sb, innerValue);
- }
- matcherParse.appendTail(sb);
- return sb.toString();
- }
-
- /**
- * 实现替换:UNIX_TIMESTAMP()、UNIX_TIMESTAMP(expr)
- *
- * @param sqlParse
- * @param num 包含的括号个数
- * @param dbType
- * @return
- */
- public static String parseUnixTimeHavaMark(String sqlParse, int num, String dbType) {
- Pattern pUnixTimeParse = Pattern.compile("(UNIX_TIMESTAMP)\\s*\\((.*?(.*?\\).*?){" + num + "})\\)", Pattern.CASE_INSENSITIVE);
- Matcher matcherParse = pUnixTimeParse.matcher(sqlParse);
- StringBuffer sb = new StringBuffer();
- String innerValue = null;
- if (matcherParse.find()) {
- if (DBTypeEnum.CLICKHOUSE.getValue().equals(dbType)) {
- if (matcherParse.group(2) == null || "".equals(matcherParse.group(2).trim())) {
- innerValue = "toUnixTimestamp#[now#[]]";
- } else {
- innerValue = "toUnixTimestamp#[ " + matcherParse.group(2) + "]";
- }
- } else if (DBTypeEnum.DRUID.getValue().equals(dbType)) {
- if (matcherParse.group(2) == null || "".equals(matcherParse.group(2).trim())) {
- innerValue = "0.001 * TIMESTAMP_TO_MILLIS[CURRENT_TIMESTAMP]";
- } else {
- innerValue = "0.001 * TIMESTAMP_TO_MILLIS#[ TIMESTAMP " + matcherParse.group(2) + "]";
- }
- }
- matcherParse.appendReplacement(sb, innerValue);
- }
- matcherParse.appendTail(sb);
- return sb.toString();
- }
-
- /**
- * 实现替换:DATE(expr)
- *
- * @param sqlParse
- * @param num 包含的括号个数
- * @param dbType
- * @return
- */
- public static String parseDateHavaMark(String sqlParse, int num, String dbType) {
- Pattern pDateParse = Pattern.compile("(DATE)\\s*\\((.*?(.*?\\).*?){" + num + "})\\)", Pattern.CASE_INSENSITIVE);
- Matcher matcherParse = pDateParse.matcher(sqlParse);
- StringBuffer sb = new StringBuffer();
- String innerValue = null;
- if (matcherParse.find()) {
- if (DBTypeEnum.CLICKHOUSE.getValue().equals(dbType)) {
- innerValue = "toStartOfDay#[toDateTime#[" + matcherParse.group(2) + "]]";
- } else if (DBTypeEnum.DRUID.getValue().equals(dbType)) {
- innerValue = "TIME_FLOOR#[ TIMESTAMP " + matcherParse.group(2) + ",'P1D']";
- }
- matcherParse.appendReplacement(sb, innerValue);
- }
- matcherParse.appendTail(sb);
- return sb.toString();
- }
-
- /**
- * 获取函数参数
- *
- * @param str
- * @param div 参数分隔符
- * @return
- */
- public static List<String> diviParam(String str, String div) {
- if (str == null) {
- return null;
- }
- List<String> result = new ArrayList<>();
- String[] split = str.split(div);
- String resultTemp = "";
- for (int i = 0; i < split.length; i++) {
- resultTemp += split[i];
- if (StringUtil.getBracketsMatch(resultTemp, "(", true)[0] >= 0
- && StringUtil.getBracketsMatch(resultTemp, "[", true)[0] >= 0) {
- result.add(resultTemp);
- resultTemp = "";
- continue;
- }
- resultTemp += div;
- }
- return result;
- }
-}
diff --git a/src/main/java/com/mesa/reportservice/util/StringUtil.java b/src/main/java/com/mesa/reportservice/util/StringUtil.java
index 56a5458..8f8a1f2 100644
--- a/src/main/java/com/mesa/reportservice/util/StringUtil.java
+++ b/src/main/java/com/mesa/reportservice/util/StringUtil.java
@@ -332,17 +332,7 @@ public final class StringUtil extends StringUtils {
* @param msg 要加密的字符串
* @return 返回加密后的24位字符, 如果解析出现异常将返回<code>null</code>.
*/
- public static String md5(String msg) {
- try {
- MessageDigest md = MessageDigest.getInstance("MD5");
- byte[] b = md.digest(msg.getBytes());
- BASE64Encoder encoder = new BASE64Encoder();
- return encoder.encode(b);
- } catch (NoSuchAlgorithmException e) {
- e.printStackTrace();
- return EMPTY;
- }
- }
+
public static String getBase64(String msg) {
try {
@@ -397,35 +387,7 @@ public final class StringUtil extends StringUtils {
* @param webSiteUrl url 地址
* @return 返回截取后的域名地址
*/
- public static String getDomain(String webSiteUrl) {
- String url;
-
- if (isEmpty(webSiteUrl)) {
- return EMPTY;
- }
- if (webSiteUrl.indexOf("http://") >= 0) {
- url = webSiteUrl.substring("http://".length(), webSiteUrl.length());
- } else if (webSiteUrl.indexOf("https://", 0) >= 0) {
- url = webSiteUrl.substring("https://".length(), webSiteUrl.length());
- } else if (webSiteUrl.indexOf("ftp://", 0) >= 0) {
- url = webSiteUrl.substring("ftp://".length(), webSiteUrl.length());
- } else {
- url = webSiteUrl;
- }
-
- if (url.indexOf("/", 0) >= 0) {
- url = url.substring(0, url.indexOf("/", 1));
- }
- if (url.indexOf("www.") == 0) {
- url = url.substring(url.indexOf(".") + 1, url.length());
- }
- if (url.indexOf("?") >= 0) {
- url = url.substring(0, url.indexOf("?"));
- }
-
- return url;
- }
/**
* <p>按照规则解析字符串得到一个数组.</p>
diff --git a/src/main/resources/config/application.properties b/src/main/resources/config/application.properties
deleted file mode 100644
index 538c39f..0000000
--- a/src/main/resources/config/application.properties
+++ /dev/null
@@ -1,120 +0,0 @@
-server.port=9093
-#���½�������ʱ��10s
-scan.result.scheduled.plan=0/10 * * * * ?
-#��ʱɨ��mysql���ݿ�report_result��ʱ��15s
-#ͬʱ��ִ�����߳���
-globle.job_thread=2
-globle.ttl_time=21600600
-#Hbasehttp�Ķ˿�
-#Hbase�ı���������ͨ������Ҫ����
-hbase.table=tsg:report_result
-
-hbase.zookeeper_quorum=192.168.40.193
-hbase.zookeeper_property_clientPort=2181
-hbase.zookeeper_znode_parent=/hbase
-hbase.client_retries_number=3
-
-hbase.rpc_timeout=100000
-hbase.connect_pool=10
-
-
-ck.gateway_ip=192.168.41.193:9999
-
-#clickhouse�ṩreport�����ip
-#ck.task_ip=192.168.40.224:8123
-#clickhouse�����ݿ���
-#ck.task_database=tsg_galaxy_v3
-#clickhouse����������û�
-#ck.task_user=tsg_report
-#clickhouse�������������
-#ck.task_user_password=ceiec2019
-#clickhouse��־����ipͨ��=ck.task_ip
-#ck.log_ip=192.168.40.224:8123
-#clickhouse��־������û�
-#ck.log_user=tsg_report
-#clickhouse��־�û�����
-#ck.log_user_password=ceiec2019
-#���������
-http.maxTotal=300
-#������
-http.defaultMaxPerRoute=100
-#�������ӵ��ʱ��
-http.connectTimeout=10000
-#�����ӳ��л�ȡ�����ӵ��ʱ��:
-http.connectionRequestTimeout=10000
-#���ݴ�����ʱ��
-http.socketTimeout=21600500
-#�ύ����ǰ���������Ƿ����
-http.staleConnectionCheckEnabled=true
-
-http.socketTimeoutShort=30000
-
-
-#�Ƿ�����zookeeper 0����(��Ⱥ) 1����(����)
-zookeeper.open=1
-zookeeper.retryCount=5
-zookeeper.elapsedTimeMs=1000
-#zk��Ⱥ��ip
-zookeeper.connectString=192.168.40.193:2181
-zookeeper.sessionTimeoutMs=5000
-zookeeper.connectionTimeoutMs=5000
-zookeeper.nameSpace=reportservice
-#mariadb��url
-spring.datasource.url=jdbc:mariadb://192.168.40.204:3306/treport?serverTimezone=GMT&useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&failOverReadOnly=false
-#spring.datasource.url=jdbc:mysql://192.168.11.208:3306/ntc-api?serverTimezone=GMT&useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&failOverReadOnly=false
-#mariadb���û���
-spring.datasource.username=root
-#mariadb������
-spring.datasource.password=111111
-
-spring.datasource.name=druidDataSource
-spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
-spring.datasource.driver-class-name=org.mariadb.jdbc.Driver
-
-#���ü��ͳ�����ص�filters��ȥ�����ؽ���SQL�޷�����ͳ�ƣ���wall�����ڷ���ǽ
-spring.datasource.druid.filters=stat,wall,slf4j
-#���������S
-spring.datasource.druid.max-active=30
-#��������
-spring.datasource.druid.min-idle=1
-#��ʼ��������
-spring.datasource.druid.initial-size=2
-#��ȡ�������ʱʱ��
-spring.datasource.druid.max-wait=600000
-#�����òŽ���һ�μ�⣬�����Ҫ�رյĿ������ӣ���λ�Ǻ���
-spring.datasource.druid.time-between-eviction-runs-millis=60000
-# һ�������ڳ�����С�����ʱ�䣬��λ�Ǻ���
-spring.datasource.druid.min-evictable-idle-time-millis=300000
-#��֤�����Ƿ����,�����ݿ���ִ��һ��sql
-spring.datasource.druid.validation-query=select 1
-#��������Ϊtrue����Ӱ�����ܣ����ұ�֤��ȫ�ԡ��������ӵ�ʱ���⣬�������ʱ�����timeBetweenEvictionRunsMillis��
-# ִ��validationQuery��������Ƿ���Ч
-spring.datasource.druid.test-while-idle=true
-#��������ʱִ��validationQuery��������Ƿ���Ч������������ûή������
-spring.datasource.druid.test-on-borrow=false
-#�黹����ʱִ��validationQuery��������Ƿ���Ч������������ûή������
-spring.datasource.druid.test-on-return=false
-spring.datasource.druid.connection-properties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500
-#�Ƿ���WebStatFilter
-spring.datasource.druid.web-stat-filter.enabled=true
-#���ò�ͳ����ЩURL(�����ų�һЩ����Ҫ��url)
-spring.datasource.druid.web-stat-filter.exclusions=*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*
-#�Ƿ���Druid�����Ϣ��ʾҳ��
-spring.datasource.druid.stat-view-servlet.enabled=true
-#�������������·��
-spring.datasource.druid.stat-view-servlet.url-pattern=/druid/*
-#��ֹ�ֶ����ü������
-spring.datasource.druid.stat-view-servlet.reset-enable=false
-#durid-uiҳ���˻�����
-spring.datasource.druid.stat-view-servlet.login-username=admin
-spring.datasource.druid.stat-view-servlet.login-password=admin
-#Spring��أ����ڲ����ӿڵ��õļ��,��Ҫ����aop��ذ�
-spring.datasource.druid.aop-patterns=com.mesa.reportservice.controller.*,com.mesa.reportservice.service.*,com.mesa.reportservice.mapper.*
-
-logging.config: classpath:./config/log4j2-dev.xml
-
-mybatis.typeAliasesPackage=com.mesa.reportservice.bean
-mybatis.mapperLocations=classpath*:/mappers/*.xml
-spring.application.name=ReportserviceApplication
-management.endpoints.web.exposure.include=*
-management.metrics.tags.application=${spring.application.name} \ No newline at end of file
diff --git a/src/main/resources/config/log4j2-dev.xml b/src/main/resources/config/log4j2-dev.xml
deleted file mode 100644
index 94f8476..0000000
--- a/src/main/resources/config/log4j2-dev.xml
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<configuration>
-
- <!--日志打印相关参数配置-->
- <Properties>
- <!--每5M压缩日志文件-->
- <property name="LOG_SIZE">5M</property>
- <!--最多产生10个压缩文件-->
- <property name="LOG_NUMS">10</property>
- <!--日志打印等级-->
- <property name="LOG_LEVEL">info</property>
- <!--日志文件路径-->
- <property name="LOG_PATH">logs</property>
- <!--日志文件名称-->
- <property name="LOG_FILE_NAME">galaxy-report-service</property>
- <!--日志打印格式-->
- <property name="LOG_PATTERN">[%d{yyyy-MM-dd HH:mm:ss}] [%p] [Thread:%t] %l %x - %m%n</property>
- </Properties>
-
- <appenders>
- <Console name="consoleSystemOutAppender" target="SYSTEM_OUT">
- <ThresholdFilter level="DEBUG" onMatch="ACCEPT" onMismatch="DENY"/>
- <PatternLayout pattern="${LOG_PATTERN}"/>
- </Console>
-
- <RollingFile name="rollingFileAllAppender"
- fileName="${LOG_PATH}/${LOG_FILE_NAME}.log"
- filePattern="${LOG_PATH}/history/$${date:yyyy-MM-dd}/${LOG_FILE_NAME}-%d{yyyy-MM-dd}-%i.log.gz">
- <PatternLayout pattern="${LOG_PATTERN}"/>
- <Policies>
- <SizeBasedTriggeringPolicy size="${LOG_SIZE}"/>
- <TimeBasedTriggeringPolicy interval="1" modulate="true"/>
- </Policies>
- <Filters>
- <ThresholdFilter level="all" onMatch="ACCEPT" onMismatch="DENY"/>
- </Filters>
- <DefaultRolloverStrategy max="${LOG_NUMS}">
- <Delete basePath="${LOG_PATH}/history" maxDepth="1">
- <IfFileName glob="*.log.gz">
- <IfLastModified age="90d">
- <IfAny>
- <IfAccumulatedFileSize exceeds="200 GB" />
- </IfAny>
- </IfLastModified>
- </IfFileName>
- </Delete>
- </DefaultRolloverStrategy>
- </RollingFile>
- </appenders>
- <loggers>
- <root level="${LOG_LEVEL}">
- <appender-ref ref="consoleSystemOutAppender"/>
- <appender-ref ref="rollingFileAllAppender"/>
- </root>
- </loggers>
-</configuration> \ No newline at end of file