diff --git a/business/jxcallback/orderman/order.go b/business/jxcallback/orderman/order.go index 69f18c638..ed2caaff3 100644 --- a/business/jxcallback/orderman/order.go +++ b/business/jxcallback/orderman/order.go @@ -5,6 +5,7 @@ import ( "errors" "fmt" "git.rosy.net.cn/jx-callback/business/authz/autils" + "git.rosy.net.cn/jx-callback/business/jxutils/excel" "git.rosy.net.cn/jx-callback/business/jxutils/weixinmsg" "git.rosy.net.cn/jx-callback/globals/api2" beego "github.com/astaxie/beego/server/web" @@ -2316,69 +2317,70 @@ func BuildFakeMatterOrder() { } func ExportOrderWithSku(ctx *jxcontext.Context, orders []*model.GoodsOrderExt) (downloadURL string, err error) { - //type ExportOrderWithSkuExt struct { - // StoreName string `json:"门店名"` - // VendorName string `json:"平台名"` - // OrderCreatedAt string `json:"下单时间"` - // VendorOrderID string `orm:"column(vendor_order_id)" json:"订单号"` - // EarningPrice int `json:"订单结算"` - // SkuName string `json:"商品名"` - // CategoryNameFst string `json:"一级分类名"` - // CategoryNameSnd string `json:"二级分类名"` - // ShopPrice int `json:"商品报价"` - // Count int `json:"数量"` - // EarningPriceSku int `json:"商品结算"` - // Upc string `json:"条形码"` - // IsAfs int `json:"是否已售后"` - //} - //var ( - // db = dao.GetDB() - // excelTitle = []string{ - // "门店名", - // "平台名", - // "下单时间", - // "订单号", - // "订单结算", - // "商品名", - // "一级分类名", - // "二级分类名", - // "商品报价", - // "数量", - // "商品结算", - // "条形码", - // "是否已售后", - // } - // vendorOrderIDs []string - // results []*ExportOrderWithSkuExt - //) - //for _, v := range orders { - // vendorOrderIDs = append(vendorOrderIDs, v.VendorOrderID) - //} - //sqlParams := []interface{}{} - //sql := ` - // SELECT IF(a.vendor_id = 0, '京东',IF(a.vendor_id = 1, '美团',IF(a.vendor_id = 3, '饿百','不明'))) vendor_name, a.order_created_at, a.vendor_order_id, - // IF(b.earning_type = 1, b.earning_price, b.total_shop_money * (100-b.order_pay_percentage/2)/100) /100 earning_price, - // a.shop_price /100 shop_price, a.count, IF(b.earning_type = 1, a.earning_price, 0) /100 earning_price_sku, a.sku_name, d.upc, - // e.name store_name, f.name category_name_fst, g.name category_name_snd, - // FROM order_sku a - //LEFT JOIN goods_order b ON a.vendor_order_id = b.vendor_order_id - //LEFT JOIN sku c ON c.id = a.sku_id - //LEFT JOIN sku_name d ON d.id = c.name_id - //LEFT JOIN store e ON IF(b.jx_store_id = 0, b.store_id, b.jx_store_id) = e.id - //LEFT JOIN sku_category f ON f.id = d.category_id - //LEFT JOIN sku_category g ON g.id = f.parent_id - //LEFT JOIN order_sku_financial h ON h.vendor_order_id = a.vendor_order_id AND h.sku_id = a.sku_id AND - // WHERE a.vendor_order_id IN - // ORDER BY '平台名', '订单号' - //` - //var sheetList []*excel.Obj2ExcelSheetConfig - //excelConf := &excel.Obj2ExcelSheetConfig{ - // Title: "sheet1", - // Data: results, - // CaptionList: excelTitle, - //} - //sheetList = append(sheetList, excelConf) - //downloadURL, _, err = jxutils.UploadExeclAndPushMsg(sheetList, "订单导出") - //baseapi.SugarLogger.Debug("WriteToExcel: dataSuccess downloadURL: [%v]", downloadURL) + type ExportOrderWithSkuExt struct { + StoreName string `json:"门店名"` + VendorName string `json:"平台名"` + OrderCreatedAt string `json:"下单时间"` + VendorOrderID string `orm:"column(vendor_order_id)" json:"订单号"` + EarningPrice int `json:"订单结算"` + SkuName string `json:"商品名"` + CategoryNameFst string `json:"一级分类名"` + CategoryNameSnd string `json:"二级分类名"` + ShopPrice int `json:"商品报价"` + Count int `json:"数量"` + EarningPriceSku int `json:"商品结算"` + Upc string `json:"条形码"` + IsAfs int `json:"是否已售后"` + } + var ( + db = dao.GetDB() + excelTitle = []string{ + "门店名", + "平台名", + "下单时间", + "订单号", + "订单结算", + "商品名", + "一级分类名", + "二级分类名", + "商品报价", + "数量", + "商品结算", + "条形码", + "是否已售后", + } + vendorOrderIDs []string + results []*ExportOrderWithSkuExt + ) + for _, v := range orders { + vendorOrderIDs = append(vendorOrderIDs, v.VendorOrderID) + } + sql := ` + SELECT IF(a.vendor_id = 0, '京东',IF(a.vendor_id = 1, '美团',IF(a.vendor_id = 3, '饿百','不明'))) vendor_name, a.order_created_at, a.vendor_order_id, + IF(b.earning_type = 1, b.earning_price, b.total_shop_money * (100-b.order_pay_percentage/2)/100) /100 earning_price, + a.shop_price /100 shop_price, a.count, IF(b.earning_type = 1, a.earning_price, 0) /100 earning_price_sku, a.sku_name, d.upc, + e.name store_name, f.name category_name_fst, g.name category_name_snd, IF(h.id IS NULL, 0, 1) is_afs + FROM order_sku a + LEFT JOIN goods_order b ON a.vendor_order_id = b.vendor_order_id + LEFT JOIN sku c ON c.id = a.sku_id + LEFT JOIN sku_name d ON d.id = c.name_id + LEFT JOIN store e ON IF(b.jx_store_id = 0, b.store_id, b.jx_store_id) = e.id + LEFT JOIN sku_category f ON f.id = d.category_id + LEFT JOIN sku_category g ON g.id = f.parent_id + LEFT JOIN order_sku_financial h ON h.vendor_order_id = a.vendor_order_id AND h.sku_id = a.sku_id AND is_afs_order = ? + WHERE a.vendor_order_id IN ` + dao.GenQuestionMarks(len(vendorOrderIDs)) + ` + ORDER BY store_name, order_created_at DESC + ` + sqlParams := []interface{}{model.YES, vendorOrderIDs} + dao.GetRows(db, &results, sql, sqlParams) + var sheetList []*excel.Obj2ExcelSheetConfig + excelConf := &excel.Obj2ExcelSheetConfig{ + Title: "sheet1", + Data: results, + CaptionList: excelTitle, + } + sheetList = append(sheetList, excelConf) + downloadURL, _, err = jxutils.UploadExeclAndPushMsg(sheetList, "订单导出") + baseapi.SugarLogger.Debug("WriteToExcel: dataSuccess downloadURL: [%v]", downloadURL) return downloadURL, err }