update select user balance by page
This commit is contained in:
parent
966e4c4ec0
commit
e018122f7b
|
|
@ -8,5 +8,5 @@ var (
|
|||
RepoCurBalanceDownOverFlow int64 = -1005 // 当前项目总 Token 数低于0
|
||||
UserBblanceNotEnough int64 = -1006 // 用户余额不足
|
||||
|
||||
ContractAddress string = "0x0a68F060B46e0d8f969383D260c34105EA13a9dd"
|
||||
ContractAddress string = "0x73dF07368308784063e88F2E150F932782147194"
|
||||
)
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -121,10 +121,19 @@ contract OpenSource {
|
|||
Condition condition = user_table.newCondition();
|
||||
|
||||
Entries entries = user_table.select(username, condition);
|
||||
|
||||
if (start + page_num > entries.size()) {
|
||||
page_num = entries.size() - start;
|
||||
|
||||
if (page_num < 0) {
|
||||
page_num = 0;
|
||||
}
|
||||
}
|
||||
|
||||
string[] memory token_name_list = new string[](uint256(page_num));
|
||||
uint256[] memory balance_list = new uint256[](uint256(page_num));
|
||||
uint256 total_count = uint256(entries.size());
|
||||
for (int256 i = int256(start); i < start + page_num; ++i) {
|
||||
for (int256 i = start; i < start + page_num; i++) {
|
||||
Entry entry = entries.get(i);
|
||||
token_name_list[uint256(i - start)] = entry.getString("token_name");
|
||||
balance_list[uint256(i - start)] = entry.getUInt("balance");
|
||||
|
|
|
|||
|
|
@ -70,6 +70,6 @@ type FiscoBcos struct {
|
|||
Payee string `json:"payee"` // 收款人
|
||||
|
||||
// page 相关
|
||||
Page int `json:"page"` // 分页的第几页
|
||||
Pagenum int `json:"page_num"` // 分页每一页的需求数量
|
||||
Page int64 `json:"page"` // 分页的第几页
|
||||
Pagenum int64 `json:"page_num"` // 分页每一页的需求数量
|
||||
}
|
||||
|
|
|
|||
|
|
@ -76,7 +76,7 @@ func SelectUserAllBalance(ctx *macaron.Context, username string, logger *log.Log
|
|||
}
|
||||
|
||||
// select user all balance by page
|
||||
func SelectUserAllBalanceByPage(ctx *macaron.Context, username string, page int, page_num int, logger *log.Logger) {
|
||||
func SelectUserAllBalanceByPage(ctx *macaron.Context, username string, page int64, page_num int64, logger *log.Logger) {
|
||||
if username == "" {
|
||||
ctx.JSON(http.StatusOK, api.StringEmpty)
|
||||
return
|
||||
|
|
@ -104,16 +104,17 @@ func SelectUserAllBalanceByPage(ctx *macaron.Context, username string, page int,
|
|||
|
||||
openSourceSession := &opensource.OpenSourceSession{Contract: instance, CallOpts: *client.GetCallOpts(), TransactOpts: *client.GetTransactOpts()}
|
||||
|
||||
var start = 0
|
||||
var start = int64(0)
|
||||
if page > 0 {
|
||||
start = (page - 1) * page_num
|
||||
start = (page - int64(1)) * page_num
|
||||
}
|
||||
tokenNames, balances, total_count, err := openSourceSession.SelectUserAllBalanceByPage(username, start, page_num) // call select API
|
||||
print(start)
|
||||
print(page_num)
|
||||
tokenNames, balances, total_count, err := openSourceSession.SelectUserAllBalanceByPage(username, big.NewInt(start), big.NewInt(page_num)) // call select API
|
||||
if err != nil {
|
||||
ctx.JSON(http.StatusOK, api.UnknownErr(err))
|
||||
return
|
||||
}
|
||||
print("1111111")
|
||||
var userBalancelist api.UserBalanceList
|
||||
for i := 0; i < len(tokenNames); i++ {
|
||||
userBalancelist = append(userBalancelist, &api.UserBalance{User: api.User{Username: username, TokenName: tokenNames[i]}, Balance: balances[i].Uint64()})
|
||||
|
|
|
|||
Loading…
Reference in New Issue