From 5ef56867a09484e6afddddae49c478ff403eae42 Mon Sep 17 00:00:00 2001 From: suyl <770236076@qq.com> Date: Sat, 14 Aug 2021 10:17:56 +0800 Subject: [PATCH] aa --- business/model/dao/act.go | 19 +++++++++++++++++++ business/model/dao/store_sku.go | 21 +++++++++++++++++++++ 2 files changed, 40 insertions(+) diff --git a/business/model/dao/act.go b/business/model/dao/act.go index 4f4221584..2f402aeeb 100644 --- a/business/model/dao/act.go +++ b/business/model/dao/act.go @@ -691,3 +691,22 @@ func GetActMtwmVendors(db *DaoDB, storeIDs, skuIDs []int) (actMtwmVendors []*mod err = GetRows(db, &actMtwmVendors, sql, sqlParams) return actMtwmVendors, err } + +func GetActEbaiVendorSkus(db *DaoDB, storeIDs, skuIDs []int) (actEbaiVendorSku []*model.ActEbaiVendorSku, err error) { + sql := ` + SELECT * + FROM act_ebai_vendor_sku + WHERE 1 = 1 + ` + sqlParams := []interface{}{} + if len(storeIDs) > 0 { + sql += " AND store_id IN (" + GenQuestionMarks(len(storeIDs)) + ")" + sqlParams = append(sqlParams, storeIDs) + } + if len(skuIDs) > 0 { + sql += " AND sku_id IN (" + GenQuestionMarks(len(skuIDs)) + ")" + sqlParams = append(sqlParams, skuIDs) + } + err = GetRows(db, &actEbaiVendorSku, sql, sqlParams) + return actEbaiVendorSku, err +} diff --git a/business/model/dao/store_sku.go b/business/model/dao/store_sku.go index 98bb703f8..355843947 100644 --- a/business/model/dao/store_sku.go +++ b/business/model/dao/store_sku.go @@ -1445,6 +1445,15 @@ func UpdateActPrice4StoreSkuNameNew(db *DaoDB, storeIDs, skuIDs []int, skuNamesI } mtactMap[v.StoreID][v.SkuID] = v } + ebaiactList, _ := GetActEbaiVendorSkus(db, storeIDs, skuIDs) + ebaiactMap := make(map[int]map[int]*model.ActEbaiVendorSku) + for _, v := range ebaiactList { + if ebaiactMap[v.StoreID] == nil { + ebaiactskuMap := make(map[int]*model.ActEbaiVendorSku) + ebaiactMap[v.StoreID] = ebaiactskuMap + } + ebaiactMap[v.StoreID][v.SkuID] = v + } for _, skuName := range skuNamesInfo.SkuNames { if len(skuName.Skus) > 0 { for _, v := range skuName.Skus { @@ -1481,6 +1490,18 @@ func UpdateActPrice4StoreSkuNameNew(db *DaoDB, storeIDs, skuIDs []int, skuNamesI } } + if (actVendorID == -1 || actVendorID == model.VendorIDEBAI) && v.ActPrice == 0 { + if ebaiactMap != nil { + ebaiact := ebaiactMap[skuName.StoreID][v.SkuID] + if ebaiact != nil { + v.ActPrice = int(jxutils.StandardPrice2Int(ebaiact.ActPrice)) + v.ActType = model.ActSkuDirectDown + v.ActID = int(utils.Str2Int64(ebaiact.ActID) % 1000) + v.EarningPrice = 0 + } + } + } + if globals.IsStoreSkuAct { v.VendorInfoMap = make(map[int]*StoreSkuVendorInfo) for _, storeMap := range storeMapMap[skuName.StoreID] {