From a76e30bc359ae644ec4f6677e07bd58b7a9e388b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Wed, 10 Mar 2021 17:25:59 +0800 Subject: [PATCH] aa --- business/jxstore/report/report.go | 34 +++++++++------------------- business/model/dao/dao_order.go | 37 +++++++++++++++++++++++++++++++ business/model/dao/store_sku.go | 2 +- 3 files changed, 49 insertions(+), 24 deletions(-) diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index d5c856a10..d8dedb36f 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -478,39 +478,27 @@ func GetStoreManageState(ctx *jxcontext.Context, storeIDs []int, vendorID int, f } result.OpenTime = optime * float64(dayCount) //商品数 - skuCount, highSkuCount := 0, 0 - dao.GetStoresSkusInfo(db, storeIDs, skuIDs) - storeSkus, _ := dao.GetStoresSkusInfo(db, []int{v}, nil) + highSkuCount := 0 + storeSkus, _ := dao.GetStoresSkusForManageState(db, v, model.StoreSkuBindStatusNormal) for _, v := range storeSkus { - if v.Status == model.StoreSkuBindStatusNormal && v.Stock > 0 { - skuCount++ - if priceRefer, err := dao.GetPriceReferPrice(db, 0, v.SkuID, utils.Time2Date(time.Now().AddDate(0, 0, -1))); err == nil && priceRefer != nil { - if v.UnitPrice > priceRefer.MidUnitPrice { - highSkuCount++ - } - } + if v.UnitPrice > v.MidUnitPrice { + highSkuCount++ } } - result.SkuCount, result.HighSkuCount = skuCount, highSkuCount + result.SkuCount, result.HighSkuCount = len(storeSkus), highSkuCount //活动丰富度 handler := partner.GetPurchasePlatformFromVendorID(vendorID) ample, _ := handler.GetActAmple(ctx, storeDetail.VendorStoreID, storeDetail.VendorStoreID) result.ActAmple = ample //订单 - nullOrderCount, refuseOrderCount := 0, 0 - if orderList, err := dao.QueryOrders(db, "", 0, []int{vendorID}, v, fromTimeT, toTimeT); err == nil { - for _, v := range orderList { - if v.Status == model.OrderStatusCanceled { - nullOrderCount++ - } - if waybills, err2 := dao.GetWayBillByOrderID(db, 0, vendorID, 0, v.VendorOrderID); err2 == nil { - if len(waybills) == 0 { - refuseOrderCount++ - } - } + refuseOrderCount := 0 + orderList, err := dao.QueryOrdersForManageState(db, v, vendorID, model.OrderStatusCanceled, fromTimeT, toTimeT) + for _, v := range orderList { + if v.BindID == 0 { + refuseOrderCount++ } } - result.NullOrderCount, result.RefuseOrderCount = nullOrderCount, refuseOrderCount + result.NullOrderCount, result.RefuseOrderCount = len(orderList), refuseOrderCount //评分(美团) if vendorID == model.VendorIDMTWM { mtapi := partner.CurAPIManager.GetAPI(model.VendorIDMTWM, storeDetail.VendorOrgCode).(*mtwmapi.API) diff --git a/business/model/dao/dao_order.go b/business/model/dao/dao_order.go index ddf5ba59c..8fa159131 100644 --- a/business/model/dao/dao_order.go +++ b/business/model/dao/dao_order.go @@ -1607,3 +1607,40 @@ func GetUserCoupons(db *DaoDB, couponIDs []int, userIDs, mobiles []string, userS err = GetRows(db, &userCoupons, sql, sqlParams) return userCoupons, err } + +type QueryOrdersForManageStateResult struct { + VendorOrderID string `orm:"column(vendor_order_id)"` + BindID int `orm:"column(bind_id)"` +} + +func QueryOrdersForManageState(db *DaoDB, storeID, vendorID, status int, fromTime, toTime time.Time) (userCoupons []*QueryOrdersForManageStateResult, err error) { + sql := ` + SELECT a.vendor_order_id ,b.id bind_id + FROM goods_order a + LEFT JOIN waybill b ON a.vendor_order_id = b.vendor_order_id + WHERE 1 = 1 + ` + sqlParams := []interface{}{} + if storeID != 0 { + sql += " AND (a.storeID = ? OR a.jx_store_id = ?)" + sqlParams = append(sqlParams, storeID, storeID) + } + if vendorID != -1 { + sql += " AND a.vendor_id = ?" + sqlParams = append(sqlParams, vendorID) + } + if status != 0 { + sql += " AND a.status = ?" + sqlParams = append(sqlParams, status) + } + if !utils.IsTimeZero(fromTime) { + sql += " AND a.order_created_at > ?" + sqlParams = append(sqlParams, fromTime) + } + if !utils.IsTimeZero(toTime) { + sql += " AND a.order_created_at < ?" + sqlParams = append(sqlParams, toTime) + } + err = GetRows(db, &userCoupons, sql, sqlParams) + return userCoupons, err +} diff --git a/business/model/dao/store_sku.go b/business/model/dao/store_sku.go index 2278f1383..8b70405e3 100644 --- a/business/model/dao/store_sku.go +++ b/business/model/dao/store_sku.go @@ -769,7 +769,7 @@ func GetDataResFieldName(vendorID int) (fieldName string) { // return fieldName // } -func GetStoresSkusInfo(db *DaoDB, storeIDs, skuIDs []int, status int) (storeSkuList []*model.StoreSkuBind, err error) { +func GetStoresSkusInfo(db *DaoDB, storeIDs, skuIDs []int) (storeSkuList []*model.StoreSkuBind, err error) { sql := ` SELECT * FROM store_sku_bind t1