刷新物料店库存,商品上下架
This commit is contained in:
@@ -888,7 +888,7 @@ func UpdateSkuName(ctx *jxcontext.Context, nameID int, payload map[string]interf
|
||||
}
|
||||
}
|
||||
}
|
||||
skuList, err2 := dao.GetSkus(db, nil, []int{nameID}, nil, nil)
|
||||
skuList, err2 := dao.GetSkus(db, nil, []int{nameID}, nil, nil, nil)
|
||||
if err = err2; err == nil {
|
||||
for _, v := range skuList {
|
||||
sku := &v.Sku
|
||||
@@ -959,7 +959,7 @@ func DeleteSkuName(ctx *jxcontext.Context, nameID int, userName string) (num int
|
||||
return 0, err
|
||||
}
|
||||
|
||||
skuList, err2 := dao.GetSkus(db, nil, []int{nameID}, nil, nil)
|
||||
skuList, err2 := dao.GetSkus(db, nil, []int{nameID}, nil, nil, nil)
|
||||
if err = err2; err == nil {
|
||||
for _, v := range skuList {
|
||||
sku := &v.Sku
|
||||
@@ -1407,7 +1407,7 @@ func UpdateSkuNamesExPrefix(ctx *jxcontext.Context, nameIDs []int, exPrefix, fro
|
||||
payload["exPrefixEnd"] = nil
|
||||
_, err = UpdateSkuName(ctx, nameID, payload, false)
|
||||
} else {
|
||||
skuList, err := dao.GetSkus(db, nil, []int{nameID}, nil, nil)
|
||||
skuList, err := dao.GetSkus(db, nil, []int{nameID}, nil, nil, nil)
|
||||
if err == nil && len(skuList) > 0 {
|
||||
if skuList[0].ExPrefixBegin != nil {
|
||||
_, err = UpdateSkuName(ctx, nameID, payload, false)
|
||||
@@ -1440,7 +1440,7 @@ func UpdateSkuNamesExPrefix(ctx *jxcontext.Context, nameIDs []int, exPrefix, fro
|
||||
case 1:
|
||||
if (now.Sub(toTimeP) <= 0 && now.Sub(fromTimeP) >= 0) || (now.Sub(fromTimeP) > 0 && now.Sub(toTimeP) > 0) {
|
||||
var skuIDs []int
|
||||
skuList, err2 := dao.GetSkus(db, nil, nameIDs, nil, nil)
|
||||
skuList, err2 := dao.GetSkus(db, nil, nameIDs, nil, nil, nil)
|
||||
if err = err2; err == nil {
|
||||
if len(skuList) > 0 {
|
||||
for _, v := range skuList {
|
||||
|
||||
@@ -192,9 +192,10 @@ type tUpdateSkuSpecTag struct {
|
||||
}
|
||||
|
||||
type MatterStock struct {
|
||||
SkuID int `json:"skuID"`
|
||||
Name string `json:"name"`
|
||||
Stock int `json:"stock"`
|
||||
SkuID int `json:"skuID"`
|
||||
SkuNameID int `json:"skuNameID"`
|
||||
Name string `json:"name"`
|
||||
Stock int `json:"stock"`
|
||||
}
|
||||
|
||||
const (
|
||||
@@ -2406,7 +2407,7 @@ func GetTopSkusByCityCode(ctx *jxcontext.Context, cityCode, storeID int) (skuNam
|
||||
var skuList []*model.SkuAndName
|
||||
storeSkuSyncInfo, _ := dao.GetStoreSkusAndSkuName(db, []int{storeID}, nil, []int{v.ID})
|
||||
for _, storeSkuSync := range storeSkuSyncInfo {
|
||||
sku, _ := dao.GetSkus(db, []int{storeSkuSync.ID}, nil, nil, nil)
|
||||
sku, _ := dao.GetSkus(db, []int{storeSkuSync.ID}, nil, nil, nil, nil)
|
||||
sku[0].Price = int(storeSkuSync.Price)
|
||||
skuList = append(skuList, sku...)
|
||||
}
|
||||
@@ -3019,7 +3020,7 @@ func FocusStoreSkusByExcelBin(ctx *jxcontext.Context, reader io.Reader, isAsync,
|
||||
for k, _ := range skuMap {
|
||||
skuIDs = append(skuIDs, k)
|
||||
}
|
||||
skuList, err := dao.GetSkus(db, skuIDs, nil, nil, nil)
|
||||
skuList, err := dao.GetSkus(db, skuIDs, nil, nil, nil, nil)
|
||||
storeList, err := dao.GetStoreList(db, nil, nil, nil, nil, "")
|
||||
if err != nil && len(skuList) == 0 {
|
||||
return result, err
|
||||
@@ -3132,7 +3133,7 @@ func FocusStoreSkusBySku(ctx *jxcontext.Context, skuBindInfos []*StoreSkuBindInf
|
||||
if err != nil {
|
||||
return retVal, err
|
||||
}
|
||||
skuList, err := dao.GetSkus(db, []int{skuID}, nil, nil, nil)
|
||||
skuList, err := dao.GetSkus(db, []int{skuID}, nil, nil, nil, nil)
|
||||
if err != nil {
|
||||
return retVal, err
|
||||
}
|
||||
@@ -3318,7 +3319,7 @@ func AutoFocusStoreSkusWithoutFocus(ctx *jxcontext.Context, skuIDs []int, isSync
|
||||
}
|
||||
var skuBindSkuList []*StoreSkuBindSkuInfo
|
||||
skuMap := make(map[int]int)
|
||||
skuList, _ := dao.GetSkus(db, nil, []int{v.NameID}, nil, nil)
|
||||
skuList, _ := dao.GetSkus(db, nil, []int{v.NameID}, nil, nil, nil)
|
||||
if len(v.Skus) != len(skuList) {
|
||||
for _, skus := range v.Skus {
|
||||
skuMap[skus.SkuID] = 1
|
||||
@@ -3624,7 +3625,7 @@ func RefreshJxPriceByVendor(ctx *jxcontext.Context, jdStoreSkus []*JdStoreSkus,
|
||||
}
|
||||
err = dao.GetRows(db, &cats, sql, sqlParams...)
|
||||
if len(cats) > 0 {
|
||||
skus, err = dao.GetSkus(db, []int{int(cats[0].ThingID)}, nil, nil, nil)
|
||||
skus, err = dao.GetSkus(db, []int{int(cats[0].ThingID)}, nil, nil, nil, nil)
|
||||
if err != nil || len(skus) == 0 {
|
||||
return result, fmt.Errorf("没有找到该京西skuID!,京西skuID :[%v]", cats[0].ThingID)
|
||||
}
|
||||
@@ -3684,7 +3685,7 @@ func RefreshJxPriceByVendor(ctx *jxcontext.Context, jdStoreSkus []*JdStoreSkus,
|
||||
var (
|
||||
pricePercentagePack []*model.PricePercentageItem
|
||||
)
|
||||
skus, _ := dao.GetSkus(db, []int{v.JdSkuID}, nil, nil, nil)
|
||||
skus, _ := dao.GetSkus(db, []int{v.JdSkuID}, nil, nil, nil, nil)
|
||||
if len(skus) == 0 {
|
||||
continue
|
||||
}
|
||||
@@ -3837,7 +3838,7 @@ func getSkuNamePrice(db *dao.DaoDB, skuID int, orgPrice int64) (price int64, nam
|
||||
var (
|
||||
specQuality float64
|
||||
)
|
||||
skuList, _ := dao.GetSkus(db, []int{skuID}, nil, nil, nil)
|
||||
skuList, _ := dao.GetSkus(db, []int{skuID}, nil, nil, nil, nil)
|
||||
for _, v := range skuList {
|
||||
if v.Unit == model.SpecialUnit {
|
||||
if v.SpecUnit == model.SpecUnitNames[1] || v.SpecUnit == model.SpecUnitNames[2] {
|
||||
@@ -3934,7 +3935,74 @@ func ReturnStoreSkuBind(ctx *jxcontext.Context, snapshotAt string, storeIDs, sku
|
||||
return err
|
||||
}
|
||||
|
||||
func RefreshMatterStock(ctx *jxcontext.Context, skuID int) (matterStock []*MatterStock, err error) {
|
||||
// api.JdEclpAPI.SearchShopStock(searchShopStockParam)
|
||||
return matterStock, err
|
||||
func RefreshMatterStock(ctx *jxcontext.Context, skuID int) (err error) {
|
||||
var (
|
||||
db = dao.GetDB()
|
||||
skuBindInfos []*StoreSkuBindInfo
|
||||
)
|
||||
if skuID != 0 {
|
||||
skus, err := dao.GetSkus(db, []int{skuID}, nil, nil, nil, nil)
|
||||
if err != nil || len(skus) == 0 {
|
||||
return err
|
||||
}
|
||||
result, err := api.JdEclpAPI.SearchShopStock(skus[0].EclpID)
|
||||
if err != nil || result == nil {
|
||||
return err
|
||||
}
|
||||
var isSale = 0
|
||||
if utils.Str2Int64(result.Data[0].StockNum) > 0 {
|
||||
isSale = 1
|
||||
} else {
|
||||
isSale = -1
|
||||
}
|
||||
storeSkuList, _ := dao.GetStoresSkusInfo(db, nil, []int{skuID})
|
||||
for _, vv := range storeSkuList {
|
||||
var storeSkuBindSkus []*StoreSkuBindSkuInfo
|
||||
storeSkuBindSku := &StoreSkuBindSkuInfo{
|
||||
SkuID: vv.SkuID,
|
||||
IsSale: isSale,
|
||||
}
|
||||
storeSkuBindSkus = append(storeSkuBindSkus, storeSkuBindSku)
|
||||
storeSkuBind := &StoreSkuBindInfo{
|
||||
StoreID: vv.StoreID,
|
||||
// NameID: v.SkuNameID,
|
||||
Skus: storeSkuBindSkus,
|
||||
}
|
||||
skuBindInfos = append(skuBindInfos, storeSkuBind)
|
||||
}
|
||||
} else {
|
||||
result, err := api.JdEclpAPI.SearchShopStock("")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
for _, v := range result.Data {
|
||||
skus, err := dao.GetSkus(db, nil, nil, nil, nil, []string{v.GoodsNo})
|
||||
if err != nil || len(skus) == 0 {
|
||||
continue
|
||||
}
|
||||
var isSale = 0
|
||||
if utils.Str2Int64(result.Data[0].StockNum) > 0 {
|
||||
isSale = 1
|
||||
} else {
|
||||
isSale = -1
|
||||
}
|
||||
storeSkuList, _ := dao.GetStoresSkusInfo(db, nil, []int{skus[0].ID})
|
||||
for _, vv := range storeSkuList {
|
||||
var storeSkuBindSkus []*StoreSkuBindSkuInfo
|
||||
storeSkuBindSku := &StoreSkuBindSkuInfo{
|
||||
SkuID: vv.SkuID,
|
||||
IsSale: isSale,
|
||||
}
|
||||
storeSkuBindSkus = append(storeSkuBindSkus, storeSkuBindSku)
|
||||
storeSkuBind := &StoreSkuBindInfo{
|
||||
StoreID: vv.StoreID,
|
||||
// NameID: v.SkuNameID,
|
||||
Skus: storeSkuBindSkus,
|
||||
}
|
||||
skuBindInfos = append(skuBindInfos, storeSkuBind)
|
||||
}
|
||||
}
|
||||
}
|
||||
UpdateStoresSkusByBind(ctx, nil, skuBindInfos, true, true)
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -433,7 +433,7 @@ func CompareJxAndVendor(vendorID int, storeIDStr, vendorStoreID, storeName strin
|
||||
func FilterJxDepotUnSaleSkuID() {
|
||||
db := dao.GetDB()
|
||||
filterJxDepotUnSaleSkuIds = filterJxDepotUnSaleSkuIds[0:0]
|
||||
skuList, _ := dao.GetSkus(db, filterVendorDepotUnSaleSkuIds, []int{}, []int{}, []int{})
|
||||
skuList, _ := dao.GetSkus(db, filterVendorDepotUnSaleSkuIds, []int{}, []int{}, []int{}, nil)
|
||||
filterJxSkuInfoMap2 := GetFilterJxSkuInfoMap2(skuList)
|
||||
for skuid, jxSkuInfo := range filterJxSkuInfoMap2 {
|
||||
//过滤掉平台库下架,且京西库下架的商品,为下面比较门店商品用
|
||||
@@ -456,7 +456,7 @@ func CompareJxAndMultiVenderDepot(ctx *jxcontext.Context, vendorMap map[int]bool
|
||||
FilterJxDepotUnSaleSkuID()
|
||||
filterVendorSkuInfoMap := GetFilterVendorSkuInfoMap(skuNameInfoList)
|
||||
skuNameInfoList = skuNameInfoList[0:0]
|
||||
skuList, _ := dao.GetSkus(db, []int{}, []int{}, []int{}, []int{})
|
||||
skuList, _ := dao.GetSkus(db, []int{}, []int{}, []int{}, []int{}, nil)
|
||||
filterJxSkuInfoMap2 := GetFilterJxSkuInfoMap2(skuList)
|
||||
for skuid, jxSkuInfo := range filterJxSkuInfoMap2 {
|
||||
var jxSkuDetailName string
|
||||
|
||||
@@ -133,7 +133,7 @@ func GetStoreSkuSalesInfo(ctx *jxcontext.Context, storeID int) (outStoreSkuSales
|
||||
//输出商品销量统计结果
|
||||
skuAndNameMapData := make(map[int]*model.SkuAndName)
|
||||
if len(storeSkuMapData) < len(citySkuIDs) {
|
||||
skuAndNameList, err := dao.GetSkus(db, citySkuIDs, nil, nil, nil)
|
||||
skuAndNameList, err := dao.GetSkus(db, citySkuIDs, nil, nil, nil, nil)
|
||||
if err == nil {
|
||||
for _, value := range skuAndNameList {
|
||||
skuAndNameMapData[value.ID] = value
|
||||
@@ -149,7 +149,7 @@ func GetStoreSkuSalesInfo(ctx *jxcontext.Context, storeID int) (outStoreSkuSales
|
||||
if storeSkuInfo != nil {
|
||||
skuName := storeSkuInfo.SkuName
|
||||
skuInfo := storeSkuInfo.Skus[0]
|
||||
storeSkuSales.SkuName = jxutils.ComposeSkuName(skuName.Prefix, skuName.Name, skuInfo.Comment, skuName.Unit, skuInfo.SkuSpecQuality, skuInfo.SkuSpecUnit, 0,skuName.ExPrefix,skuName.ExPrefixBegin,skuName.ExPrefixEnd)
|
||||
storeSkuSales.SkuName = jxutils.ComposeSkuName(skuName.Prefix, skuName.Name, skuInfo.Comment, skuName.Unit, skuInfo.SkuSpecQuality, skuInfo.SkuSpecUnit, 0, skuName.ExPrefix, skuName.ExPrefixBegin, skuName.ExPrefixEnd)
|
||||
storeSkuSales.SkuImage = storeSkuInfo.Img
|
||||
storeSkuSales.SkuPrice = jxutils.IntPrice2StandardCurrencyString(int64(storeSkuInfo.Skus[0].BindPrice))
|
||||
} else if skuAndNameInfo != nil {
|
||||
@@ -159,7 +159,7 @@ func GetStoreSkuSalesInfo(ctx *jxcontext.Context, storeID int) (outStoreSkuSales
|
||||
storeSkuSales.SkuImage = skuNameList[0].Img
|
||||
prefix = skuNameList[0].Prefix
|
||||
}
|
||||
storeSkuSales.SkuName = jxutils.ComposeSkuName(prefix, skuAndNameInfo.Name, skuAndNameInfo.Comment, skuAndNameInfo.Unit, skuAndNameInfo.SpecQuality, skuAndNameInfo.SpecUnit, 0,skuAndNameInfo.ExPrefix,skuAndNameInfo.ExPrefixBegin,skuAndNameInfo.ExPrefixEnd)
|
||||
storeSkuSales.SkuName = jxutils.ComposeSkuName(prefix, skuAndNameInfo.Name, skuAndNameInfo.Comment, skuAndNameInfo.Unit, skuAndNameInfo.SpecQuality, skuAndNameInfo.SpecUnit, 0, skuAndNameInfo.ExPrefix, skuAndNameInfo.ExPrefixBegin, skuAndNameInfo.ExPrefixEnd)
|
||||
storeSkuSales.SkuPrice = "N/A"
|
||||
} else {
|
||||
storeSkuSales.SkuName = "N/A"
|
||||
|
||||
@@ -312,7 +312,7 @@ func LoadExcelBinByYongHui(ctx *jxcontext.Context, reader io.Reader, isAsync, is
|
||||
//如果微盟商品里找得到excel中的商品
|
||||
if skuMap[spuCode] != nil {
|
||||
//获取京西库商品
|
||||
skuList, _ := dao.GetSkus(db, nil, []int{int(utils.Str2Int64(goodsDetail.SkuMap.SingleSku.OuterSkuCode))}, nil, nil)
|
||||
skuList, _ := dao.GetSkus(db, nil, []int{int(utils.Str2Int64(goodsDetail.SkuMap.SingleSku.OuterSkuCode))}, nil, nil, nil)
|
||||
if len(skuList) == 0 {
|
||||
outPutData := DataFailed{
|
||||
GoodsID: spuCode,
|
||||
|
||||
Reference in New Issue
Block a user