新增游戏人生领取奖励相关接口

This commit is contained in:
chy
2025-06-19 21:19:04 +08:00
parent 31d2d056b4
commit db97319cf9
10 changed files with 261 additions and 7 deletions

View File

@ -2,13 +2,10 @@ package reward
import (
"context"
"github.com/gogf/gf/v2/errors/gcode"
"github.com/gogf/gf/v2/errors/gerror"
"server/api/reward/v1"
)
func (c *ControllerV1) Callback(ctx context.Context, req *v1.CallbackReq) (res *v1.CallbackRes, err error) {
return nil, gerror.NewCode(gcode.CodeNotImplemented)
return nil, err
}

View File

@ -0,0 +1,14 @@
package reward
import (
"context"
"github.com/gogf/gf/v2/errors/gcode"
"github.com/gogf/gf/v2/errors/gerror"
"server/api/reward/v1"
)
func (c *ControllerV1) GetGoods(ctx context.Context, req *v1.GetGoodsReq) (res *v1.GetGoodsRes, err error) {
return nil, gerror.NewCode(gcode.CodeNotImplemented)
}

View File

@ -0,0 +1,26 @@
package reward
import (
"context"
"server/internal/model"
"server/internal/service"
"server/api/reward/v1"
)
func (c *ControllerV1) GetGoodsDetails(ctx context.Context, req *v1.GetGoodsDetailsReq) (res *v1.GetGoodsDetailsRes, err error) {
_, err = service.Reward().GetGoodsDetails(ctx, &model.QueryUserGoodsDetailParam{
WinningTime: req.Winningtime,
OrderId: req.Orderid,
IsActInfo: req.IsActinfo,
IsDetail: req.IsDetail,
IsDocument: req.IsDocument,
})
if err != nil {
return nil, err
}
return &v1.GetGoodsDetailsRes{Water: nil}, nil
}

View File

@ -0,0 +1,30 @@
package reward
import (
"context"
"server/internal/model"
"server/internal/service"
"server/api/reward/v1"
)
func (c *ControllerV1) GetGoodsList(ctx context.Context, req *v1.GetGoodsListReq) (res *v1.GetGoodsListRes, err error) {
out, err := service.Reward().GetGoodsList(ctx, &model.GetGoodsListIn{
Appfilter: req.Appfilter,
BigTime: req.BigTime,
Goodsstatus: req.Goodsstatus,
Num: req.Num,
OrderType: req.OrderType,
OrderbyDesc: req.OrderbyDesc,
Pageidx: req.Pageidx,
})
if err != nil {
return nil, err
}
return &v1.GetGoodsListRes{
List: out.List,
Pageidx: out.Pageidx,
Total: out.Total,
}, nil
}

View File

@ -0,0 +1,28 @@
package reward
import (
"context"
"server/internal/model"
"server/internal/service"
"server/api/reward/v1"
)
func (c *ControllerV1) GetLift(ctx context.Context, req *v1.GetLiftReq) (res *v1.GetLiftRes, err error) {
out, err := service.Reward().GetLift(ctx, &model.RewardCallbackIn{
AreaId: req.AreaId,
GameId: req.GameId,
RewradTypeId: req.RewradType,
RoleIdx: req.RoleIdx,
TaskId: req.TaskId,
})
if err != nil {
return nil, err
}
return &v1.GetLiftRes{
List: out.List,
Result: out.Result,
Water: nil,
}, nil
}

View File

@ -317,3 +317,41 @@ func (s *sReward) List(ctx context.Context, in *model.RewardListIn) (out *model.
Total: total,
}, nil
}
func (s *sReward) GetLift(ctx context.Context, in *model.RewardCallbackIn) (out *model.RewardCallbackOut, err error) {
// 遍历奖励类型列表
for _, v := range in.RewradTypeId {
if v > 0 {
// 发背包+兑换
}
if v > 0 {
// 直接发背包
}
}
// 存储数据库记录
return nil, err
}
// GetGoodsList 调用外部获取物品列表
func (s *sReward) GetGoodsList(ctx context.Context, in *model.GetGoodsListIn) (out *model.GetGoodsListOut, err error) {
// 调用 tencent
return nil, err
}
// GetGoods 物品兑换
func (s *sReward) GetGoods(ctx context.Context, in *model.GetGoodsGetIn) (out *model.GoodsGetOut, err error) {
return nil, err
}
// GetGoodsDetails 物品详情
func (s *sReward) GetGoodsDetails(ctx context.Context, in *model.QueryUserGoodsDetailParam) (out *model.QueryUserGoodsDetailResponse, err error) {
//
return nil, err
}

View File

@ -90,3 +90,47 @@ type RewardListOut struct {
List []Reward
Total int
}
// RewardCallbackIn 任务奖励领取回调入参
type RewardCallbackIn struct {
AreaId int64
GameId int64
RewradTypeId []int64
RoleIdx string
TaskId int64
}
type Water struct {
}
type RewardCallbackOut struct {
List interface{} `json:"list"`
Result int64 `json:"result"`
Water Water `json:"water"`
}
type GetGoodsListIn struct {
Appfilter string `json:"appfilter"`
BigTime int64 `json:"bigTime"`
Pageidx string `json:"pageidx"`
Num int64 `json:"num"`
OrderType string `json:"orderType"`
OrderbyDesc int64 `json:"orderbDesc"`
Goodsstatus int64 `json:"Goodsstatus"`
}
type GetGoodsListOut struct {
List interface{} `json:"list"`
Pageidx string `json:"pageidx"`
Total int64 `json:"total"`
}
type GetGoodsGetIn struct {
Water Water `json:"water" dc:"物品流水从背包列表获取的water透传回来water类型参考GetGift接口的water结构"`
AreaId int64 `json:"areaId" dc:"大区Id"`
GameId int64 `json:"gid" dc:"游戏Id"`
RoleIdx string `json:"roleIdx" dc:"角色索引"`
}
type GoodsGetOut struct {
Water Water `json:"water" dc:"用户领取物品流水记录"`
}

View File

@ -20,6 +20,13 @@ type (
Delete(ctx context.Context, in *model.RewardDeleteIn) (out *model.RewardDeleteOut, err error)
// List 奖励列表
List(ctx context.Context, in *model.RewardListIn) (out *model.RewardListOut, err error)
GetLift(ctx context.Context, in *model.RewardCallbackIn) (out *model.RewardCallbackOut, err error)
// GetGoodsList 调用外部获取物品列表
GetGoodsList(ctx context.Context, in *model.GetGoodsListIn) (out *model.GetGoodsListOut, err error)
// GetGoods 物品兑换
GetGoods(ctx context.Context, in *model.GetGoodsGetIn) (out *model.GoodsGetOut, err error)
// GetGoodsDetails 物品详情
GetGoodsDetails(ctx context.Context, in *model.QueryUserGoodsDetailParam) (out *model.QueryUserGoodsDetailResponse, err error)
}
)