service/api/proto/zone/proto/zone_vo_op.go

58 lines
3.2 KiB
Go

package proto
import (
streamerproto "service/api/proto/streamer/proto"
zone_collaborator_proto "service/api/proto/zone_collaborator/proto"
zone_third_partner_proto "service/api/proto/zone_third_partner/proto"
"service/bizcommon/util"
"service/dbstruct"
)
type OpZoneVO struct {
*dbstruct.Zone
AdmissionPrice int64 `json:"admission_price" bson:"admission_price"` // 空间解锁价格, 单位: 分
IronfanshipPrice int64 `json:"ironfanship_price" bson:"ironfanship_price"` // 铁粉解锁价格, 单位: 分
IsSuperfanshipEnabled int `json:"is_superfanship_enabled" bson:"is_superfanship_enabled"` // 是否开启超粉空间 0: 关闭, 1: 开启
SuperfanshipPrice int64 `json:"superfanship_price" bson:"superfanship_price"` // 超粉价格, 单位: 分
SuperfanshipValidPeriod int `json:"superfanship_valid_period" bson:"superfanship_valid_period"` // 超粉有效期类型, SuperfanshipValidPeriod*
IsSuperfanshipGiveWechat int `json:"is_superfanship_give_wechat" bson:"is_superfanship_give_wechat"` // 是否开启超粉空间赠送微信 0: 不赠送, 1: 赠送
StreamerExt *streamerproto.OpListExtVO `json:"streamer_ext"` // 主播信息
ZoneThirdPartner *zone_third_partner_proto.ZoneThirdPartnerApiVO `json:"zone_third_partner"` // 代运营
ZoneCollaboratorList []*zone_collaborator_proto.ZoneCollaboratorApiVO `json:"zone_collaborator_list"` // 协作者
EntrantNum int64 `json:"entrant_num"` // 空间总人数
IronfanNum int64 `json:"ironfan_num"` // 铁粉总人数
SuperfanNum int64 `json:"superfan_num"` // 超粉总人数
}
func (vo *OpZoneVO) GetMid() int64 {
if vo != nil && vo.Zone != nil {
return util.DerefInt64(vo.Zone.Mid)
}
return 0
}
func (vo *OpZoneVO) CopyZone(zone *dbstruct.Zone) {
if zone != nil {
vo.Zone = zone
}
}
func (vo *OpZoneVO) CopyStreamerExt(streamerExt streamerproto.StreamerExtVO) {
if streamerExt != nil {
if opStreamerExt, ok := streamerExt.(*streamerproto.OpListExtVO); ok {
vo.StreamerExt = opStreamerExt
}
}
}
func (vo *OpZoneVO) CopyZoneVas(zv *dbstruct.ZoneVas) {
if zv != nil {
vo.AdmissionPrice = zv.AdmissionPrice
vo.IronfanshipPrice = zv.IronfanshipPrice
vo.IsSuperfanshipEnabled = zv.IsSuperfanshipEnabled
vo.SuperfanshipPrice = zv.SuperfanshipPrice
vo.SuperfanshipValidPeriod = zv.SuperfanshipValidPeriod
vo.IsSuperfanshipGiveWechat = zv.IsSuperfanshipGiveWechat
}
}