exchange_activity.go 916 字节
package domain

// 兑换活动
type ExchangeActivity struct {
	ActivityId int64 `json:"activityId"` 	// 活动编号
	ExchangedCash float64 `json:"exchangedCash"`	// 已兑换的现金
	ExchangedSuMoney float64 `json:"exchangedSuMoney"`  	// 已兑换的素币
	Rate float64 `json:"rate"`   // 兑换汇率
}

type ExchangeActivityRepository interface {
	Save(activity *ExchangeActivity) (*ExchangeActivity, error)
	Remove(activity *ExchangeActivity) (*ExchangeActivity, error)
	FindOne(queryOptions map[string]interface{}) (*ExchangeActivity, error)
	Find(queryOptions map[string]interface{}) (int64, []*ExchangeActivity, error)
}

func (activity *ExchangeActivity) Identity() interface{} {
	if activity.ActivityId == 0 {
		return nil
	}
	return activity.ActivityId
}

func (activity *ExchangeActivity) TransferSuMoney(rate float64) error {
	activity.ExchangedSuMoney = activity.ExchangedCash * rate
	return nil
}