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.

85 lines
4.8 KiB

package model
import (
"pure-admin/global"
"time"
)
type MissionClaim struct { //领取任务记录
MissionId uint `gorm:"type:int(11)" json:"mission_id"` //任务id
ClaimNo string `gorm:"unique;type:varchar(60);" json:"claim_no"` //领取任务编号
AchieveNum int64 `gorm:"type:int(11)" json:"achieve_num"` //已完成商品数量
CreateBy string `gorm:"size:64" json:"create_by"` //创建人
Status int `gorm:"type:tinyint(1)" json:"status"` //状态 1:已领取待发货 2:已发货 3:已收货推广中
ExpireAt time.Time `json:"expire_at"` //任务推广过期时间
Finished int `gorm:"type:tinyint(1);" json:"finished"` // 任务完成状态 0:未完成 1:已完成
OrderNum int64 `gorm:"type:int" json:"orderNum"` // 订单数
OrderMoney float64 `gorm:"type:decimal(10,2)" json:"orderMoney"` // 订单金额
RewardFinished float64 `gorm:"type:decimal(10,2)" json:"rewardFinished"` // 佣金结算
RewardUnfinished float64 `gorm:"type:decimal(10,2)" json:"rewardUnfinished"` // 在途佣金
global.MG_MODEL
}
type MissionClaimDetail struct {
global.MG_MODEL
MissionId uint `json:"mission_id"` //任务id
ClaimNo string `json:"claim_no"` //领取任务编号
AchieveNum int64 `json:"achieve_num"` //完成数
Status int `json:"status"` //状态 1:已领取待发货 2:已发货 3:已收货推广中
HireMoney float64 `gorm:"-" json:"hire_money"` //佣金
CreateBy string `json:"-"`
Influencer InfluencerUserView `gorm:"ForeignKey:UUID;References:CreateBy" json:"influencer"` //网红信息
Works []MissionClaimWorks `gorm:"ForeignKey:MissionClaimId;References:ID" json:"works"` //发布作品
Mission MissionDetail `gorm:"ForeignKey:MissionId;AssociationForeignKey:ID" json:"mission"` //关联任务
Order MissionClaimOrderInfo `gorm:"ForeignKey:MissionClaimId;AssociationForeignKey:ID" json:"order"` //任务订单
Video MissionClaimVideo `gorm:"ForeignKey:MissionClaimId;References:ID" json:"video"` //上传视频
}
type MissionClaimInfluencer struct {
global.MG_MODEL
MissionId uint `json:"mission_id"` //任务id
ClaimNo string `json:"claim_no"` //领取任务编号
AchieveNum int64 `json:"achieve_num"` //完成数
Status int `json:"status"` //状态 1:已领取待发货 2:已发货 3:已收货推广中
HireMoney float64 `gorm:"-" json:"hire_money"` //佣金
CreateBy string `json:"-"`
Influencer InfluencerUserDesc `gorm:"ForeignKey:UUID;References:CreateBy" json:"influencer"` //网红信息
Works []MissionClaimWorks `gorm:"ForeignKey:MissionClaimId;References:ID" json:"works"` //发布作品
Video MissionClaimVideo `gorm:"ForeignKey:MissionClaimId;References:ID" json:"video"` //上传视频
}
type MissionClaimInfo struct {
MissionId uint `json:"mission_id"` //任务id
ClaimNo string `json:"claim_no"` //领取任务编号
HireType int `gorm:"type:tinyint(1)" json:"hire_type"` //佣金类型 1:固定佣金 2:比例抽成
HireMoney float64 `gorm:"type:decimal(10,2);" json:"hire_money"` //hire_type==1 佣金金额
HireRatio float64 `gorm:"type:decimal(10,2);" json:"hire_ratio"` //hire_type==2 抽成比例
}
type MissionClaimSummary struct {
ClaimNo string `json:"claim_no"` //领取任务编号
Count int64 `json:"count"` //接任务数
OrderNum int64 `json:"order_num"` // 订单数
Bonus float64 `json:"bonus"` // 佣金
TransitBonus float64 `json:"transit_bonus"` // 在途佣金
FirstClaimAt time.Time `json:"first_claim_at"` //首次领取任务时间
CreateBy string `json:"create_by"` //网红ID
Influencer InfluencerUserView `json:"influencer"` //网红信息
Platform string `json:"platform"`
}
type MissionClaimView struct {
MissionId uint `json:"mission_id"` // 任务id
ClaimNo string `json:"claim_no"` // 领取任务编号
CreateBy string `json:"create_by"` // 网红uuid
User UserView `json:"user"` // 网红信息
MissionTitle string `json:"mission_title"` // 任务标题
}
func (MissionClaim) TableName() string {
return "mission_claim"
}
func (MissionClaimDetail) TableName() string {
return "mission_claim"
}