package model

import "time"

type ResData struct {
	Message string      `bson:"message,omitempty" json:"message,omitempty"`
	Code    int         `bson:"code,omitempty" json:"code,omitempty"`
	Data    interface{} `bson:"data,omitempty" json:"data,omitempty"`
}

type OrderMsg struct {
	Id   string `bson:"_id,omitempty" json:"_id,omitempty"`
	Name string `bson:"name,omitempty" json:"name,omitempty"`
	// 金额
	Amount *int   `bson:"amount,omitempty" json:"amount,omitempty"`
	SubId  string `bson:"subId,omitempty" json:"subId,omitempty"`
	// 支付方式 0支付宝 1微信
	PayMode *int `bson:"payMode,omitempty" json:"payMode,omitempty"`
	// 订单超时,通知微信支付宝关闭订单
	ExpireTime time.Time `bson:"expireTime,omitempty" json:"expireTime,omitempty"`
	// 来源
	ModName string `bson:"modName,omitempty" json:"modName,omitempty"` //mall
	Os      string `bson:"os,omitempty" json:"os,omitempty"`
	Ip      string `bson:"ip,omitempty" json:"ip,omitempty"`

	SellerKey string //卖家唯一标识值 um、sku3d
}

func NewResData(code int, message string) *ResData {
	res := &ResData{}
	res.Code = code
	res.Message = message
	return res
}

func (r ResData) SetMessage(msg string) *ResData {
	r.Message = msg
	return &r
}

func (r ResData) SetCode(code int) *ResData {
	r.Code = code
	return &r
}

func (r ResData) SetData(data interface{}) *ResData {
	r.Data = data
	return &r
}

var (
	SUCCESS            = NewResData(2000, "成功")
	FAILD              = NewResData(4000, "失败")
	TIMEOUT            = NewResData(4001, "超时")
	DATA_FORMATE_ERROR = NewResData(4002, "格式转换异常")
)
