- 根据已经部分关注的商品,得到已经存在的门店商品单价
This commit is contained in:
@@ -436,6 +436,8 @@ func GetStoresSkusNew(ctx *jxcontext.Context, storeIDs, skuIDs []int, isFocus bo
|
|||||||
// err = updateActPrice4StoreSkuName(db, storeIDs, skuIDs, skuNamesInfo)
|
// err = updateActPrice4StoreSkuName(db, storeIDs, skuIDs, skuNamesInfo)
|
||||||
}
|
}
|
||||||
globals.SugarLogger.Debugf("GetStoresSkusNew updateActPrice4StoreSkuName:%v", time.Now().Sub(beginTime))
|
globals.SugarLogger.Debugf("GetStoresSkusNew updateActPrice4StoreSkuName:%v", time.Now().Sub(beginTime))
|
||||||
|
|
||||||
|
err = updateUnitPrice4StoreSkuNameNew(db, skuNamesInfo)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// globals.SugarLogger.Debug(utils.Format4Output(skuNamesInfo, false))
|
// globals.SugarLogger.Debug(utils.Format4Output(skuNamesInfo, false))
|
||||||
@@ -489,6 +491,29 @@ func GetStoreAndSkuIDsFromInfo(skuNamesInfo *StoreSkuNamesInfo) (storeIDs, skuID
|
|||||||
// return err
|
// return err
|
||||||
// }
|
// }
|
||||||
|
|
||||||
|
// 根据已经部分关注的商品,得到已经存在的门店商品单价
|
||||||
|
func updateUnitPrice4StoreSkuNameNew(db *dao.DaoDB, skuNamesInfo *StoreSkuNamesInfo) (err error) {
|
||||||
|
storeIDMap := make(map[int]int)
|
||||||
|
skuNameIDMap := make(map[int]int)
|
||||||
|
for _, skuName := range skuNamesInfo.SkuNames {
|
||||||
|
storeIDMap[skuName.StoreID] = 1
|
||||||
|
skuNameIDMap[skuName.SkuName.ID] = 1
|
||||||
|
}
|
||||||
|
storeSkuNameInfo, err := dao.GetExistingStoreSkuNameInfo(db, jxutils.IntMap2List(storeIDMap), jxutils.IntMap2List(skuNameIDMap))
|
||||||
|
if err == nil {
|
||||||
|
infoMap := make(map[int64]*dao.StoreSkuNameInfo)
|
||||||
|
for _, v := range storeSkuNameInfo {
|
||||||
|
infoMap[jxutils.Combine2Int(v.StoreID, v.NameID)] = v
|
||||||
|
}
|
||||||
|
for _, skuName := range skuNamesInfo.SkuNames {
|
||||||
|
if tmpInfo := infoMap[jxutils.Combine2Int(skuName.StoreID, skuName.SkuName.ID)]; tmpInfo != nil {
|
||||||
|
skuName.UnitPrice = int(tmpInfo.UnitPrice)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
func updateActPrice4StoreSkuNameNew(db *dao.DaoDB, storeIDs, skuIDs []int, skuNamesInfo *StoreSkuNamesInfo) (err error) {
|
func updateActPrice4StoreSkuNameNew(db *dao.DaoDB, storeIDs, skuIDs []int, skuNamesInfo *StoreSkuNamesInfo) (err error) {
|
||||||
// jxSkuPriceMap, err := dao.GetPromotionSkuPriceMap(db, model.VendorIDJX, storeIDs, skuIDs, time.Now(), time.Now())
|
// jxSkuPriceMap, err := dao.GetPromotionSkuPriceMap(db, model.VendorIDJX, storeIDs, skuIDs, time.Now(), time.Now())
|
||||||
// if err != nil {
|
// if err != nil {
|
||||||
|
|||||||
@@ -95,6 +95,12 @@ type StoreSkuBindWithVendorInfo struct {
|
|||||||
VendorSkuID string `orm:"column(vendor_sku_id)"`
|
VendorSkuID string `orm:"column(vendor_sku_id)"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type StoreSkuNameInfo struct {
|
||||||
|
StoreID int `orm:"column(store_id)"`
|
||||||
|
NameID int `orm:"column(name_id)"`
|
||||||
|
UnitPrice int64
|
||||||
|
}
|
||||||
|
|
||||||
// 单门店模式厂商适用
|
// 单门店模式厂商适用
|
||||||
// 从store_sku_bind中,得到所有依赖的商家分类信息
|
// 从store_sku_bind中,得到所有依赖的商家分类信息
|
||||||
func GetSkusCategories(db *DaoDB, vendorID, storeID int, skuIDs []int, level int) (cats []*SkuStoreCatInfo, err error) {
|
func GetSkusCategories(db *DaoDB, vendorID, storeID int, skuIDs []int, level int) (cats []*SkuStoreCatInfo, err error) {
|
||||||
@@ -497,3 +503,23 @@ func GetAutoSaleStoreSku(db *DaoDB, storeIDs []int) (storeSkuList []*model.Store
|
|||||||
err = GetRows(db, &storeSkuList, sql, sqlParams...)
|
err = GetRows(db, &storeSkuList, sql, sqlParams...)
|
||||||
return storeSkuList, err
|
return storeSkuList, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func GetExistingStoreSkuNameInfo(db *DaoDB, storeIDs, skuNameIDs []int) (storeSkuNameList []*StoreSkuNameInfo, err error) {
|
||||||
|
if len(storeIDs) == 0 || len(skuNameIDs) == 0 {
|
||||||
|
return nil, nil
|
||||||
|
}
|
||||||
|
sql := `
|
||||||
|
SELECT t1.store_id, t2.name_id, MAX(t1.unit_price) unit_price
|
||||||
|
FROM store_sku_bind t1
|
||||||
|
JOIN sku t2 ON t2.id = t1.sku_id
|
||||||
|
WHERE t1.deleted_at = ? AND t1.store_id IN (` + GenQuestionMarks(len(storeIDs)) + `)
|
||||||
|
AND t2.name_id IN (` + GenQuestionMarks(len(skuNameIDs)) + `)
|
||||||
|
GROUP BY 1, 2`
|
||||||
|
sqlParams := []interface{}{
|
||||||
|
utils.DefaultTimeValue,
|
||||||
|
storeIDs,
|
||||||
|
skuNameIDs,
|
||||||
|
}
|
||||||
|
err = GetRows(db, &storeSkuNameList, sql, sqlParams...)
|
||||||
|
return storeSkuNameList, err
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user