Browse Source

修改转赠

dev
long 3 years ago
parent
commit
8721fcf5d5
  1. 6
      conflux-admin/src/main/java/com/conflux/web/controller/nft/domain/ConfluxExecutor.java
  2. 2
      conflux-admin/src/main/java/com/conflux/web/controller/nft/service/ConfluxService.java
  3. 29
      conflux-admin/src/main/java/com/conflux/web/controller/nft/service/impl/ConfluxServiceImpl.java

6
conflux-admin/src/main/java/com/conflux/web/controller/nft/domain/ConfluxExecutor.java

@ -124,14 +124,12 @@ public class ConfluxExecutor {
return cfx.estimateGasAndCollateral(call).sendAndGet();
}
public String safeTransferFrom(Account.Option option, String from, String to, List<BigInteger> tokenId) throws Exception {
public String safeTransferFrom(Account.Option option, String from, String to, BigInteger tokenId) throws Exception {
return this.account.call(option,
new conflux.web3j.types.Address(this.contract),
"safeTransferFrom",
new Address(from),
new Address(to),
new org.web3j.abi.datatypes.DynamicArray<>(
Uint256.class,
org.web3j.abi.Utils.typeMap(tokenId, Uint256.class)));
new org.web3j.abi.datatypes.Uint(tokenId));
}
}

2
conflux-admin/src/main/java/com/conflux/web/controller/nft/service/ConfluxService.java

@ -48,5 +48,5 @@ public interface ConfluxService {
* @param checkArgs
* @return
*/
AjaxResult safeTransferFrom(CheckArgs checkArgs);
AjaxResult safeTransferFrom(CheckArgs checkArgs) throws Exception;
}

29
conflux-admin/src/main/java/com/conflux/web/controller/nft/service/impl/ConfluxServiceImpl.java

@ -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) {

Loading…
Cancel
Save