Commit 87b25a1e authored by linj's avatar linj Committed by linj

impl query QueryUnfreeze

parent e341320e
...@@ -8,29 +8,24 @@ import ( ...@@ -8,29 +8,24 @@ import (
"gitlab.33.cn/chain33/chain33/types" "gitlab.33.cn/chain33/chain33/types"
) )
func (u *Unfreeze) Query_QueryUnfreezeWithdraw(in *pty.QueryUnfreezeWithdraw) (types.Message, error) { func (u *Unfreeze) Query_GetUnfreezeWithdraw(in *types.ReqString) (types.Message, error) {
return QueryUnfreezeWithdraw(u.GetStateDB(), in) return QueryWithdraw(u.GetStateDB(), in.GetData())
}
func (u *Unfreeze) Query_GetUnfreeze(in *types.ReqString) (types.Message, error) {
return QueryUnfreeze(u.GetStateDB(), in.GetData())
} }
//查询可提币状态 //查询可提币状态
func QueryUnfreezeWithdraw(stateDB dbm.KV, param *pty.QueryUnfreezeWithdraw) (types.Message, error) { func QueryWithdraw(stateDB dbm.KV, unfreezeID string) (types.Message, error) {
//查询提币次数 unfreeze, err := loadUnfreeze(unfreezeID, stateDB)
//计算当前可否提币
unfreezeID := param.UnfreezeID
value, err := stateDB.Get([]byte(unfreezeID))
if err != nil {
uflog.Error("QueryWithdraw ", "unfreezeID", unfreezeID, "err", err)
return nil, err
}
var unfreeze pty.Unfreeze
err = types.Decode(value, &unfreeze)
if err != nil { if err != nil {
uflog.Error("QueryWithdraw ", "unfreezeID", unfreezeID, "err", err) uflog.Error("QueryWithdraw ", "unfreezeID", unfreezeID, "err", err)
return nil, err return nil, err
} }
currentTime := time.Now().Unix() currentTime := time.Now().Unix()
reply := &pty.ReplyQueryUnfreezeWithdraw{UnfreezeID: unfreezeID} reply := &pty.ReplyQueryUnfreezeWithdraw{UnfreezeID: unfreezeID}
available, err := getWithdrawAvailable(&unfreeze, currentTime) available, err := getWithdrawAvailable(unfreeze, currentTime)
if err != nil { if err != nil {
return nil, err return nil, err
} }
...@@ -51,3 +46,13 @@ func getWithdrawAvailable(unfreeze *pty.Unfreeze, calcTime int64) (int64, error) ...@@ -51,3 +46,13 @@ func getWithdrawAvailable(unfreeze *pty.Unfreeze, calcTime int64) (int64, error)
_, amount := withdraw(unfreeze, frozen) _, amount := withdraw(unfreeze, frozen)
return amount, nil return amount, nil
} }
func QueryUnfreeze(stateDB dbm.KV, unfreezeID string) (types.Message, error) {
unfreeze, err := loadUnfreeze(unfreezeID, stateDB)
if err != nil {
uflog.Error("QueryUnfreeze ", "unfreezeID", unfreezeID, "err", err)
return nil, err
}
return unfreeze, nil
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment