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 }