Bladeren bron

fix: 跨链

Wren 1 jaar geleden
bovenliggende
commit
d4c7bc6034

+ 2 - 0
src/main/java/com/ichaoj/ams/service/IAmsTradeRecordService.java

@@ -65,4 +65,6 @@ public interface IAmsTradeRecordService extends IService<AmsTradeRecord> {
      * @return 列表
      */
     List<TradeRecordResponse> listByUserId(String userId);
+
+    List<AmsTradeRecord> listByExecId(String executeId);
 }

+ 15 - 1
src/main/java/com/ichaoj/ams/service/impl/AmsExecuteRecordServiceImpl.java

@@ -187,11 +187,25 @@ public class AmsExecuteRecordServiceImpl extends SuperWhaleServiceImpl<AmsExecut
 
     @Override
     public void restartExecute(String executeId, String password) {
+
         AmsExecuteRecord executeRecord = this.getById(executeId);
+        if (executeRecord.getExecuteStatus() == 1 || executeRecord.getExecuteStatus() == 0) {
+            return;
+        }
         String groupName = executeRecord.getGroupName();
         String userId = executeRecord.getUserId();
         List<AmsAddressAccount> accounts = accountService.getByGroupNameAndUserId(groupName, userId);
-        List<AirdropWallet> wallets = accountService.getAirdropAddressByAccount(accounts, userId, groupName, password);
+        List<AmsAddressAccount> accountNotExecList = new ArrayList<>();
+        List<AmsTradeRecord> amsTradeRecords = tradeService.listByExecId(executeId);
+        amsTradeRecords.forEach(amsTradeRecord -> {
+            accounts.forEach(account -> {
+                boolean equalsIgnoreCase = account.getAddress().equalsIgnoreCase(amsTradeRecord.getAddress());
+                if (equalsIgnoreCase) {
+                    accountNotExecList.add(account);
+                }
+            });
+        });
+        List<AirdropWallet> wallets = accountService.getAirdropAddressByAccount(accountNotExecList, userId, groupName, password);
         AmsAirdropTask task = taskService.getById(executeRecord.getTaskId());
         runTask(
                 executeRecord.getIntervalMin(),

+ 8 - 0
src/main/java/com/ichaoj/ams/service/impl/AmsTradeRecordServiceImpl.java

@@ -9,6 +9,7 @@ import cn.hutool.core.thread.ThreadUtil;
 import cn.hutool.core.util.IdUtil;
 import cn.hutool.core.util.RandomUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ichaoj.ams.entity.AmsAddressAccount;
 import com.ichaoj.ams.entity.AmsExecuteRecord;
@@ -168,6 +169,13 @@ public class AmsTradeRecordServiceImpl extends SuperWhaleServiceImpl<AmsTradeRec
         return this.baseMapper.listByUserId(userId);
     }
 
+    @Override
+    public List<AmsTradeRecord> listByExecId(String executeId) {
+        LambdaQueryWrapper<AmsTradeRecord> wrapper = Wrappers.lambdaQuery(AmsTradeRecord.class).eq(AmsTradeRecord::getExecuteId, executeId);
+        return this.list(wrapper);
+
+    }
+
     private BigDecimal getCurrenAmount(String amount) {
         return RandomUtil.randomBigDecimal(BigDecimal.ZERO, new BigDecimal(amount));
     }