|
|
|
@ -446,11 +446,30 @@ public class ConfluxServiceImpl implements ConfluxService {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public AjaxResult safeTransferFrom(CheckArgs checkArgs) { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return null; |
|
|
|
|
public AjaxResult safeTransferFrom(CheckArgs checkArgs) throws Exception { |
|
|
|
|
if (null == checkArgs) { |
|
|
|
|
return AjaxResult.error("参数为空!"); |
|
|
|
|
} |
|
|
|
|
if (StringUtils.isEmpty(checkArgs.getToken()) || StringUtils.isEmpty(checkArgs.getIds()) || |
|
|
|
|
StringUtils.isEmpty(checkArgs.getSign()) || StringUtils.isEmpty(checkArgs.getTimesTamp()) || |
|
|
|
|
StringUtils.isEmpty(checkArgs.getAppId()) || StringUtils.isEmpty(checkArgs.getPrivateKey())) { |
|
|
|
|
return AjaxResult.error("参数缺失!"); |
|
|
|
|
} |
|
|
|
|
CollectConfig collectConfig = collectConfigService.selectCollectConfigByStatus(); |
|
|
|
|
ContractConfig contractConfig = contractConfigService.selectContractConfigByUnitName(checkArgs.getUnitName()); |
|
|
|
|
Cfx cfx = Cfx.create(collectConfig.getNode(), 3, 1000); |
|
|
|
|
Account account = Account.create(cfx, AESUtil.decrypt(contractConfig.getPrivateKey())); |
|
|
|
|
String contract = contractConfig.getContract(); |
|
|
|
|
ConfluxExecutor confluxExecutor = new ConfluxExecutor(account, contract); |
|
|
|
|
Account.Option opt = new Account.Option(); |
|
|
|
|
String id = checkArgs.getIds()[0]; |
|
|
|
|
List<String> list = Arrays.asList(checkArgs.getIds()); |
|
|
|
|
List<BigInteger> tokenIds = list.stream().map(n -> new BigInteger(n, 16)).collect(Collectors.toList()); |
|
|
|
|
String s = confluxExecutor.safeTransferFrom(opt, contractConfig.getOwner(), "", tokenIds.get(0)); |
|
|
|
|
if(StringUtils.isNotEmpty(s)){ |
|
|
|
|
return AjaxResult.error("操作失败!"); |
|
|
|
|
} |
|
|
|
|
return AjaxResult.success("操作成功!"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public boolean executeMakeUp(String contract, String markName) { |
|
|
|
|