excel-export/export/order.go

84 lines
1.8 KiB
Go

package export
import (
"lsxd_excel/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
}