@@ -392,7 +392,7 @@ public class LedgerQueryService implements BlockchainQueryService { | |||||
checkLedgerHash(ledgerHash); | checkLedgerHash(ledgerHash); | ||||
LedgerBlock block = ledger.getLatestBlock(); | LedgerBlock block = ledger.getLatestBlock(); | ||||
UserAccountQuery userAccountSet = ledger.getUserAccountSet(block); | UserAccountQuery userAccountSet = ledger.getUserAccountSet(block); | ||||
int pages[] = QueryUtil.calFromIndexAndCount(fromIndex, count, (int) userAccountSet.getTotal()); | |||||
int pages[] = QueryUtil.calFromIndexAndCountDescend(fromIndex, count, (int) userAccountSet.getTotal()); | |||||
return userAccountSet.getHeaders(pages[0], pages[1]); | return userAccountSet.getHeaders(pages[0], pages[1]); | ||||
} | } | ||||
@@ -401,7 +401,7 @@ public class LedgerQueryService implements BlockchainQueryService { | |||||
checkLedgerHash(ledgerHash); | checkLedgerHash(ledgerHash); | ||||
LedgerBlock block = ledger.getLatestBlock(); | LedgerBlock block = ledger.getLatestBlock(); | ||||
DataAccountQuery dataAccountSet = ledger.getDataAccountSet(block); | DataAccountQuery dataAccountSet = ledger.getDataAccountSet(block); | ||||
int pages[] = QueryUtil.calFromIndexAndCount(fromIndex, count, (int) dataAccountSet.getTotal()); | |||||
int pages[] = QueryUtil.calFromIndexAndCountDescend(fromIndex, count, (int) dataAccountSet.getTotal()); | |||||
return dataAccountSet.getHeaders(pages[0], pages[1]); | return dataAccountSet.getHeaders(pages[0], pages[1]); | ||||
} | } | ||||
@@ -410,7 +410,7 @@ public class LedgerQueryService implements BlockchainQueryService { | |||||
checkLedgerHash(ledgerHash); | checkLedgerHash(ledgerHash); | ||||
LedgerBlock block = ledger.getLatestBlock(); | LedgerBlock block = ledger.getLatestBlock(); | ||||
ContractAccountQuery contractAccountSet = ledger.getContractAccountSet(block); | ContractAccountQuery contractAccountSet = ledger.getContractAccountSet(block); | ||||
int pages[] = QueryUtil.calFromIndexAndCount(fromIndex, count, (int) contractAccountSet.getTotal()); | |||||
int pages[] = QueryUtil.calFromIndexAndCountDescend(fromIndex, count, (int) contractAccountSet.getTotal()); | |||||
return contractAccountSet.getHeaders(pages[0], pages[1]); | return contractAccountSet.getHeaders(pages[0], pages[1]); | ||||
} | } | ||||
@@ -474,7 +474,7 @@ public class LedgerQueryController implements BlockchainQueryService { | |||||
LedgerQuery ledger = ledgerService.getLedger(ledgerHash); | LedgerQuery ledger = ledgerService.getLedger(ledgerHash); | ||||
LedgerBlock block = ledger.getLatestBlock(); | LedgerBlock block = ledger.getLatestBlock(); | ||||
UserAccountQuery userAccountSet = ledger.getUserAccountSet(block); | UserAccountQuery userAccountSet = ledger.getUserAccountSet(block); | ||||
int pages[] = QueryUtil.calFromIndexAndCount(fromIndex, count, (int) userAccountSet.getTotal()); | |||||
int pages[] = QueryUtil.calFromIndexAndCountDescend(fromIndex, count, (int) userAccountSet.getTotal()); | |||||
return userAccountSet.getHeaders(pages[0], pages[1]); | return userAccountSet.getHeaders(pages[0], pages[1]); | ||||
} | } | ||||
@@ -494,7 +494,7 @@ public class LedgerQueryController implements BlockchainQueryService { | |||||
LedgerQuery ledger = ledgerService.getLedger(ledgerHash); | LedgerQuery ledger = ledgerService.getLedger(ledgerHash); | ||||
LedgerBlock block = ledger.getLatestBlock(); | LedgerBlock block = ledger.getLatestBlock(); | ||||
DataAccountQuery dataAccountSet = ledger.getDataAccountSet(block); | DataAccountQuery dataAccountSet = ledger.getDataAccountSet(block); | ||||
int pages[] = QueryUtil.calFromIndexAndCount(fromIndex, count, (int) dataAccountSet.getTotal()); | |||||
int pages[] = QueryUtil.calFromIndexAndCountDescend(fromIndex, count, (int) dataAccountSet.getTotal()); | |||||
return dataAccountSet.getHeaders(pages[0], pages[1]); | return dataAccountSet.getHeaders(pages[0], pages[1]); | ||||
} | } | ||||
@@ -506,7 +506,7 @@ public class LedgerQueryController implements BlockchainQueryService { | |||||
LedgerQuery ledger = ledgerService.getLedger(ledgerHash); | LedgerQuery ledger = ledgerService.getLedger(ledgerHash); | ||||
LedgerBlock block = ledger.getLatestBlock(); | LedgerBlock block = ledger.getLatestBlock(); | ||||
ContractAccountQuery contractAccountSet = ledger.getContractAccountSet(block); | ContractAccountQuery contractAccountSet = ledger.getContractAccountSet(block); | ||||
int pages[] = QueryUtil.calFromIndexAndCount(fromIndex, count, (int) contractAccountSet.getTotal()); | |||||
int pages[] = QueryUtil.calFromIndexAndCountDescend(fromIndex, count, (int) contractAccountSet.getTotal()); | |||||
return contractAccountSet.getHeaders(pages[0], pages[1]); | return contractAccountSet.getHeaders(pages[0], pages[1]); | ||||
} | } | ||||
@@ -45,10 +45,23 @@ public class QueryUtil { | |||||
} | } | ||||
rtn[0] = fromIndex; | rtn[0] = fromIndex; | ||||
rtn[1] = count; | rtn[1] = count; | ||||
return rtn; | |||||
} | |||||
/** | |||||
* cal the data by descend; | |||||
* @param fromIndex | |||||
* @param count | |||||
* @param maxNum | |||||
* @return | |||||
*/ | |||||
public static int[] calFromIndexAndCountDescend(int fromIndex, int count, int maxNum){ | |||||
int rtn[] = new int[2]; | |||||
int results[] = calFromIndexAndCount(fromIndex,count,maxNum); | |||||
//now use descend; first show the latest record; | //now use descend; first show the latest record; | ||||
rtn[0] = maxNum - fromIndex - count; | |||||
rtn[1] = count; | |||||
rtn[0] = maxNum - results[0] - results[1]; | |||||
rtn[1] = results[1]; | |||||
return rtn; | return rtn; | ||||
} | } | ||||
} | } |