feat: 积分质押功能
This commit is contained in:
30
internal/handler/admin/game_action_handler.go
Normal file
30
internal/handler/admin/game_action_handler.go
Normal file
@@ -0,0 +1,30 @@
|
||||
package admin
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
"nova_task/internal/pkg/errs"
|
||||
|
||||
"github.com/zeromicro/go-zero/rest/httpx"
|
||||
"nova_task/internal/logic/admin"
|
||||
"nova_task/internal/svc"
|
||||
"nova_task/internal/types"
|
||||
)
|
||||
|
||||
// GameAction
|
||||
func GameActionHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||
return func(w http.ResponseWriter, r *http.Request) {
|
||||
var req types.GameActionReq
|
||||
if err := httpx.Parse(r, &req); err != nil {
|
||||
httpx.ErrorCtx(r.Context(), w, err)
|
||||
return
|
||||
}
|
||||
|
||||
l := admin.NewGameActionLogic(r.Context(), svcCtx)
|
||||
resp, err := l.GameAction(&req)
|
||||
if err != nil {
|
||||
httpx.ErrorCtx(r.Context(), w, err)
|
||||
} else {
|
||||
errs.WriteHttpResponse(r.Context(), w, resp)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -10,6 +10,7 @@ import (
|
||||
carv "nova_task/internal/handler/carv"
|
||||
game7 "nova_task/internal/handler/game7"
|
||||
kgen "nova_task/internal/handler/kgen"
|
||||
stakepoint "nova_task/internal/handler/stakepoint"
|
||||
task "nova_task/internal/handler/task"
|
||||
"nova_task/internal/svc"
|
||||
|
||||
@@ -39,6 +40,12 @@ func RegisterHandlers(server *rest.Server, serverCtx *svc.ServiceContext) {
|
||||
Path: "/fix_nft_staker",
|
||||
Handler: admin.FixNftStakerHandler(serverCtx),
|
||||
},
|
||||
{
|
||||
// GameAction
|
||||
Method: http.MethodPost,
|
||||
Path: "/game_action",
|
||||
Handler: admin.GameActionHandler(serverCtx),
|
||||
},
|
||||
{
|
||||
// NFT持有者更新
|
||||
Method: http.MethodGet,
|
||||
@@ -125,6 +132,25 @@ func RegisterHandlers(server *rest.Server, serverCtx *svc.ServiceContext) {
|
||||
rest.WithPrefix("/gapi/kgen"),
|
||||
)
|
||||
|
||||
server.AddRoutes(
|
||||
[]rest.Route{
|
||||
{
|
||||
// 获取质押档位列表
|
||||
Method: http.MethodGet,
|
||||
Path: "/level",
|
||||
Handler: stakepoint.GetStakeLevelListHandler(serverCtx),
|
||||
},
|
||||
{
|
||||
// 质押积分操作
|
||||
Method: http.MethodPost,
|
||||
Path: "/stake",
|
||||
Handler: stakepoint.StakePointHandler(serverCtx),
|
||||
},
|
||||
},
|
||||
rest.WithJwt(serverCtx.Config.Auth.AccessSecret),
|
||||
rest.WithPrefix("/gapi/stakepoint/v1"),
|
||||
)
|
||||
|
||||
server.AddRoutes(
|
||||
[]rest.Route{
|
||||
{
|
||||
|
||||
29
internal/handler/stakepoint/get_stake_level_list_handler.go
Normal file
29
internal/handler/stakepoint/get_stake_level_list_handler.go
Normal file
@@ -0,0 +1,29 @@
|
||||
package stakepoint
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
|
||||
"github.com/zeromicro/go-zero/rest/httpx"
|
||||
"nova_task/internal/logic/stakepoint"
|
||||
"nova_task/internal/svc"
|
||||
"nova_task/internal/types"
|
||||
)
|
||||
|
||||
// 获取质押档位列表
|
||||
func GetStakeLevelListHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||
return func(w http.ResponseWriter, r *http.Request) {
|
||||
var req types.GetStakeLevelListReq
|
||||
if err := httpx.Parse(r, &req); err != nil {
|
||||
httpx.ErrorCtx(r.Context(), w, err)
|
||||
return
|
||||
}
|
||||
|
||||
l := stakepoint.NewGetStakeLevelListLogic(r.Context(), svcCtx)
|
||||
resp, err := l.GetStakeLevelList(&req)
|
||||
if err != nil {
|
||||
httpx.ErrorCtx(r.Context(), w, err)
|
||||
} else {
|
||||
httpx.OkJsonCtx(r.Context(), w, resp)
|
||||
}
|
||||
}
|
||||
}
|
||||
29
internal/handler/stakepoint/stake_point_handler.go
Normal file
29
internal/handler/stakepoint/stake_point_handler.go
Normal file
@@ -0,0 +1,29 @@
|
||||
package stakepoint
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
|
||||
"github.com/zeromicro/go-zero/rest/httpx"
|
||||
"nova_task/internal/logic/stakepoint"
|
||||
"nova_task/internal/svc"
|
||||
"nova_task/internal/types"
|
||||
)
|
||||
|
||||
// 质押积分操作
|
||||
func StakePointHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||
return func(w http.ResponseWriter, r *http.Request) {
|
||||
var req types.StakePointReq
|
||||
if err := httpx.Parse(r, &req); err != nil {
|
||||
httpx.ErrorCtx(r.Context(), w, err)
|
||||
return
|
||||
}
|
||||
|
||||
l := stakepoint.NewStakePointLogic(r.Context(), svcCtx)
|
||||
err := l.StakePoint(&req)
|
||||
if err != nil {
|
||||
httpx.ErrorCtx(r.Context(), w, err)
|
||||
} else {
|
||||
httpx.Ok(w)
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user