|
@@ -1,5 +1,6 @@
|
|
|
package controller;
|
|
package controller;
|
|
|
|
|
|
|
|
|
|
+import com.alibaba.fastjson.JSONArray;
|
|
|
import com.jfinal.aop.Before;
|
|
import com.jfinal.aop.Before;
|
|
|
import com.jfinal.core.Controller;
|
|
import com.jfinal.core.Controller;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
import com.alibaba.fastjson.JSONObject;
|
|
@@ -146,12 +147,48 @@ public class EthMevController extends Controller {
|
|
|
ethMevList = EthMev.dao.find(sql, block, hash, dataVague);
|
|
ethMevList = EthMev.dao.find(sql, block, hash, dataVague);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- String findLpSql = "select * from t_ethereum_mev_v1 where hash=?";
|
|
|
|
|
|
|
+ // dexArray/toArray = (EthMevModel.find_by_block(2))
|
|
|
|
|
+ // tokenArray = (EthMevModel.find_by_block(1))
|
|
|
|
|
+ // lpArray = (EthMevModel.find_by_block(0))
|
|
|
|
|
+ /*
|
|
|
|
|
+ * 为什么要在服务器进行数据处理:
|
|
|
|
|
+ * 服务器内存大,CPU好,而且网站客户少,当然要充分压榨服务器性能了
|
|
|
|
|
+ */
|
|
|
|
|
+ String findHashSql = "select * from t_ethereum_mev_v1 where block=? and hash=?";
|
|
|
|
|
|
|
|
|
|
+ // 处理对象中的各类地址
|
|
|
for (EthMev ethMev : ethMevList) {
|
|
for (EthMev ethMev : ethMevList) {
|
|
|
- JSONObject dataJson = JSONObject.parseObject(ethMev.getStr("data"));
|
|
|
|
|
-
|
|
|
|
|
- ethMev.put("toObj", EthMev.dao.findFirst(findLpSql, dataJson.getString("toAdd")));
|
|
|
|
|
|
|
+ // dataObj容错
|
|
|
|
|
+ try{
|
|
|
|
|
+ JSONObject dataObj = JSONObject.parseObject(ethMev.getStr("data"));
|
|
|
|
|
+
|
|
|
|
|
+ // 处理dataObj
|
|
|
|
|
+ ethMev.put("dataObj", dataObj);
|
|
|
|
|
+ ethMev.remove("data");
|
|
|
|
|
+
|
|
|
|
|
+ // 查询lpHash
|
|
|
|
|
+ // lpObj容错
|
|
|
|
|
+ try {
|
|
|
|
|
+ EthMev toObj = EthMev.dao.findFirst(findHashSql, 2, dataObj.getString("toAdd"));
|
|
|
|
|
+ JSONObject toObjDataObj = JSONObject.parseObject(toObj.getStr("data"));
|
|
|
|
|
+ ethMev.put("toName", toObjDataObj.getString("name"));
|
|
|
|
|
+ } catch (Exception ignored) {}
|
|
|
|
|
+ // 处理tokenHash
|
|
|
|
|
+ JSONArray tradeInfoList = dataObj.getJSONArray("tradeInfo");
|
|
|
|
|
+ for (JSONObject tradeInfo : tradeInfoList.toJavaList(JSONObject.class)) {
|
|
|
|
|
+ // tokenObj容错
|
|
|
|
|
+ try {
|
|
|
|
|
+ EthMev tokenObj = EthMev.dao.findFirst(findHashSql, 1, tradeInfo.getString("token"));
|
|
|
|
|
+ JSONObject tokenObjDataObj = JSONObject.parseObject(tokenObj.getStr("data"));
|
|
|
|
|
+ tradeInfo.put("tokenName", tokenObjDataObj.getString("name"));
|
|
|
|
|
+ } catch (Exception ignored) {}
|
|
|
|
|
+ }
|
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
|
+ JSONObject dataObj = JSONObject.parseObject("{}");
|
|
|
|
|
+ // 处理dataObj
|
|
|
|
|
+ ethMev.put("dataObj", dataObj);
|
|
|
|
|
+ ethMev.remove("data");
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
renderJson(MyRet.create().setOk().setMsg("查询成功").setData(ethMevList));
|
|
renderJson(MyRet.create().setOk().setMsg("查询成功").setData(ethMevList));
|