|
@@ -150,35 +150,60 @@ public class AmsExecuteRecordServiceImpl extends SuperWhaleServiceImpl<AmsExecut
|
|
|
airdropParamMap.put(airdropParam.getName(), airdropParam);
|
|
|
}
|
|
|
int i = 0;
|
|
|
- for (AirdropWallet wallet : wallets) {
|
|
|
- if (i != 0) {
|
|
|
- long sleepTime = RandomUtil.randomLong(intervalMin, intervalMax);
|
|
|
- ThreadUtil.sleep(sleepTime, TimeUnit.MINUTES);
|
|
|
+ AmsExecuteRecord executeRecord = this.getById(execId);
|
|
|
+ try {
|
|
|
+ for (AirdropWallet wallet : wallets) {
|
|
|
+ if (i != 0) {
|
|
|
+ long sleepTime = RandomUtil.randomLong(intervalMin, intervalMax);
|
|
|
+ ThreadUtil.sleep(sleepTime, TimeUnit.MINUTES);
|
|
|
|
|
|
+ }
|
|
|
+ i++;
|
|
|
+ IScript script = ScriptContext.getScriptByCode(taskCode);
|
|
|
+ SResult sResult = script.run(airdropParamMap, wallet);
|
|
|
+ AmsTradeRecord tradeRecord = new AmsTradeRecord();
|
|
|
+ tradeRecord.setExecuteId(execId);
|
|
|
+ tradeRecord.setStatus(sResult.getStatus());
|
|
|
+ tradeRecord.setAddress(wallet.getAddress());
|
|
|
+ tradeRecord.setGas(sResult.getGas());
|
|
|
+ tradeRecord.setTxId(sResult.getTxId());
|
|
|
+ tradeRecord.setCreateTime(LocalDateTime.now());
|
|
|
+ tradeRecord.setUpdateTime(LocalDateTime.now());
|
|
|
+ tradeRecord.setCurrentBalance(sResult.getCurrentBalance());
|
|
|
+ tradeService.save(tradeRecord);
|
|
|
}
|
|
|
- i++;
|
|
|
- IScript script = ScriptContext.getScriptByCode(taskCode);
|
|
|
- SResult sResult = script.run(airdropParamMap, wallet);
|
|
|
- AmsTradeRecord tradeRecord = new AmsTradeRecord();
|
|
|
- tradeRecord.setExecuteId(execId);
|
|
|
- tradeRecord.setStatus(sResult.getStatus());
|
|
|
- tradeRecord.setAddress(wallet.getAddress());
|
|
|
- tradeRecord.setGas(sResult.getGas());
|
|
|
- tradeRecord.setTxId(sResult.getTxId());
|
|
|
- tradeRecord.setCreateTime(LocalDateTime.now());
|
|
|
- tradeRecord.setUpdateTime(LocalDateTime.now());
|
|
|
- tradeRecord.setCurrentBalance(sResult.getCurrentBalance());
|
|
|
- tradeService.save(tradeRecord);
|
|
|
- }
|
|
|
|
|
|
- AmsExecuteRecord executeRecord = this.getById(execId);
|
|
|
- executeRecord.setExecuteStatus(1);
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ executeRecord.setExecuteStatus(2);
|
|
|
+ }
|
|
|
+ executeRecord.setExecuteStatus(executeRecord.getExecuteStatus() == null || executeRecord.getExecuteStatus() == 0 ? 1 : executeRecord.getExecuteStatus());
|
|
|
this.updateById(executeRecord);
|
|
|
});
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void restartExecute(String executeId, String password) {
|
|
|
+ AmsExecuteRecord executeRecord = this.getById(executeId);
|
|
|
+ String groupName = executeRecord.getGroupName();
|
|
|
+ String userId = executeRecord.getUserId();
|
|
|
+ List<AmsAddressAccount> accounts = accountService.getByGroupNameAndUserId(groupName, userId);
|
|
|
+ List<AirdropWallet> wallets = accountService.getAirdropAddressByAccount(accounts, userId, groupName, password);
|
|
|
+ AmsAirdropTask task = taskService.getById(executeRecord.getTaskId());
|
|
|
+ runTask(
|
|
|
+ executeRecord.getIntervalMin(),
|
|
|
+ executeRecord.getIntervalMax(),
|
|
|
+ executeRecord.getExecuteId(),
|
|
|
+ task.getTaskCode(),
|
|
|
+ JSON.parseArray(executeRecord.getAirdropParams(), AirdropParam.class),
|
|
|
+ wallets
|
|
|
+ );
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public void updateExecute(UpdateExecute updateExecute) {
|
|
|
AmsAirdropProject project = verifyProject(updateExecute.getProjectId());
|
|
@@ -190,6 +215,7 @@ public class AmsExecuteRecordServiceImpl extends SuperWhaleServiceImpl<AmsExecut
|
|
|
this.updateById(execute);
|
|
|
}
|
|
|
|
|
|
+
|
|
|
/**
|
|
|
* 验证项目id
|
|
|
*
|