go-common/app/interface/main/creative/model/elec/elec.go
2019-04-22 18:49:16 +08:00

212 lines
5.1 KiB
Go

package elec
import (
"encoding/json"
"time"
xtime "go-common/library/time"
)
// UserState user elec state.
type UserState struct {
ID string `json:"-"`
Mid string `json:"mid"`
State string `json:"state"`
Reason string `json:"reason"`
Count string `json:"-"`
CTime string `json:"-"`
MTime string `json:"-"`
}
// UserInfo user elec info.
type UserInfo struct {
ID int64 `json:"-"`
Mid int64 `json:"mid"`
State int16 `json:"state"`
Reason string `json:"reason"`
Count int16 `json:"-"`
CTime xtime.Time `json:"-"`
MTime xtime.Time `json:"-"`
}
// ArcState arc elec info.
type ArcState struct {
Show bool `json:"show"`
State int16 `json:"state"`
Total int `json:"total"`
Count int `json:"count"`
Reason string `json:"reason"`
List json.RawMessage `json:"list,omitempty"`
User json.RawMessage `json:"user,omitempty"`
}
// Notify up-to-date info to user
type Notify struct {
Content string `json:"content"`
}
// EleRelation get elec relation.
type EleRelation struct {
RetList []struct {
Mid int64 `json:"mid"`
IsElec bool `json:"is_elec"`
} `json:"ret_list"`
}
// Status elec setting.
type Status struct {
Specialday int8 `json:"display_specialday"`
}
// Rank up rank.
type Rank struct {
MID int64 `json:"mid"`
PayMID int64 `json:"pay_mid"`
Rank int64 `json:"rank"`
Uname string `json:"uname"`
Avatar string `json:"avatar"`
IsFriend bool `json:"isfriend"`
MTime string `json:"mtime"`
}
// BillList daily bill list.
type BillList struct {
List []*Bill `json:"list"`
TotalCount int `json:"totalCount"`
Pn int `json:"pn"`
Ps int `json:"ps"`
}
// Bill bill detail.
type Bill struct {
ID int64 `json:"id"`
MID int64 `json:"mid"`
ChannelType int8 `json:"channelType"`
ChannelTyName string `json:"channelTypeName"`
AddNum float32 `json:"addNum"`
ReduceNum float32 `json:"reduceNum"`
WalletBalance float32 `json:"walletBalance"`
DateVersion string `json:"dateVersion"`
Weekday string `json:"weekday"`
Remark string `json:"remark"`
MonthBillResp *MonthBill `json:"monthBillResp"`
}
// MonthBill month bill.
type MonthBill struct {
LastMonthNum float32 `json:"last_month_num"`
ServiceNum float32 `json:"service_num"`
BkNum float32 `json:"bk_num"`
}
// Balance get battery balance.
type Balance struct {
Ts string `json:"ts"`
BrokerageAudit int8 `json:"brokerage_audit"`
BpayAcc *BpayAccount `json:"bpay_account"`
Wallet *Wall `json:"wallet"`
}
// BpayAccount shell detail.
type BpayAccount struct {
Brokerage float32 `json:"brokerage"`
DefaultBp float32 `json:"default_bp"`
}
// Wall wallet detail.
type Wall struct {
MID int64 `json:"mid"`
Balance float32 `json:"balance"`
SponsorBalance float32 `json:"sponsorBalance"`
Ver int32 `json:"-"`
}
// ChargeBill daily bill for app charge.
type ChargeBill struct {
List []*Bill `json:"list"`
Pager struct {
Current int `json:"current"`
Size int `json:"size"`
Total int `json:"total"`
} `json:"pager"`
}
// RecentElec recent detail for app.
type RecentElec struct {
AID int64 `json:"aid"`
MID int64 `json:"mid"`
ElecNum float32 `json:"elec_num"`
Title string `json:"title"`
Uname string `json:"uname"`
Avatar string `json:"avatar"`
OrderNO string `json:"-"`
CTime string `json:"ctime"`
}
// RecentElecList recent list for app.
type RecentElecList struct {
List []*RecentElec `json:"list"`
Pager struct {
Current int `json:"current"`
Size int `json:"size"`
Total int `json:"total"`
} `json:"pager"`
}
// RemarkList remark list.
type RemarkList struct {
List []*Remark `json:"list"`
Pager struct {
Current int `json:"current"`
Size int `json:"size"`
Total int `json:"total"`
} `json:"pager"`
}
// Remark remark detail.
type Remark struct {
ID int64 `json:"id"`
AID int64 `json:"aid"`
MID int64 `json:"mid"`
ReplyMID int64 `json:"reply_mid"`
ElecNum int64 `json:"elec_num"`
State int8 `json:"state"`
Msg string `json:"msg"`
ArcName string `json:"aname"`
Uname string `json:"uname"`
Avator string `json:"avator"`
ReplyName string `json:"reply_name"`
ReplyAvator string `json:"reply_avator"`
ReplyMsg string `json:"reply_msg"`
CTime xtime.Time `json:"ctime"`
ReplyTime xtime.Time `json:"reply_time"`
}
// Earnings for elec.
type Earnings struct {
State int8 `json:"state"`
Balance float32 `json:"balance"`
Brokerage float32 `json:"brokerage"`
}
// Weekday get day.
func Weekday(t time.Time) (w string) {
switch t.Weekday().String() {
case "Monday":
w = "周一"
case "Tuesday":
w = "周二"
case "Wednesday":
w = "周三"
case "Thursday":
w = "周四"
case "Friday":
w = "周五"
case "Saturday":
w = "周六"
case "Sunday":
w = "周日"
}
return
}