Files
arenax-server/internal/model/reward.go

225 lines
9.3 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package model
import (
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/os/gtime"
)
// Reward 奖励表
type Reward struct {
g.Meta `orm:"table:rewards"`
Id int64 `json:"id" orm:"id" description:"奖励ID"` // 奖励ID
StoreId int64 `json:"storeId" orm:"store_id" description:"门店ID系统奖励为NULL"` // 门店ID系统奖励为NULL
Name string `json:"name" orm:"name" description:"奖励名称"` // 奖励名称
RewardTypeId int64 `json:"rewardTypeId" orm:"reward_type_id" description:"奖励类型ID关联 reward_types 表"` // 奖励类型ID关联 reward_types 表
RewardTypeName string `json:"rewardTypeName" orm:"reward_type_name" description:"奖励类型名称"` // 奖励类型名称
Source int `json:"source" orm:"source" description:"奖励来源,1=系统奖励对接腾讯2=门店追加"` // 奖励来源,1=系统奖励对接腾讯2=门店追加
GameId int64 `json:"gameId" orm:"game_id" description:"游戏ID"` // 游戏ID
ImageUrl string `json:"imageUrl" orm:"image_url" description:"奖励图片链接"` // 奖励图片链接
QqGoodsId string `json:"qqGoodsId" orm:"qq_goods_id" description:"QQ网吧物品ID"` // QQ网吧物品ID
QqGoodsIdStr string `json:"qqGoodsIdStr" orm:"qq_goods_id_str" description:"QQ网吧物品ID字符串"` // QQ网吧物品ID字符串
Status int `json:"status" orm:"status" description:"状态1=启用2=禁用"` // 状态1=启用2=禁用
ExpireType int `json:"expireType" orm:"expire_type" description:"过期方式1=时间段过期2=领取后过期"` // 过期方式1=时间段过期2=领取后过期
ValidFrom *gtime.Time `json:"validFrom" orm:"valid_from" description:"有效期开始时间expire_type=1时"` // 有效期开始时间expire_type=1时
ValidTo *gtime.Time `json:"validTo" orm:"valid_to" description:"有效期结束时间expire_type=1时"` // 有效期结束时间expire_type=1时
ExpireDays int `json:"expireDays" orm:"expire_days" description:"领取后多少天过期expire_type=2时"` // 领取后多少天过期expire_type=2时
DailyTotalLimit uint64 `json:"dailyTotalLimit" orm:"daily_total_limit" description:"每日发放总限NULL表示不限制"` // 每日发放总限NULL表示不限制
TotalLimit uint64 `json:"totalLimit" orm:"total_limit" description:"奖励总限NULL表示不限制"` // 奖励总限NULL表示不限制
UserDailyLimit uint64 `json:"userDailyLimit" orm:"user_daily_limit" description:"用户每日领取限制NULL表示不限制"` // 用户每日领取限制NULL表示不限制
UserTotalLimit uint64 `json:"userTotalLimit" orm:"user_total_limit" description:"用户领取总次数限制NULL表示不限制"` // 用户领取总次数限制NULL表示不限制
ReceivedNum uint64 `json:"receivedNum" orm:"received_num" description:"已领取数量"` // 已领取数量
GrantQuantity uint64 `json:"grantQuantity" orm:"grant_quantity" description:"每次发放个数"` // 每次发放个数
CreatedAt *gtime.Time `json:"createdAt" orm:"created_at" description:"创建时间"` // 创建时间
UpdatedAt *gtime.Time `json:"updatedAt" orm:"updated_at" description:"更新时间"` // 更新时间
DeletedAt *gtime.Time `json:"deletedAt" orm:"deleted_at" description:"删除时间(软删除)"` // 删除时间(软删除)
}
// RewardCreateIn 创建奖励入参
type RewardCreateIn struct {
OperatorId int64
OperatorRole string
StoreId int64
Name string
RewardTypeId int64
GameId int64
Img string
QQGoodsId string
QQGoodsIdStr string
Status int
ExpireType int
ExpireDays int
ValidFrom *gtime.Time
ValidTo *gtime.Time
DailyTotalLimit int64
TotalLimit int64
UserDailyLimit int64
UserTotalLimit int64
GrantQuantity int64
Source int
}
// RewardCreateOut 创建奖励出参
type RewardCreateOut struct {
Success bool `json:"success" dc:"是否成功"`
}
// RewardUpdateIn 更新奖励入参
type RewardUpdateIn struct {
Id int64
OperatorId int64
OperatorRole string
Name string
RewardTypeId int64
GameId int64
Img string
QQGoodsId string
QQGoodsIdStr string
Status int
ExpireType int
ExpireDays int
ValidFrom *gtime.Time
ValidTo *gtime.Time
DailyTotalLimit int64
TotalLimit int64
UserDailyLimit int64
UserTotalLimit int64
GrantQuantity int64
Source int
}
// RewardUpdateOut 更新奖励出参
type RewardUpdateOut struct {
Success bool
}
// RewardDeleteIn 删除奖励入参
type RewardDeleteIn struct {
Id int64
OperatorId int64
OperatorRole string
Source int
}
// RewardDeleteOut 删除奖励出参
type RewardDeleteOut struct {
Success bool
}
// RewardListIn 奖励列表查询入参
type RewardListIn struct {
OperatorId int64
OperatorRole string
Page int
Size int
Name string
StoreId int64
RewardTypeId int64
Status int
}
// RewardListOut 奖励列表查询出参
type RewardListOut struct {
List []Reward
Total int
}
// RewardCallbackIn 任务奖励领取回调入参
type RewardCallbackIn struct {
Uid string `json:"uid" ` // 用户账号
OrderId string `json:"orderId"` // 订单号必须保证全局唯一(保证接口幂等)
PrizeChannelId string `json:"prizeChannelId"` // 券渠道 ID
PrizeId string `json:"prizeId"` // 券 ID
PrizeType int `json:"prizeType"` // 奖励类型1 网鱼积分2 网鱼经验值3 网鱼兑换码
PrizeSubType int `json:"prizeSubType"` // 奖励子类型,默认为 0有多种子类型时可用如 1,5 元网费充值券2、满 30-5 满减券等
Num int `json:"num"` // 奖励个数,默认 1比如经验值 10
CustomInfo string `json:"customInfo"` // 透传字段 (json串)
AppId string `json:"appId"` // 业务 id
}
type RewardCallbackOut struct {
Errcode int32 `json:"errcode"`
Errmsg string `json:"errmsg"`
AppId string `json:"appid"`
OrderId string `json:"order_id"`
Datas []CallbackData `json:"data"`
}
type CallbackData struct {
PrizeCode string `json:"prize_code"`
Comment string `json:"comment"`
}
type GetRewardIn struct {
AreaId int
GameId int
RewradTypeId int
RoleIdx string
TaskId string
PopenId string
Source int
BindType int
}
type GetRewardOut struct {
List interface{} `json:"list"`
Result int64 `json:"result"`
Water Water `json:"water"`
}
type Water struct {
}
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"`
BindType int `json:"bindType"`
UserId int64 `json:"userId"`
}
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:"角色索引"`
PopenId string `json:"popenId" dc:"用户openId"`
}
type GoodsGetOut struct {
Water Water `json:"water" dc:"用户领取物品流水记录"`
}
type GetGoodsDetailsIn struct {
WinningTime int64 `json:"winningtime" dc:"用户领取礼包时间"`
OrderId string `json:"orderid" 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" dc:"用户popenId"`
Gid int `json:"gid" dc:"游戏Id"`
}
type GetGoodsDetailsOut struct {
Goods Water `json:"goods" dc:"物品详情"`
}
type OperateTaskRewardIn struct {
OperatorId int64
OperatorRole string
TaskId int64
RewardId int64
Type int // 1: 任务添加奖励 2: 任务删除奖励
StoreId int64 // 当前操作门店, 当操作为门店或者是商户时
}
type OperateTaskRewardOut struct {
Success bool
}