You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

116 lines
5.8 KiB

package response
import (
"pure/model"
"time"
)
type MissionClaimView struct {
ID uint `json:"id"` //ID
ClaimNo string `json:"claim_no"` //领取任务编号
MissionId uint `json:"mission_id"` //任务id
AchieveNum int64 `json:"achieve_num"` //已完成商品数量
Status int `json:"status"` //状态 1:已领取待发货 2:已发货 3:已收货推广中
SpreadUrl string `json:"spread_url"` //推广链接
HireType int `json:"hire_type"` //佣金类型 1:固定佣金 2:比例抽成
HireMoneyExpect string `json:"hire_money_expect"` //预计佣金描述
EndTime *time.Time `json:"end_time"` //任务结束时间
ExpireAt time.Time `json:"expire_at"` //任务推广过期时间
CollectStatus bool `gorm:"-" json:"collect_status"` //收藏状态 true:已收藏 false:未收藏
Goods MissionGoodsView `json:"goods"`
}
type MissionCollectView struct {
ID uint `json:"id"` //ID
MissionId uint `json:"mission_id"` //任务id
AchieveNum int64 `json:"achieve_num"` //已完成商品数量
TotalBonus float64 `json:"total_bonus"`
Status int `json:"status"`
HireType int `json:"hire_type"` //佣金类型 1:固定佣金 2:比例抽成
HireMoneyExpect string `json:"hire_money_expect"` //预计佣金描述
Goods MissionGoodsView `json:"goods"`
}
type MissionGoodsView struct {
GoodsId uint `json:"goods_id"`
SpuNo string `json:"spu_no"` //编号
Title string `json:"title"` //标题
TitleEng string `json:"title_eng"` //英文标题
Images string `json:"images"` //图片
Price float64 `gorm:"type:decimal(10,2);" json:"price_min"` //最低规格价格
SkuNo string `json:"sku_no"` //sku编号
}
type MissionRecommendView struct {
ID uint `json:"id"` //ID
MissionId uint `json:"mission_id"` //任务id
AchieveNum int64 `json:"achieve_num"` //已完成商品数量
TotalBonus float64 `json:"total_bonus"`
Status int `json:"status"`
HireType int `json:"hire_type"` //佣金类型 1:固定佣金 2:比例抽成
HireMoneyExpect string `json:"hire_money_expect"` //预计佣金描述
Goods MissionGoodsView `json:"goods"`
Tags string `json:"tags"`
}
type MissionRecommendResponse struct {
model.MissionRecommend
MissionVideoCommonData
}
type MissionVideoResponse struct {
ID uint `json:"id"`
MissionVideoCommonData
}
type MissionVideoCommonData struct {
MissionId uint `json:"mission_id"` //任务ID
VideoUrl string `json:"video_url"` //视频地址
Cover string `json:"cover"` //封面
Title string `json:"title"` //任务标题
GoodsTitle string `json:"goods_title"` //商品标题
GoodsTitleEng string `json:"goods_title_eng"` //商品英文标题
Influencer model.UserSimple `json:"influencer"`
//todo 标签系统
Tag string `json:"tag"`
MissionStatus int `json:"mission_status"` //任务状态
StartTime *time.Time `json:"start_time"` //任务起始时间
EndTime *time.Time `json:"end_time"` //任务结束时间
HireType int `json:"hire_type"` //佣金类型 1:固定佣金 2:比例抽成
HireMoney float64 `json:"hire_money"` //hire_type==1 佣金金额
HireRatio float64 `json:"hire_ratio"` //hire_type==2 抽成比例
HireMoneyExpect string `gorm:"-" json:"hire_money_expect"` //预计佣金描述
ReleaseCountry string `gorm:"-" json:"release_country"` //发布国家
ReleaseChannels string `gorm:"-" json:"release_channels"` //发布渠道
AchieveNum int64 `json:"achieve_num"` //已完成商品数量
TotalBonus float64 `json:"total_bonus"` //累计奖励
BoughtNum float64 `json:"bought_num"` //购买人数
Width int `json:"width"` //宽度
Height int `json:"height"` //高度
ClaimNum int64 `json:"claim_num"` //任务领取人数
}
type SysMissionBonus struct {
VideoBonus SysBonusDetail `json:"video_bonus"` //视频上传
TotalBonus float64 `json:"total_bonus"` //奖励汇总金额
Total int64 `json:"total"` //奖励总笔数
}
type SysBonusDetail struct {
model.SysMissionBonus
Title string `json:"title"` //标题
AchieveMax int64 `json:"achieve_max"` //最大完成次数
MissionList []SysMissionDesc `json:"mission_list"` //任务列表
}
type SysMissionDesc struct {
Title string `json:"title"` //任务标题
Bonus float64 `json:"bonus"` //奖励金额
Description string `json:"description"` //描述
AchieveNum int `json:"achieve_num"`
Status int `json:"status"` //状态 1待发放 2已发放 3已领取 0未完成
TitleEng string `json:"title_eng"` //任务标题英文
DescriptionEng string `json:"description_eng"` //描述英文
}