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.
47 lines
1.5 KiB
47 lines
1.5 KiB
package model |
|
|
|
import ( |
|
"strconv" |
|
"time" |
|
|
|
"go-common/library/log" |
|
xtime "go-common/library/time" |
|
) |
|
|
|
// UserChangeHistory 会员变动流水. |
|
type UserChangeHistory struct { |
|
ID int32 `json:"id"` // vip开通历史 |
|
Mid int64 `json:"mid"` // 用户mid |
|
ChangeType int8 `json:"change_type"` // 变更类型(1:充值开通 2:系统发放 3:活动赠送 4:重复领取扣除) |
|
ChangeTime xtime.Time `json:"change_time"` // 变更时间 |
|
OrderNo string `json:"order_no"` // 关联订单号 |
|
Days int32 `json:"days"` // 开通天数 |
|
OperatorId string `json:"operator_id"` // 操作人id |
|
Remark string `json:"remark"` // 备注 |
|
Ctime xtime.Time `json:"ctime"` // 创建时间 |
|
Mtime xtime.Time `json:"mtime"` // 修改时间 |
|
} |
|
|
|
func (uc *UserChangeHistory) orderType2ChangeType(orderType int8) int8 { |
|
var ct int8 |
|
switch orderType { |
|
case PayOrderTypeNormal: |
|
ct = UserChangeTypeRecharge |
|
case PayOrderTypeSub: |
|
ct = UserChangeTypeSystem |
|
default: |
|
log.Error("uc.CopyFromPayOrder() err(UnknownOrderType) orderType(%d)", orderType) |
|
ct = UserChangeTypeRecharge |
|
} |
|
return ct |
|
} |
|
|
|
// CopyFromPayOrder copies fields from pay order. |
|
func (uc *UserChangeHistory) CopyFromPayOrder(po *PayOrder) { |
|
uc.Mid = po.Mid |
|
uc.OrderNo = po.OrderNo |
|
uc.Days = int32(po.BuyMonths) * 31 |
|
uc.OperatorId = strconv.Itoa(int(po.Mid)) |
|
uc.ChangeTime = xtime.Time(time.Now().Unix()) |
|
uc.ChangeType = uc.orderType2ChangeType(po.OrderType) |
|
}
|
|
|