58 lines
3.2 KiB
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
|
|
}
|
|
}
|