.
This commit is contained in:
122
src/main/java/net/tccn/service/QtaskService.java
Normal file
122
src/main/java/net/tccn/service/QtaskService.java
Normal file
@@ -0,0 +1,122 @@
|
||||
package net.tccn.service;
|
||||
|
||||
import net.tccn.base.JBean;
|
||||
import net.tccn.base.Kv;
|
||||
import net.tccn.base.arango.ArangoSource;
|
||||
import net.tccn.dbq.DbPlat;
|
||||
import net.tccn.dbq.qtask.Qtask;
|
||||
import net.tccn.dbq.qtask.SysPlat;
|
||||
import org.redkale.net.http.RestMapping;
|
||||
import org.redkale.net.http.RestParam;
|
||||
import org.redkale.net.http.RestService;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.sql.SQLException;
|
||||
import java.util.function.Predicate;
|
||||
|
||||
/**
|
||||
* @author: liangxianyou at 2018/11/13 18:14.
|
||||
*/
|
||||
@RestService(name = "qtask", automapping = true, comment = "qtask查询服务")
|
||||
public class QtaskService extends BaseService {
|
||||
|
||||
private Predicate<String> checkObj = (s) -> s != null && s.startsWith("{") && s.endsWith("}");
|
||||
|
||||
public SysPlat getSysPlat(String token) {
|
||||
return getT(token, SysPlat.class, () -> SysPlat.dao.findFirst(new SysPlat(token)));
|
||||
}
|
||||
|
||||
///qtask/query?queryId=platform.list¶={id:211}
|
||||
@RestMapping(name = "call", comment = "qtask查询")
|
||||
public JBean call(String queryId, String para, @RestParam(name = "platToken") String token) {
|
||||
JBean jBean = JBean.by(0, "");
|
||||
do {
|
||||
SysPlat sysPlat = getSysPlat(token);
|
||||
if (sysPlat == null) {
|
||||
jBean.set(-1, "平台信息未知"); break;
|
||||
}
|
||||
|
||||
Qtask qtask = getQTask(queryId, sysPlat.getKey());
|
||||
if (qtask == null) {
|
||||
jBean.set(-1, "未知任务"); break;
|
||||
}
|
||||
|
||||
if (!checkObj.test(para)) {
|
||||
para = qtask.getPara();
|
||||
}
|
||||
Kv kv = null;
|
||||
if (checkObj.test(para)) {
|
||||
kv = BaseService.gson.fromJson(para, Kv.class);
|
||||
}
|
||||
try {
|
||||
jBean.setBody(run(qtask, kv));
|
||||
} catch (SQLException e) {
|
||||
e.printStackTrace();
|
||||
return jBean.set(-1, "数据查询失败", e.getMessage());
|
||||
}
|
||||
} while (false);
|
||||
return jBean;
|
||||
}
|
||||
|
||||
|
||||
@RestMapping(name = "test", comment = "qtask调试")
|
||||
public JBean test(Qtask qtask) {
|
||||
JBean jBean = JBean.by(0, "");
|
||||
do {
|
||||
//check data
|
||||
if (isEmpty.test(qtask.getSql())) {
|
||||
jBean.set(-1, "查询失败,请设置正确的【SQL】"); break;
|
||||
}
|
||||
if (isEmpty.test(qtask.getPlatId()) || isEmpty.test(qtask.getCatalog())) {
|
||||
jBean.set(-1, "查询失败,请设置正确的【数据平台】"); break;
|
||||
}
|
||||
|
||||
DbPlat dbPlat = DbPlat.dao.findByKey(qtask.getPlatId());//arangoSource.findById("db_plat/" + qTask.getPlatId(), DbPlat.class);
|
||||
if (dbPlat == null) {
|
||||
jBean.set(-1, "查询失败,请设置正确的【数据平台】"); break;
|
||||
}
|
||||
Kv kv = null;
|
||||
if (checkObj.test(qtask.getPara())) {
|
||||
try {
|
||||
kv = BaseService.gson.fromJson(qtask.getPara(), Kv.class);
|
||||
} catch (Exception e) {
|
||||
jBean.set(-1, "查询失败,请设置正确的【查询参数】"); break;
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
jBean.setBody(run(qtask, kv));
|
||||
} catch (SQLException e) {
|
||||
e.printStackTrace();
|
||||
jBean.set(-1, e.getMessage());
|
||||
}
|
||||
} while (false);
|
||||
return jBean;
|
||||
}
|
||||
|
||||
// /qtask/query?queryId=platform.list¶={id:211}
|
||||
@RestMapping(ignore = true, comment = "qtask查询数据")
|
||||
private Object run(Qtask qTask, Kv kv) throws SQLException {
|
||||
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
//----------- Qtask ---------------
|
||||
|
||||
@RestMapping(name = "qsave", comment = "qtask保存")
|
||||
public JBean qtaskSave(Qtask qtask) {
|
||||
JBean jBean = JBean.by(0, "");
|
||||
|
||||
return jBean;
|
||||
}
|
||||
|
||||
@RestMapping(ignore = true, comment = "qtask获取")
|
||||
public Qtask getQTask(String queryId, String sysPlatId) {
|
||||
Qtask qtask = null;
|
||||
|
||||
return qtask;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------
|
||||
}
|
||||
Reference in New Issue
Block a user