package v1 import ( "github.com/gogf/gf/v2/frame/g" "github.com/gogf/gf/v2/os/gtime" ) type ListReq struct { g.Meta `path:"/reward" method:"get" tags:"Backend/Reward" summary:"(系统、商户、门店后台)获取奖励列表"` Name string `json:"name" dc:"名称"` Page int `json:"page" dc:"页数"` Size int `json:"size" dc:"每页数量"` Status int `json:"status" dc:"状态"` StoreId int64 `json:"storeId" dc:"门店ID"` RewardTypeId int64 `json:"rewardTypeId" dc:"奖励类型ID"` } type ListInternetChargeReq struct { g.Meta `path:"/reward/internetCharge" method:"get" tags:"Backend/Reward" summary:"(系统、商户、门店后台)获取网费奖励列表"` Name string `json:"name" dc:"名称"` Page int `json:"page" dc:"页数"` Size int `json:"size" dc:"每页数量"` Status int `json:"status" dc:"状态"` StoreId int64 `json:"storeId" dc:"门店ID"` RewardTypeId int64 `json:"rewardTypeId" dc:"奖励类型ID"` } type ListRes struct { List interface{} `json:"list" dc:"奖励列表"` Total int `json:"total" dc:"总数"` } type CreateReq struct { g.Meta `path:"/reward" method:"post" tags:"Backend/Reward" summary:"(系统、商户、门店后台)创建奖励"` StoreId int64 `json:"storeId" dc:"门店ID"` Name string `json:"name" v:"required#名称不能为空" dc:"名称"` RewardTypeId int64 `json:"rewardTypeId" v:"required#奖励类型ID不能为空" dc:"奖励类型ID"` GameId int64 `json:"gameId" dc:"游戏ID"` RewardImg string `json:"rewardImg" dc:"奖励图片"` QQGoodsId string `json:"qqGoodsId" dc:"QQ网吧物品ID"` QQGoodsIdStr string `json:"qqGoodsIdStr" dc:"QQ网吧物品ID字符串"` Status int `json:"status" dc:"状态" d:"1:启用 2:禁用"` ExpireType int `json:"expireType" v:"required#过期类型只能为1或2" dc:"过期类型"` ValidFrom *gtime.Time `json:"validFrom" dc:"有效开始时间(expire_type=1 时使用)"` ValidTo *gtime.Time `json:"validTo" dc:"有效结束时间(expire_type=1 时使用)"` ExpireDays int `json:"expireDays" dc:"领取后多少天过期"` DailyTotalLimit int `json:"dailyTotalLimit" v:"required#每日领取总次数限制" dc:"每日领取总次数限制"` TotalLimit int `json:"totalLimit" v:"required#奖励总限不能为空" dc:"领取总次数限制"` UserDailyLimit int `json:"userDailyLimit" v:"required#用户每日领取总次数限制" dc:"用户每日领取总次数限制"` UserTotalLimit int `json:"userTotalLimit" v:"required#用户领取总次数限制" dc:"用户领取总次数限制"` GrantQuantify int `json:"grantQuantify" dc:"发放数量"` Source int `json:"source" v:"required#来源不能为空" dc:"来源" d:"1"` } type CreateRes struct { Success bool `json:"success" dc:"是否成功"` } type UpdateReq struct { g.Meta `path:"/reward" method:"put" tags:"Backend/Reward" summary:"(系统、商户、门店后台)更新奖励"` Id int64 `json:"id" v:"required#id不能为空" dc:"ID"` Name string `json:"name" dc:"名称"` RewardType int `json:"rewardType" dc:"奖励类型"` GameId int64 `json:"gameId" dc:"游戏id"` Img string `json:"img" dc:"图片"` QQGoodsId string `json:"qqGoodsId" dc:"qq商品id"` QQGoodsIdStr string `json:"qqGoodsIdStr" dc:"qq商品id"` Status int `json:"status" dc:"状态" d:"1"` ExpireType int `json:"expireType" dc:"过期类型" d:"1"` ValidFrom *gtime.Time `json:"validFrom" dc:"有效开始时间(expire_type=1 时使用)"` ValidTo *gtime.Time `json:"validTo" dc:"有效结束时间(expire_type=1 时使用)"` ExpireDays int `json:"expireDays" dc:"领取后多少天过期"` DailyTotalLimit int `json:"dailyTotalLimit" dc:"每日领取总次数限制"` TotalLimit int `json:"totalLimit" dc:"领取总次数限制"` UserDailyLimit int `json:"userDailyLimit" dc:"用户每日领取总次数限制"` UserTotalLimit int `json:"userTotalLimit" dc:"用户领取总次数限制"` GrantQuantify int `json:"grantQuantify" dc:"发放数量"` Source int `json:"source" v:"required#来源不能为空" dc:"来源" d:"1"` } type UpdateRes struct { Success bool `json:"success" dc:"是否成功"` } type DeleteReq struct { g.Meta `path:"/reward/{id}" method:"delete" tags:"Backend/Reward" summary:"(系统、商户、门店后台)删除奖励"` Id int64 `in:"path" json:"id" v:"required#ID不能为空" dc:"ID"` Source int `json:"source" v:"required#来源不能为空" dc:"来源" d:"1"` } type DeleteRes struct { Success bool `json:"success" dc:"是否成功"` } // GiftResponse Water 外部-- type GiftResponse struct { GiftItem GiftItem `json:"rst_list"` } type GameRoleInfo struct { // FIXME } type userAddress struct { // FIXME } type WaterExtraInfo struct { // FIXME } type GoodsType struct { // FIXME } type GoodsDisplayType struct { // FIXME } type MerchantInfo struct { // FIXME } type GoodsExtraInfo struct { // FIXME } type Water struct { Uid string `json:"uid"` // 用户id UidType uint32 `json:"uidtype"` // 用户id的类型(0是openid,1是uin) WinningTime uint32 `json:"winningtime"` // 获奖时间 GoodsId uint32 `json:"goodsid"` // 物品id GoodsCfg GoodsCfg `json:"goodscfg"` // 物品配置置信息 Gid uint32 `json:"gid"` // 活动id,领取的游戏渠道 OverdueTime uint32 `json:"overduetime"` // 物品的过期时间 Status uint32 `json:"status"` // 领取状态: 0未发放,1已发放,2是已发放且失败(失败),4是未发放且未过期,6物品已过期(未发放) RecvUid string `json:"recvuid"` // 领奖的用户 id (qq号) Role GameRoleInfo `json:"role"` // 游戏角色信息 CdKey string `json:"cdkey"` // cdkey,实物的兑换码/游戏道具兑换码 WaterType uint32 `json:"watertype"` // 抽奖流水类型, 0是抽奖,1是核销,2是 tgp SrcType uint32 `json:"srctype"` // 抽奖来源类型id SrcName string `json:"srcname"` // 抽奖来源类型名称 ActId string `json:"actid"` // 活动id LotteryId uint32 `json:"lotteryid"` // 抽奖区id GiftId uint32 `json:"giftid"` // 礼包id ShopId uint32 `json:"shopid"` // 门店id Extra string `json:"extra"` // 线下O2O相关信息 RecvTime uint32 `json:"recvtime"` // 领取时间 Code string `json:"code"` // 核销码 TransEq string `json:"traneq"` // 交易流水号 Filter1 string `json:"filter1"` // 用于筛选流水记录的业务自定义条件1 Filter2 string `json:"filter2"` // 用于筛选流水记录的业务自定义条件2 UserAddrType uint32 `json:"useraddrtype"` // 用户地址类型 (1是默认地址, 2是用户确认后地址)——仅面向邮寄的物品使用 UserAddr userAddress `json:"useraddr"` // 用户地址信息——仅面向类型的物品使用 Cltip string `json:"cltip"` // 用户领奖ip Bsave uint32 `json:"bsave"` // 是否保存到物品表 SaveType uint32 `json:"savetype"` // 0表示用户积分流水, 1表示用户物品表,2表示折扣券 Sid uint32 `json:"sid"` // 用户流水id,和uid1共同确定一个物品 NeedPoints uint32 `json:"needpoints"` // 物品消耗的钱 ExtraInfo WaterExtraInfo `json:"extrainfo"` // 其余信息 AppFilter string `json:"appfilter"` // 业务拓展数据,王者人生为空 OrderId string `json:"orderid"` // 订单id,唯一标记一条流水 MercId string `json:"mercid"` // 商家 id TipOpenId string `json:"tipopenid"` // 游戏人生openid GoodsIdStr string `json:"goods_id_str"` // 字符串类型Goods id GiftIdStr string `json:"gift_id_str"` // 字符串类型Gift id LottIdStr string `json:"lott_id_str"` // 字符串类型Lott id } type GoodsCfg struct { GoodsId uint32 `json:"goodsid"` // 物品id Gid uint32 `json:"gid"` // 游戏id GoodsType GoodsType `json:"goodstype"` // 物品类型 Maid string `json:"maid"` // ma单号 Each uint32 `json:"each"` // 每次发奖的数量 GoodsName string `json:"goodsname"` // 物品名称 GoodsDetail string `json:"goodsdetail"` // 物品说明信息 OverdueTime uint32 `json:"overduetime"` // 物品的过期时间 Status uint32 `json:"status"` // 物品状态 0-下线 1-上线 GoodsIcon string `json:"goodsicon"` // 物品图片地址 Provider string `json:"provider"` // 物品提供方名称 RecvWay string `json:"recvway"` // 领取方式 RecvWayUrl string `json:"recvwayurl"` // 领取方式详情url MailUrl string `json:"mailurl"` // 邮寄地址url DisplayType GoodsDisplayType `json:"displaytype"` // 物品展示类型(枚举或自定义类型) Merchant MerchantInfo `json:"merchant"` // 商家信息(需另外定义) Extra GoodsExtraInfo `json:"extra"` // 其它信息(需另外定义) GoodsIdStr string `json:"goods_id_str"` // 字符串类型的物品ID AppId string `json:"app_id"` // 所属业务ID ActId string `json:"act_id"` // 活动ID } type GiftItem struct { Result int `json:"result"` // 1-奖励发放成功,2-奖励兑换失败(礼包发放背包环节成功,需要重新引导领奖) 3-针对只需要发背包,然后引导用户到人生应用背包领奖的奖励类型,发奖成功了 4-water错误(一般是orderid),不做兑换操作 Water Water `json:"water"` // 礼包列表数据 } type CallbackReq struct { g.Meta `path:"/reward/callback" method:"post" tags:"Reward" summary:"(tencent)回调"` Uid string `json:"Uid" dc:"用户id"` OrderId string `json:"order_id" dc:"用户领取流水订单"` PrizeChannelId string `json:"prize_channel_id" dc:"奖品渠道id"` PrizeId string `json:"prize_id"` PrizeType uint32 `json:"prize_type"` PrizeSubType uint32 `json:"prize_sub_type"` Num uint32 `json:"num"` CustomInfo string `json:"custom_info"` } type CallbackData struct { PrizeCode string `json:"prize_code"` Comment string `json:"comment"` } type CallbackRes struct { Errcode int32 `json:"errcode"` Errmsg string `json:"errmsg"` AppId string `json:"appid"` OrderId string `json:"order_id"` //Datas []CallbackData `json:"data"` Datas interface{} `json:"data"` } type GetLiftReq struct { g.Meta `path:"/reward/getLift" method:"post" tags:"PC/Reward" summary:"(PC)奖励领取"` RewardType int `json:"rewardType" dc:"奖励类型"` RewardId int `json:"rewardId" v:"required#奖励id不能为空" dc:"奖励id"` PopenId string `json:"popenId" v:"required#popenId不能为空" dc:"popenId不能为空"` Source int `json:"source" v:"required#来源不能为空" dc:"来源,1:系统 2:门店"` TaskId string `json:"taskId" v:"required#任务id不能为空" dc:"任务Id"` GameId int `json:"gameId" v:"required#游戏id不能为空" dc:"游戏Id"` BindType int `json:"bindType" v:"required#绑定类型不能为空" dc:"绑定类型"` AreaId int `json:"areaId" dc:"大区Id"` RoleIdx string `json:"roleIdx" dc:"角色索引"` UserTaskId int `json:"userTaskId" v:"required#用户任务记录id不能为空" dc:"用户任务记录"` GameCode string `json:"gameCode" v:"required#游戏code不能为空" dc:"游戏Code"` Id int64 `in:"path" json:"id" v:"required#ID不能为空" dc:"ID"` } type GetLiftRes struct { //List interface{} `json:"list" dc:"物品列表"` Result int64 `json:"result" dc:"1-奖励发放成功,2-奖励兑换失败(礼包发放背包环节成功,需要重新引导领奖)3-针对只需要发背包,然后引导用户到人生应用背包领奖的奖励类型,发奖成功了,4-water错误(一般是orderid),不做兑换操作"` //Water Water `json:"water" dc:"礼包列表"` Url string `json:"url" dc:"不为空时需要打开物品背包链接"` } type GetLiftNewRes struct { //List interface{} `json:"list" dc:"物品列表"` Result int64 `json:"result" dc:"1-奖励发放成功,2-奖励兑换失败(礼包发放背包环节成功,需要重新引导领奖)3-针对只需要发背包,然后引导用户到人生应用背包领奖的奖励类型,发奖成功了,4-water错误(一般是orderid),不做兑换操作"` Water interface{} `json:"water" dc:"礼包列表"` } type GetGoodsListReq struct { g.Meta `path:"/reward/goods" method:"get" tags:"PC/Reward" summary:"(PC)获取物品列表"` 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是未发放且已过期"` BindType int `json:"bindType" v:"required#绑定类型不能为空" dc:"绑定类型"` } 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:"PC/Reward" summary:"(PC)物品兑换"` 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:"PC/Reward" summary:"(PC)物品详情"` 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:不需要"` PopenId string `json:"popenId" v:"required#popenId不能为空" dc:"popenId不能为空"` Gid int `json:"gid" v:"required#游戏id不能为空" dc:"游戏Id"` } type GetGoodsDetailsRes struct { Water interface{} `json:"water" dc:"流水信息"` } type OperateTaskRewardReq struct { g.Meta `path:"/reward/taskReward" method:"post" tags:"Backend/Reward" summary:"(系统管理员、商户管理员、门店管理员)添加任务奖励"` Type int `json:"type" v:"required#操作类型只能为1或2,1是添加、2是删除" dc:"操作类型"` TaskId string `json:"taskId" v:"required#任务id不能为空" dc:"任务Id"` RewardId int64 `json:"rewardId" v:"required#奖励id不能为空" dc:"奖励Id"` } type OperateTaskRewardRes struct { Success bool `json:"success" dc:"是否成功"` } type GetUserRewardsCanClaimListReq struct { g.Meta `path:"/reward/canClaim" method:"get" tags:"PC/Reward" summary:"(PC)获取用户可领取的奖励列表"` StoreId int64 `json:"storeId" dc:"门店id"` NetbarAccount string `json:"netbarAccount" dc:"网吧账号"` TaskId string `json:"taskId" dc:"任务id,任务列表使用"` UserTaskId int64 `json:"userTaskId" dc:"用户任务记录id, 任务记录列表使用"` } type GetUserRewardsCanClaimListRes struct { List interface{} `json:"list"` Total int `json:"total"` } type NetfeeCallbackReq struct { g.Meta `path:"/reward/netfeeCallback" method:"post" tags:"Reward" summary:"(8圈)回调"` OrderId string `json:"order_id"` } type NetfeeCallbackRes struct { Success bool `json:"success" dc:"是否成功"` }