This commit is contained in:
suyl
2021-09-13 14:45:36 +08:00
parent 3a03ab80ac
commit 1aa18ca189

View File

@@ -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
}