DevYK 3 anni fa
parent
commit
ff3e9d9130
1 ha cambiato i file con 23 aggiunte e 12 eliminazioni
  1. 23 12
      model/moralis_sdk.js

+ 23 - 12
model/moralis_sdk.js

@@ -463,16 +463,20 @@ async function updateNativeBalance(nativeBalance, obj) {
         temp.chain = utils.getChainName(temp.chain)
         temp.chain = utils.getChainName(temp.chain)
     }
     }
     console.log('updateNativeBalance after', temp, nativeBalance)
     console.log('updateNativeBalance after', temp, nativeBalance)
-    do {
-        //上面转账完 BNB 会减去,这里再获取一次
-        var native_ret = await Moralis.Web3API.account.getNativeBalance(temp);
-        logger.log('更新余额 :', nativeBalance, native_ret, retryCount)
-        if (nativeBalance != native_ret.balance && BigInt(nativeBalance) < BigInt(native_ret.balance)) {
-            return native_ret.balance;
-        }
-        await utils.sleep(3000);
-        retryCount--;
-    } while (native_ret.balance == nativeBalance && retryCount > 0);
+    try {
+        do {
+            //上面转账完 BNB 会减去,这里再获取一次
+            var native_ret = await Moralis.Web3API.account.getNativeBalance(temp);
+            logger.log('更新余额 :', nativeBalance, native_ret, retryCount)
+            if (nativeBalance != native_ret.balance && BigInt(nativeBalance) < BigInt(native_ret.balance)) {
+                return native_ret.balance;
+            }
+            await utils.sleep(3000);
+            retryCount--;
+        } while (native_ret.balance == nativeBalance && retryCount > 0);
+    } catch (error) {
+        logger.error('updateNativeBalance error :', nativeBalance, JSON.stringify(obj))
+    }
     return null;
     return null;
 }
 }
 
 
@@ -485,15 +489,17 @@ async function transfers(obj, my_account_all_coins, logParams) {
         var collects = []
         var collects = []
         var collects_error = []
         var collects_error = []
         var collects_mysql = []
         var collects_mysql = []
+
         for (let index = 0; index < my_account_all_coins.transfer_arrays.length; index++) {
         for (let index = 0; index < my_account_all_coins.transfer_arrays.length; index++) {
             var ti = my_account_all_coins.transfer_arrays[index]
             var ti = my_account_all_coins.transfer_arrays[index]
-            logger.tlog('ti=', ti)
+            logger.tlog('ti=', ti, index)
 
 
             //fix 归集失败的问题
             //fix 归集失败的问题
             //线上环境和测试环境由于访问快,导致余额未来得及更新,这里做一个 延迟判断
             //线上环境和测试环境由于访问快,导致余额未来得及更新,这里做一个 延迟判断
             if (ti.type == 'native') {
             if (ti.type == 'native') {
                 await updateNativeBalance(ti.amount, ti);
                 await updateNativeBalance(ti.amount, ti);
             }
             }
+
             var ret = await start_collectCoins(ti)
             var ret = await start_collectCoins(ti)
             //更新 native 金额
             //更新 native 金额
             if (isTransferSucceed(ret)) {
             if (isTransferSucceed(ret)) {
@@ -540,6 +546,7 @@ async function transfers(obj, my_account_all_coins, logParams) {
         //日志埋点-归集的响应
         //日志埋点-归集的响应
         logParams.results = collects
         logParams.results = collects
         logParams.collects = JSON.stringify(collects_mysql)
         logParams.collects = JSON.stringify(collects_mysql)
+        logParams.createTime = obj.createTime
         if (obj.address)
         if (obj.address)
             logParams.user_address = obj.address
             logParams.user_address = obj.address
         if (t_i == my_account_all_coins.transfer_arrays.length) {
         if (t_i == my_account_all_coins.transfer_arrays.length) {
@@ -676,7 +683,6 @@ async function queryCollectBalance(address, chain) {
  * @param {*} obj 
  * @param {*} obj 
  */
  */
 const collectCoins = async (obj) => {
 const collectCoins = async (obj) => {
-    logger.log('fun collectCoins in =', obj)
     var chain = obj.chain;
     var chain = obj.chain;
     //1、拿到当前账户所有的币
     //1、拿到当前账户所有的币
     //2、是否满足交易费 如果不满足则 归集地址转移 币count * 手续费 到充币地址
     //2、是否满足交易费 如果不满足则 归集地址转移 币count * 手续费 到充币地址
@@ -685,6 +691,8 @@ const collectCoins = async (obj) => {
     // 日志上报的参数
     // 日志上报的参数
     var logParams = {};
     var logParams = {};
 
 
+    obj.createTime = utils.getCurrentDate()
+    logger.log('fun collectCoins in =', obj)
     var my_account_all_coins = await getAccountAllCoins(obj);
     var my_account_all_coins = await getAccountAllCoins(obj);
     logger.log('collectCoins getAccountAllCoins=', my_account_all_coins)
     logger.log('collectCoins getAccountAllCoins=', my_account_all_coins)
     if (!my_account_all_coins.native && !my_account_all_coins.other) {
     if (!my_account_all_coins.native && !my_account_all_coins.other) {
@@ -750,10 +758,13 @@ const collectCoins = async (obj) => {
 
 
             if (!isTransferSucceed(ret)) return ret;
             if (!isTransferSucceed(ret)) return ret;
 
 
+            
+
             var transfer = getTransferGasFree('native', ret)
             var transfer = getTransferGasFree('native', ret)
             logger.log('getTransferGasFree transfer =', transfer)
             logger.log('getTransferGasFree transfer =', transfer)
             if (transfer && transfer.nativeValue > 0) {
             if (transfer && transfer.nativeValue > 0) {
                 logger.log('tempNativeValue=', my_account_all_coins.native.balance)
                 logger.log('tempNativeValue=', my_account_all_coins.native.balance)
+                await updateNativeBalance(my_account_all_coins.native.balance, obj);
                 var tempNativeValue = addNativeValue(my_account_all_coins.native.balance, transfer.nativeValue)
                 var tempNativeValue = addNativeValue(my_account_all_coins.native.balance, transfer.nativeValue)
                 my_account_all_coins.native.balance = tempNativeValue.toString();
                 my_account_all_coins.native.balance = tempNativeValue.toString();
                 logger.log('udpateNativeValue=', tempNativeValue);
                 logger.log('udpateNativeValue=', tempNativeValue);