84 lines
1.8 KiB
Go
84 lines
1.8 KiB
Go
package export
|
|
|
|
import (
|
|
"excel_export/data"
|
|
"time"
|
|
)
|
|
|
|
type Order struct {
|
|
OrderNumber string
|
|
ResellerId int64
|
|
ResellerName string
|
|
ResellerOrderNumber string
|
|
Amount float32
|
|
Account string
|
|
Quantity int
|
|
Status int
|
|
PayStatus int
|
|
OursProductId int
|
|
OursProductTitle string
|
|
Remark string
|
|
CreateTime string
|
|
FinishTime string
|
|
}
|
|
|
|
func TransformOrder(order data.Order) *Order {
|
|
return &Order{
|
|
OrderNumber: order.OrderNumber,
|
|
ResellerId: order.ResellerId,
|
|
ResellerName: order.Reseller.Name,
|
|
ResellerOrderNumber: order.ResellerOrderNumber,
|
|
Amount: order.Amount,
|
|
Account: order.Account,
|
|
Quantity: order.Quantity,
|
|
Status: order.Status,
|
|
PayStatus: order.PayStatus,
|
|
CreateTime: time.Unix(order.CreateTime, 0).Format("2006-01-02 15:04:05"),
|
|
FinishTime: time.Unix(order.FinishTime, 0).Format("2006-01-02 15:04:05"),
|
|
OursProductId: order.Item.OursProductId,
|
|
OursProductTitle: order.Item.OursProductTitle,
|
|
Remark: order.Remark.Remark,
|
|
}
|
|
}
|
|
|
|
func NewOrder(data []data.Order) Orders {
|
|
o := make([]*Order, len(data))
|
|
for i, v := range data {
|
|
o[i] = TransformOrder(v)
|
|
}
|
|
return o
|
|
}
|
|
|
|
type Orders []*Order
|
|
|
|
func (o Orders) Title() []string {
|
|
return []string{
|
|
"订单号",
|
|
"分销商ID",
|
|
"分销商名称",
|
|
"分销商订单号",
|
|
"总价",
|
|
"充值账号",
|
|
"数量",
|
|
"状态",
|
|
"支付状态",
|
|
"商品编号",
|
|
"商品名称",
|
|
"备注",
|
|
"创建时间",
|
|
"完成时间",
|
|
}
|
|
}
|
|
|
|
func (o Orders) Size() int {
|
|
return len(o)
|
|
}
|
|
|
|
func (o Orders) Data() []interface{} {
|
|
d := make([]interface{}, o.Size())
|
|
for i, v := range o {
|
|
d[i] = v
|
|
}
|
|
return d
|
|
}
|