nft质押任务逻辑

This commit is contained in:
lianghuanjie
2024-12-27 18:06:13 +08:00
parent a22f73df20
commit 31a674080d
39 changed files with 1532 additions and 99 deletions

View File

@@ -27,6 +27,22 @@ service novatask {
@doc "领取任务奖励"
@handler GetTaskReward
get /reward/:id (TaskIdPath) returns (GetTaskRewardResp)
@doc "拉取玩家持有的nft列表"
@handler GetNftList
get /nfts returns (UserNftList)
@doc "质押任务详情"
@handler GetStakeTaskDetail
get /task/stake returns (StakeTaskDetail)
@doc "质押NFT"
@handler StakeNft
post /nft/stake (StakeNftList)
@doc "取消质押NFT"
@handler UnStakeNft
post /nft/unstake (UnStakeNftReq)
}
type GetTaskListReq {
@@ -86,3 +102,35 @@ type GetCommunityListResp {
CommunityList []Community `json:"community_list"` // 社区列表
}
// StakeTaskDetail 质押任务详情
type StakeTaskDetail {
StartDate string `json:"start_date"` // 开始日期
EndDate string `json:"end_date"` // 结束日期
CountDown int `json:"count_down"` // 剩余结算时间
ProduceTokensToday float64 `json:"produce_token_today"` // 今日产出代币
GameBonus int `json:"game_bonus"` // 游戏加成比率
CanReceiveTokens float64 `json:"can_receive_tokens"` // 可领取代币数量
}
// UserNft 用户NFT
type UserNft {
TokenId string `json:"token_id"` // nftID
HasStake bool `json:"has_stake"` // 是否已质押
StakeAt string `json:"stake_at"` // 质押时间
}
// UserNftList 用户NFT列表
type UserNftList {
NftList []UserNft `json:"nft_list"`
}
// StakeNftList 质押请求参数NFT列表
type StakeNftList {
TokenIds []string `json:"token_ids"` // nft列表
}
// UnStakeNftReq 取消质押请求参数
type UnStakeNftReq {
TokenId string `json:"token_id"` // nftID
}