12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- package model
- import (
- xtime "go-common/library/time"
- )
- // PriceConfig represents price config of tv vip.
- type PriceConfig struct {
- ID int32 `json:"id"` // 主键id
- Pid int32 `json:"pid"` // 父id,为空表示为原价信息
- Platform int8 `json:"platform"` // 类型: 1:tv安卓 2:公众号
- ProductName string `json:"product_name"` // 产品展示名
- ProductId string `json:"product_id"` // 产品id
- SuitType int8 `json:"suit_type"` // 适用人群: 0.所有用户 1.旧客 2.新客 3.续期旧客 4.续期新客 5.套餐旧客 6.套餐新客 10.主站vip专项
- Month int32 `json:"month"` // 月份单位
- SubType int8 `json:"sub_type"` // 订阅类型:0.其他,1.连续包月
- Price int32 `json:"price"` // 价格,pid为0表示原价,单位:分
- Selected int8 `json:"selected"` // 选中状态: 0.未选中,1.选中
- Remark string `json:"remark"` // 促销tip
- Status int8 `json:"status"` // 状态,0:有效,1:失效
- Superscript string `json:"superscript"` // 角标
- Operator string `json:"operator"` // 操作者
- OperId int64 `json:"oper_id"` // 操作者id
- Stime xtime.Time `json:"stime"` // 折扣开始时间
- Etime xtime.Time `json:"etime"` // 折扣结束时间
- Ctime xtime.Time `json:"ctime"` // 创建时间
- Mtime xtime.Time `json:"mtime"` // 最后修改时间
- }
- // PanelPriceConfig represents panel config of tv vip.
- type PanelPriceConfig struct {
- PriceConfig
- MaxNum int32 // 允许最大购买数量,-1 表示不限制
- OriginPrice int32 // 原价
- }
- // CopyFromPriceConfig copies fields from price config.
- func (pi *PanelPriceConfig) CopyFromPriceConfig(pc *PriceConfig) {
- pi.ID = pc.ID
- pi.Pid = pc.Pid
- pi.Platform = pc.Platform
- pi.ProductName = pc.ProductName
- pi.ProductId = pc.ProductId
- pi.SuitType = pc.SuitType
- pi.Month = pc.Month
- pi.SubType = pc.SubType
- pi.Price = pc.Price
- pi.Selected = pc.Selected
- pi.Remark = pc.Remark
- pi.Status = pc.Status
- pi.Superscript = pc.Superscript
- pi.Operator = pc.Operator
- pi.OperId = pc.OperId
- pi.Stime = pc.Stime
- pi.Etime = pc.Etime
- pi.Ctime = pc.Ctime
- pi.Mtime = pc.Mtime
- pi.MaxNum = 1
- }
- // IsContracted returns true if panel is contracted package.
- func (pi *PanelPriceConfig) IsContracted() bool {
- return pi.SubType == SubTypeContract
- }
- // PidOrId returns panel parent id or panel id.
- func (pi *PanelPriceConfig) PidOrId() int32 {
- if pi.Pid != 0 {
- return pi.Pid
- }
- return pi.ID
- }
|