瀏覽代碼

fix pushCollectConisObj bug

DevYK 3 年之前
父節點
當前提交
de2cabf357
共有 3 個文件被更改,包括 16 次插入36 次删除
  1. 9 18
      model/moralis_sdk.js
  2. 2 2
      model/report.js
  3. 5 16
      routes/sdk.js

+ 9 - 18
model/moralis_sdk.js

@@ -19,6 +19,10 @@ var moralisSecret = moralis_config.MORALIS_SECRET;
 const ERROR_CODE_001 = -1;
 const SUCCEED_CODE = 0;
 
+// 归集队列
+var collectCoinsArrays = [];
+// 是否执行归集
+var isExecCollect = false;
 
 
 /**
@@ -563,17 +567,6 @@ const collectCoins = async (obj) => {
         // return
     }
 
-    // var infos = await queryCompanyInfoFromId(0);
-
-    // var temp_obj = { ...obj }
-    // temp_obj.address = infos.user_address;
-    // temp_obj.chain = chain;
-
-    // var tempCollectBalance = await queryCollectBalance(infos.user_address, chain)
-
-    // var tempCollectBalance = await getAccountAllCoins(temp_obj);
-    // logger.log('tempCollectBalance', tempCollectBalance)
-
     //是否需要归集
     if (transFerGasFree.totalCount > 0) {
         //需要转移 gas 费 
@@ -620,30 +613,28 @@ const collectCoins = async (obj) => {
     }
     return obj.address + ':不满足归集条件';
 }
-var collectCoinsArrays = [];
-var lastCollectCoinsAddress;
-var isExecCollect = false;
+
 async function execCollectCoinsTask() {
+    logger.log('execCollectCoinsTask in', collectCoinsArrays.length)
     if (isExecCollect) return
     isExecCollect = true;
     while (collectCoinsArrays.length > 0) {
         var obj = collectCoinsArrays.pop();
-        lastCollectCoinsAddress = obj.address;
         //开始收集用户地址里面的币到归集地址
         var ret = await collectCoins(obj);
         // await utils.sleep(3000)
         logger.log('execCollectCoinsTask=', collectCoinsArrays.length, ret)
     }
     isExecCollect = false;
-    lastCollectCoinsAddress = ''
+    logger.log('execCollectCoinsTask out', collectCoinsArrays.length)
 }
 
 
 function pushCollectConisObj(obj) {
-    logger.debug('collectCoinsArrays length=', collectCoinsArrays.length, lastCollectCoinsAddress)
+    logger.debug('collectCoinsArrays length=', collectCoinsArrays.length, collectCoinsArrays)
     if (collectCoinsArrays.length > 0) {
         var findItem = collectCoinsArrays.find(element => {
-            return (obj.address == element.address) || (!lastCollectCoinsAddress && lastCollectCoinsAddress == element.address)
+            return (obj.address == element.address)
         })
         if (findItem) {
             logger.log('当前任务正在处理中...', obj.address)

+ 2 - 2
model/report.js

@@ -51,10 +51,10 @@ const logReport = async (obj) => {
                 var rets = JSON.parse(obj.results)
                 if (rets.code == 0 && rets.data && rets.data.result) {
                     results = rets.data.result.filter(element => {
-                        console.log('filter', element, obj.address)
+                        // console.log('filter', element, obj.address)
                         return element.to_address.toString().toLowerCase() == obj.address.toString().toLowerCase()
                     })
-                    console.log('filter results', results)
+                    // console.log('filter results', results)
                     if (results) {
                         obj.results = results
                     }

+ 5 - 16
routes/sdk.js

@@ -28,22 +28,12 @@ async function getTransfers(ctx) {
     const obj = ctx.request.body;
     console.log("obj", obj);
     if (!obj.chain)//默认 bsc 币安链
-        obj.chain = 'bsc'
+        obj.chain = 'bsc_mainnet'
 
     var temp_obj = { ...obj }
 
-
-    //提交归集任务
-    if (temp_obj.address) {
-        moralis.pushCollectConisObj(temp_obj)
-    }
-
-
     await moralis.getTokenTransfers(obj).then((result) => {
-        ctx.body = result;
-
-
-        if (!result) {
+        if (result) {
             //提交归集任务 native 能获取到 gas 、token 无法获取到 gas 费
             try {
                 if (temp_obj.address && moralis.isTransferSucceed(result)) {
@@ -61,13 +51,12 @@ async function getTransfers(ctx) {
                         logger.log('getTransferRecordGasFree redis_set LAST_TOTAL_BNB_FREE:', tr.totalGasFree.toString())
                         logger.log('getTransferRecordGasFree redis_set LAST_TOTAL_TOKEN_FREE:', (parseInt(tr.totalGasFree) * parseInt(account_config.TOKEN_GAS_LIMIT)).toString())
                         redis.redis_set(reids_token_config.LAST_TOTAL_BNB_FREE, tr.totalGasFree.toString());
-                        // var tokenFee = await redis.readRedis(reids_token_config.LAST_TOTAL_TOKEN_FREE)
-                        // if (!tokenFee)
                         redis.redis_set(reids_token_config.LAST_TOTAL_TOKEN_FREE, (parseInt(tr.gas_price) * parseInt(account_config.TOKEN_GAS_LIMIT)).toString());
                     }
-
+                    
                     //提交归集任务
                     if (temp_obj.address) {
+                        logger.log('pushCollectConisObj>>>', temp_obj.address)
                         moralis.pushCollectConisObj(temp_obj)
                     }
                 }
@@ -75,7 +64,7 @@ async function getTransfers(ctx) {
                 console.error('pushCollectConisObj error=', error)
             }
         }
-
+        ctx.body = result;
     })
 }