Browse Source

first display the latest record when invoke the interface: /users,/accounts,/contracts;

tags/1.1.1^2
zhaoguangwei 5 years ago
parent
commit
fb4d7e2dce
2 changed files with 21 additions and 3 deletions
  1. +17
    -3
      source/gateway/src/main/java/com/jd/blockchain/gateway/web/BlockBrowserController.java
  2. +4
    -0
      source/utils/utils-common/src/main/java/com/jd/blockchain/utils/QueryUtil.java

+ 17
- 3
source/gateway/src/main/java/com/jd/blockchain/gateway/web/BlockBrowserController.java View File

@@ -597,7 +597,7 @@ public class BlockBrowserController implements BlockchainExtendQueryService {
public AccountHeader[] getUsers(@PathVariable(name = "ledgerHash") HashDigest ledgerHash,
@RequestParam(name = "fromIndex", required = false, defaultValue = "0") int fromIndex,
@RequestParam(name = "count", required = false, defaultValue = "-1") int count) {
return peerService.getQueryService().getUsers(ledgerHash, fromIndex, count);
return revertAccountHeader(peerService.getQueryService().getUsers(ledgerHash, fromIndex, count));
}

@RequestMapping(method = RequestMethod.GET, path = "ledgers/{ledgerHash}/accounts")
@@ -605,7 +605,7 @@ public class BlockBrowserController implements BlockchainExtendQueryService {
public AccountHeader[] getDataAccounts(@PathVariable(name = "ledgerHash") HashDigest ledgerHash,
@RequestParam(name = "fromIndex", required = false, defaultValue = "0") int fromIndex,
@RequestParam(name = "count", required = false, defaultValue = "-1") int count) {
return peerService.getQueryService().getDataAccounts(ledgerHash, fromIndex, count);
return revertAccountHeader(peerService.getQueryService().getDataAccounts(ledgerHash, fromIndex, count));
}

@RequestMapping(method = RequestMethod.GET, path = "ledgers/{ledgerHash}/contracts")
@@ -613,6 +613,20 @@ public class BlockBrowserController implements BlockchainExtendQueryService {
public AccountHeader[] getContractAccounts(@PathVariable(name = "ledgerHash") HashDigest ledgerHash,
@RequestParam(name = "fromIndex", required = false, defaultValue = "0") int fromIndex,
@RequestParam(name = "count", required = false, defaultValue = "-1") int count) {
return peerService.getQueryService().getContractAccounts(ledgerHash, fromIndex, count);
return revertAccountHeader(peerService.getQueryService().getContractAccounts(ledgerHash, fromIndex, count));
}

/**
* reverse the AccountHeader[] content; the latest record show first;
* @return
*/
private AccountHeader[] revertAccountHeader(AccountHeader[] accountHeaders){
AccountHeader[] accounts = new AccountHeader[accountHeaders.length];
if(accountHeaders!=null && accountHeaders.length>0){
for (int i = 0; i < accountHeaders.length; i++) {
accounts[accountHeaders.length-1-i] = accountHeaders[i];
}
}
return accounts;
}
}

+ 4
- 0
source/utils/utils-common/src/main/java/com/jd/blockchain/utils/QueryUtil.java View File

@@ -45,6 +45,10 @@ public class QueryUtil {
}
rtn[0] = fromIndex;
rtn[1] = count;

//now use descend; first show the latest record;
rtn[0] = maxNum - fromIndex - count;
rtn[1] = count;
return rtn;
}
}

Loading…
Cancel
Save