Files
stat_center/api/proto/channelCode.go
T
2026-05-20 16:13:58 +08:00

115 lines
5.2 KiB
Go

package proto
import (
"stat/common"
"time"
)
// 请求渠道码列表
type ListChannelCodeReq struct {
AppId *int32 `form:"appId" json:"appId" binding:"omitempty"` // appId
Channel *string `form:"channel" json:"channel" binding:"omitempty"` // 渠道
ChannelCode *string `form:"channelCode" json:"channelCode" binding:"omitempty"` // 渠道码
IsAdmin *bool `form:"isAdmin" json:"isAdmin" binding:"omitempty"` // 是否是管理员
common.Page
}
// 响应渠道码列表
type ListChannelCodeRes struct {
Total int64 `json:"total"`
List []ChannelCodeInfo `json:"list"`
}
// 渠道码信息
type ChannelCodeInfo struct {
ID string `json:"id"` // 公告id
ChannelCode string `json:"channelCode"` // 渠道码
AppId int32 `json:"appId"` // appId
AppName string `json:"appName"` // app名称
Channel string `json:"channel"` // 该渠道码所属渠道渠道
ParentChannel string `json:"parentChannel"` // 该渠道码所属渠道渠道的父渠道
// Settlement channelmod.SettlementWay `json:"settlement"` // 结算方式 cps/cpa/cpt
// DeductionStatus bool `json:"deductionStatus"` // 是否需要扣量
// DedNewRule DeductionRuleInfo `json:"dedNewRule"` // 新增扣量规则
// DedRechargeRule DeductionRuleInfo `json:"dedRechargeRule"` // 充值扣量规则
Status bool `json:"status"` // 状态 开/关
Links []string `json:"links"` // 推广链接
OpeninstallLink string `json:"openinstallLink"` // 推广链接
SharePassword string `json:"sharePassword"` // 推广链接 密码
CreatedAt time.Time `json:"createdAt"` // 创建时间
UpdatedAt time.Time `json:"updatedAt"` // 更新时间
}
// 请求添加渠道码
type AddChannelCodeReq struct {
Channel *string `form:"channel" json:"channel" binding:"required"` // 渠道
AppId *int32 `form:"appId" json:"appId" binding:"required"` // appId
ChannelCode *string `form:"channelCode" json:"channelCode" binding:"required"` // 渠道码
Status *bool `form:"status" json:"status" binding:"required"` // 状态 开/关
IsAdmin *bool `form:"isAdmin" json:"isAdmin" binding:"required"` // 是否是管理员
}
// 请求修改渠道
type UpdateChannelCodeReq struct {
Id *string `form:"id" json:"id" binding:"required"` // ID
ChannelCode *string `form:"channelCode" json:"channelCode"` // 渠道码
AppId *int32 `form:"appId" json:"appId"` // appId
Status *bool `form:"status" json:"status" ` // 状态 开/关
IsAdmin *bool `form:"isAdmin" json:"isAdmin"` // 是否是管理员
SharePassword *string `form:"sharePassword" json:"sharePassword"` // 渠道码
}
// 请求删除渠道
type DelChannelCodeReq struct {
ChannelCode *string `form:"channel" json:"channel" binding:"required"` // 渠道
AppId *int32 `form:"appId" json:"appId" binding:"required"` // appId
IsAdmin *bool `form:"isAdmin" json:"isAdmin" binding:"required"` // 是否是管理员
}
// 代理商渠道码列表请求
type ListAgentChannelCodeReq struct {
AppId *int32 `form:"appId" json:"appId" binding:"required"` // appId
ChannelCode *string `json:"channelCode"` // 渠道码
common.Page
}
// 代理商响应渠道码列表
type ListAgentChannelCodeRes struct {
Total int64 `json:"total"`
List []AgentChannelCodeInfo `json:"list"`
}
// 渠道码信息
type AgentChannelCodeInfo struct {
ChannelCode string `json:"channelCode"` // 渠道码
AppId int32 `json:"appId"` // appId
AppName string `json:"appName"` // app名称
Channel string `json:"channel"` // 该渠道码所属渠道渠道
ParentChannel string `json:"parentChannel"` // 该渠道码所属渠道渠道的父渠道
Status bool `json:"status"` // 状态 开/关
Links []string `json:"links"` // 推广链接
CreatedAt time.Time `json:"createdAt"` // 创建时间
UpdatedAt time.Time `json:"updatedAt"` // 更新时间
}
// 请求添加渠道码
type AddAgentChannelCodeReq struct {
Channel *string `form:"channel" json:"channel" binding:"required"` // 渠道
AppId *int32 `form:"appId" json:"appId" binding:"required"` // appId
ChannelCode *string `form:"channelCode" json:"channelCode" binding:"required"` // 渠道码
Status *bool `form:"status" json:"status" binding:"required"` // 状态 开/关
}
// 请求修改渠道
type UpdateAgentChannelCodeReq struct {
ChannelCode *string `form:"channelCode" json:"channelCode" binding:"required"` // 渠道码
AppId *int32 `form:"appId" json:"appId" binding:"required"` // appId
Status *bool `form:"status" json:"status" binding:"required"` // 状态 开/关
}
// 请求删除渠道
type DelAgentChannelCodeReq struct {
ChannelCode *string `form:"channel" json:"channel" binding:"required"` // 渠道码
AppId *int32 `form:"appId" json:"appId" binding:"required"` // appId
}