Browse Source

add the calFromIndexAndCountDescend();

tags/1.1.1^2
zhaoguangwei 4 years ago
parent
commit
b22c93b893
3 changed files with 21 additions and 8 deletions
  1. +3
    -3
      source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerQueryService.java
  2. +3
    -3
      source/peer/src/main/java/com/jd/blockchain/peer/web/LedgerQueryController.java
  3. +15
    -2
      source/utils/utils-common/src/main/java/com/jd/blockchain/utils/QueryUtil.java

+ 3
- 3
source/ledger/ledger-core/src/main/java/com/jd/blockchain/ledger/core/LedgerQueryService.java View File

@@ -392,7 +392,7 @@ public class LedgerQueryService implements BlockchainQueryService {
checkLedgerHash(ledgerHash);
LedgerBlock block = ledger.getLatestBlock();
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]);
}

@@ -401,7 +401,7 @@ public class LedgerQueryService implements BlockchainQueryService {
checkLedgerHash(ledgerHash);
LedgerBlock block = ledger.getLatestBlock();
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]);
}

@@ -410,7 +410,7 @@ public class LedgerQueryService implements BlockchainQueryService {
checkLedgerHash(ledgerHash);
LedgerBlock block = ledger.getLatestBlock();
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]);
}



+ 3
- 3
source/peer/src/main/java/com/jd/blockchain/peer/web/LedgerQueryController.java View File

@@ -474,7 +474,7 @@ public class LedgerQueryController implements BlockchainQueryService {
LedgerQuery ledger = ledgerService.getLedger(ledgerHash);
LedgerBlock block = ledger.getLatestBlock();
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]);
}

@@ -494,7 +494,7 @@ public class LedgerQueryController implements BlockchainQueryService {
LedgerQuery ledger = ledgerService.getLedger(ledgerHash);
LedgerBlock block = ledger.getLatestBlock();
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]);
}

@@ -506,7 +506,7 @@ public class LedgerQueryController implements BlockchainQueryService {
LedgerQuery ledger = ledgerService.getLedger(ledgerHash);
LedgerBlock block = ledger.getLatestBlock();
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]);
}



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

@@ -45,10 +45,23 @@ public class QueryUtil {
}
rtn[0] = fromIndex;
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;
rtn[0] = maxNum - fromIndex - count;
rtn[1] = count;
rtn[0] = maxNum - results[0] - results[1];
rtn[1] = results[1];
return rtn;
}
}

Loading…
Cancel
Save