新增游戏人生领取奖励相关接口
This commit is contained in:
@ -16,4 +16,8 @@ type IRewardV1 interface {
|
||||
Update(ctx context.Context, req *v1.UpdateReq) (res *v1.UpdateRes, err error)
|
||||
Delete(ctx context.Context, req *v1.DeleteReq) (res *v1.DeleteRes, err error)
|
||||
Callback(ctx context.Context, req *v1.CallbackReq) (res *v1.CallbackRes, err error)
|
||||
GetLift(ctx context.Context, req *v1.GetLiftReq) (res *v1.GetLiftRes, err error)
|
||||
GetGoodsList(ctx context.Context, req *v1.GetGoodsListReq) (res *v1.GetGoodsListRes, err error)
|
||||
GetGoods(ctx context.Context, req *v1.GetGoodsReq) (res *v1.GetGoodsRes, err error)
|
||||
GetGoodsDetails(ctx context.Context, req *v1.GetGoodsDetailsReq) (res *v1.GetGoodsDetailsRes, err error)
|
||||
}
|
||||
|
||||
@ -56,8 +56,74 @@ type DeleteRes struct {
|
||||
}
|
||||
|
||||
type CallbackReq struct {
|
||||
g.Meta `path:"/reward/callback" method:"post" tags:"Reward" summary:"(tencent)回调"`
|
||||
UserId int64 `json:"userId" v:"required#用户ID不能为空" dc:"用户ID"`
|
||||
g.Meta `path:"/reward/callback" method:"post" tags:"Reward" summary:"(tencent)回调"`
|
||||
TaskId int64 `json:"taskId" v:"required#任务id不能为空" dc:"任务Id"`
|
||||
AreaId int64 `json:"areaId" dc:"大区Id"`
|
||||
GameId int64 `json:"gid" v:"required#游戏id不能为空" dc:"游戏Id"`
|
||||
RoleIdx string `json:"roleIdx" dc:"角色索引"`
|
||||
RewradType []int64 `json:"rewardType" v:"required#奖励类型不能为空" dc:"奖励类型"`
|
||||
}
|
||||
|
||||
type CallbackRes struct {
|
||||
List interface{} `json:"list" dc:"物品列表"`
|
||||
Result int64 `json:"result" dc:"1-奖励发放成功,2-奖励兑换失败(礼包发放背包环节成功,需要重新引导领奖)3-针对只需要发背包,然后引导用户到人生应用背包领奖的奖励类型,发奖成功了,4-water错误(一般是orderid),不做兑换操作"`
|
||||
Water *Water `json:"water" dc:"礼包列表"`
|
||||
}
|
||||
|
||||
type GetLiftReq struct {
|
||||
g.Meta `path:"/reward/getLift" method:"post" tags:"Reward" summary:"(tencent)回调"`
|
||||
TaskId int64 `json:"taskId" v:"required#任务id不能为空" dc:"任务Id"`
|
||||
AreaId int64 `json:"areaId" dc:"大区Id"`
|
||||
GameId int64 `json:"gid" v:"required#游戏id不能为空" dc:"游戏Id"`
|
||||
RoleIdx string `json:"roleIdx" dc:"角色索引"`
|
||||
RewradType []int64 `json:"rewardType" v:"required#奖励类型不能为空" dc:"奖励类型"`
|
||||
}
|
||||
|
||||
type GetLiftRes struct {
|
||||
List interface{} `json:"list" dc:"物品列表"`
|
||||
Result int64 `json:"result" dc:"1-奖励发放成功,2-奖励兑换失败(礼包发放背包环节成功,需要重新引导领奖)3-针对只需要发背包,然后引导用户到人生应用背包领奖的奖励类型,发奖成功了,4-water错误(一般是orderid),不做兑换操作"`
|
||||
Water *Water `json:"water" dc:"礼包列表"`
|
||||
}
|
||||
|
||||
type Water struct {
|
||||
}
|
||||
|
||||
type GetGoodsListReq struct {
|
||||
g.Meta `path:"/reward/goods" method:"get" tags:"Reward" summary:"(tencent)获取物品列表"`
|
||||
Appfilter string `json:"appfilter" dc:"按照gid过滤游戏"`
|
||||
BigTime int64 `json:"bigTime" v:"required#大时间不能为空" dc:"大时间:如果要控制时间范围,大的时间传这里"`
|
||||
Pageidx string `json:"pageidx" dc:"分页索引"`
|
||||
Num int64 `json:"num" v:"required#数量不能为空" dc:"数量"`
|
||||
OrderType string `json:"orderType" dc:"winningtime:根据获取时间排序 overduetime:根据过期时间排序"`
|
||||
OrderbyDesc int64 `json:"orderbDesc" dc:"1:降序 2:升序"`
|
||||
Goodsstatus int64 `json:"Goodsstatus" dc:"查询的物品状态:0:查所有 2是已发放(成功和失败),4是未发放且未过期,6是未发放且已过期"`
|
||||
}
|
||||
|
||||
type GetGoodsListRes struct {
|
||||
List interface{} `json:"list" dc:"物品列表"`
|
||||
Pageidx string `json:"pageidx" dc:"分页索引"`
|
||||
Total int64 `json:"total" dc:"总数"`
|
||||
}
|
||||
|
||||
type GetGoodsReq struct {
|
||||
g.Meta `path:"/reward/getGoods" method:"post" tags:"Reward" summary:"物品兑换"`
|
||||
Water Water `json:"water" v:"required#物品流水,从背包列表获取的water透传回来(water类型参考GetGift接口的water结构)" dc:"礼包列表"`
|
||||
AreaId int64 `json:"areaId" dc:"大区Id"`
|
||||
GameId int64 `json:"gid" v:"required#游戏id不能为空" dc:"游戏Id"`
|
||||
RoleIdx string `json:"roleIdx" dc:"角色索引"`
|
||||
}
|
||||
type GetGoodsRes struct {
|
||||
Water Water `json:"water" dc:"用户领取物品流水记录"`
|
||||
}
|
||||
|
||||
type GetGoodsDetailsReq struct {
|
||||
g.Meta `path:"/reward/goodsDetails" method:"post" tags:"Reward" summary:"物品详情"`
|
||||
Winningtime int64 `json:"winningtime" dc:"用户领取礼包时间"`
|
||||
Orderid string `json:"orderid" v:"required#流水订单id不能为空" dc:"用户领取流水订单id"`
|
||||
IsActinfo int64 `json:"IsActinfo" dc:"是否需要活动相关信息 0:默认需要 1:不需要"`
|
||||
IsDocument int64 `json:"isDocument" dc:"是否需要文案信息,使用限制信息、代金券图片、使用方式 0:默认需要 1:不需要"`
|
||||
IsDetail int64 `json:"isDetail" dc:"是否需要物品详情 0:默认需要 1:不需要"`
|
||||
}
|
||||
type GetGoodsDetailsRes struct {
|
||||
Water *Water `json:"water" dc:"流水信息"`
|
||||
}
|
||||
|
||||
@ -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
|
||||
}
|
||||
|
||||
14
internal/controller/reward/reward_v1_get_goods.go
Normal file
14
internal/controller/reward/reward_v1_get_goods.go
Normal 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)
|
||||
}
|
||||
26
internal/controller/reward/reward_v1_get_goods_details.go
Normal file
26
internal/controller/reward/reward_v1_get_goods_details.go
Normal 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
|
||||
}
|
||||
30
internal/controller/reward/reward_v1_get_goods_list.go
Normal file
30
internal/controller/reward/reward_v1_get_goods_list.go
Normal 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
|
||||
}
|
||||
28
internal/controller/reward/reward_v1_get_lift.go
Normal file
28
internal/controller/reward/reward_v1_get_lift.go
Normal 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
|
||||
}
|
||||
@ -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
|
||||
}
|
||||
|
||||
@ -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:"用户领取物品流水记录"`
|
||||
}
|
||||
|
||||
@ -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)
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user