This commit is contained in:
苏尹岚
2020-11-17 14:16:25 +08:00
parent 00665fd1f9
commit 7968b7bbc2

View File

@@ -4,6 +4,7 @@ import (
"bytes" "bytes"
"context" "context"
"fmt" "fmt"
"math"
"regexp" "regexp"
"strings" "strings"
"time" "time"
@@ -1499,31 +1500,6 @@ func addSku(outSkuId string, cagtegoryId int, shopCategories []int64, brandId in
} }
func UploadJdsImage(ctx *jxcontext.Context) (err error) { func UploadJdsImage(ctx *jxcontext.Context) (err error) {
// db := dao.GetDB()
// result1, _ := api.JdShopAPI.GetProvince()
// for _, v := range result1 {
// place1, _ := dao.GetPlaceByName(db, v.AreaName, 1, 0)
// place1.JdsCode = v.AreaID
// dao.UpdateEntity(db, place1, "JdsCode")
// result2, _ := api.JdShopAPI.GetCity(v.AreaID)
// for _, vv := range result2 {
// place2, _ := dao.GetPlaceByName(db, vv.AreaName, 2, 0)
// place2.JdsCode = vv.AreaID
// dao.UpdateEntity(db, place2, "JdsCode")
// place22, _ := dao.GetPlaceByName(db, vv.AreaName, 3, 0)
// if place22 != nil {
// place22.JdsCode = vv.AreaID
// dao.UpdateEntity(db, place22, "JdsCode")
// }
// result3, _ := api.JdShopAPI.GetCounty(vv.AreaID)
// for _, vvv := range result3 {
// place3, _ := dao.GetPlaceByName(db, vvv.AreaName, 3, 0)
// place3.JdsCode = vvv.AreaID
// dao.UpdateEntity(db, place3, "JdsCode")
// }
// }
// }
//京东商城商品不同 //京东商城商品不同
// type tTmp struct { // type tTmp struct {
// SkuID int `json:"skuID"` // SkuID int `json:"skuID"`
@@ -1712,102 +1688,104 @@ func UploadJdsImage(ctx *jxcontext.Context) (err error) {
// } // }
var ( var (
jdStoreIDs = []string{ jdStoreIDs = []string{
"11734848", // "11734848",
"11734850", // "11734850",
"11734854", // "11734854",
"11734862", // "11734862",
// "11734868", // "11734868",
"11734873", // "11734873",
"11734874", // "11734874",
"11734886", // "11734886",
"11748353", // "11748353",
"11890095", // "11890095",
"11800399", // "11800399",
"11738114", // "11738114",
"11857499", // "11857499",
"11873440", // "11873440",
"11883071", // "11883071",
"11734852", // "11734852",
"11886763", // "11886763",
"11874614", // "11874614",
"11734884", // "11734884",
"11926674", // "11926674",
"11929173", // "11929173",
"11894144", // "11894144",
"11734861", // "11734861",
"11951611", // "11951611",
"11800403", // "11800403",
"11913597", // "11913597",
"11980746", // "11980746",
"11981675", // "11981675",
"12011812", // "12011812",
"12007545", // "12007545",
"11734846", //// "11734846",
"12005417", // "12005417",
"12005640", // "12005640",
"12005682", // "12005682",
"12006134", // "12006134",
"11982352", // "11982352",
"12007250", // "12007250",
"12007560", // "12007560",
"11982427", // "11982427",
"12008087", // "12008087",
"12035806", // "12035806",
"12008160", // "12008160",
"12008395", // "12008395",
"12009345", // "12009345",
"11940019", // "11940019",
"12010237", // "12010237",
"12010654", // "12010654",
"12011111", // "12011111",
"12006857", // "12006857",
"11734851", // "11734851",
"12030632", // "12030632",
"12050456", // "12050456",
"11053496",
} }
jdStoreIDxipu = "11890095" // jdStoreIDxipu = "11890095"
skuMap = make(map[string]partner.StoreSkuInfo) // skuMap = make(map[string]partner.StoreSkuInfo)
priceList = make(map[string][]*partner.StoreSkuInfo) priceList = make(map[string][]*partner.StoreSkuInfo)
statusList1 = make(map[string][]*partner.StoreSkuInfo) // statusList1 = make(map[string][]*partner.StoreSkuInfo)
statusList2 = make(map[string][]*partner.StoreSkuInfo) // statusList2 = make(map[string][]*partner.StoreSkuInfo)
stockList = make(map[string][]*partner.StoreSkuInfo) // stockList = make(map[string][]*partner.StoreSkuInfo)
vendorOrgCode = "320406" // vendorOrgCode = "320406"
// storeID = 2 vendorOrgCode = "82029"
// db = dao.GetDB()
) )
handler := partner.GetPurchasePlatformFromVendorID(model.VendorIDJD).(partner.IPurchasePlatformStoreSkuHandler) handler := partner.GetPurchasePlatformFromVendorID(model.VendorIDJD).(partner.IPurchasePlatformStoreSkuHandler)
multiHandler := partner.GetPurchasePlatformFromVendorID(model.VendorIDJD).(partner.IMultipleStoresHandler) multiHandler := partner.GetPurchasePlatformFromVendorID(model.VendorIDJD).(partner.IMultipleStoresHandler)
allSkuNameInfoList, err := multiHandler.GetSkus(ctx, vendorOrgCode, 0, "") allSkuNameInfoList, err := multiHandler.GetSkus(ctx, vendorOrgCode, 0, "")
skuInfos := storeSkuFullList2BareFilter(allSkuNameInfoList) // skuInfos := storeSkuFullList2BareFilter(allSkuNameInfoList)
outStoreSkuList, err := handler.GetStoreSkusBareInfo(ctx, vendorOrgCode, nil, 0, jdStoreIDxipu, skuInfos) // outStoreSkuList, err := handler.GetStoreSkusBareInfo(ctx, vendorOrgCode, nil, 0, jdStoreIDxipu, skuInfos)
for _, vv := range outStoreSkuList { // for _, vv := range outStoreSkuList {
skuMap[vv.VendorSkuID] = *vv // skuMap[vv.VendorSkuID] = *vv
} // }
for _, jdStoreID := range jdStoreIDs { for _, jdStoreID := range jdStoreIDs {
skuInfos2 := storeSkuFullList2BareFilter(allSkuNameInfoList) skuInfos2 := storeSkuFullList2BareFilter(allSkuNameInfoList)
outStoreSkuList2, _ := handler.GetStoreSkusBareInfo(ctx, vendorOrgCode, nil, 0, jdStoreID, skuInfos2) outStoreSkuList2, _ := handler.GetStoreSkusBareInfo(ctx, vendorOrgCode, nil, 0, jdStoreID, skuInfos2)
for _, v := range outStoreSkuList2 { for _, v := range outStoreSkuList2 {
a := skuMap[v.VendorSkuID] v.VendorPrice = int64(math.Round(float64(v.VendorPrice) * 1.05))
if &a == nil { priceList[jdStoreID] = append(priceList[jdStoreID], v)
continue // a := skuMap[v.VendorSkuID]
} // if &a == nil {
if a.VendorPrice != v.VendorPrice { // continue
v.VendorPrice = a.VendorPrice // }
priceList[jdStoreID] = append(priceList[jdStoreID], v) // if a.VendorPrice != v.VendorPrice {
} // v.VendorPrice = a.VendorPrice
if a.Status != v.Status { // priceList[jdStoreID] = append(priceList[jdStoreID], v)
v.Status = a.Status // }
if v.Status == model.SkuStatusNormal { // if a.Status != v.Status {
statusList1[jdStoreID] = append(statusList1[jdStoreID], v) // v.Status = a.Status
} else { // if v.Status == model.SkuStatusNormal {
statusList2[jdStoreID] = append(statusList2[jdStoreID], v) // statusList1[jdStoreID] = append(statusList1[jdStoreID], v)
} // } else {
} // statusList2[jdStoreID] = append(statusList2[jdStoreID], v)
if a.Stock != v.Stock { // }
v.Stock = a.Stock // }
stockList[jdStoreID] = append(stockList[jdStoreID], v) // if a.Stock != v.Stock {
} // v.Stock = a.Stock
// stockList[jdStoreID] = append(stockList[jdStoreID], v)
// }
} }
} }
task := tasksch.NewParallelTask("syncStoreSkuNew", tasksch.NewParallelConfig().SetParallelCount(1).SetIsContinueWhenError(true), ctx, task := tasksch.NewParallelTask("syncStoreSkuNew", tasksch.NewParallelConfig().SetParallelCount(1).SetIsContinueWhenError(true), ctx,
@@ -1826,120 +1804,34 @@ func UploadJdsImage(ctx *jxcontext.Context) (err error) {
}, ctx, task, v, 50, true) }, ctx, task, v, 50, true)
} }
} }
case 1: // case 1:
if len(statusList1) > 0 { // if len(statusList1) > 0 {
for k, v := range statusList1 { // for k, v := range statusList1 {
_, err = putils.FreeBatchStoreSkuInfo("更新门店商品状态", func(task tasksch.ITask, batchedStoreSkuList []*partner.StoreSkuInfo) (result interface{}, successCount int, err error) { // _, err = putils.FreeBatchStoreSkuInfo("更新门店商品状态", func(task tasksch.ITask, batchedStoreSkuList []*partner.StoreSkuInfo) (result interface{}, successCount int, err error) {
failedList, err := handler.UpdateStoreSkusStatus(ctx, vendorOrgCode, 0, k, batchedStoreSkuList, batchedStoreSkuList[0].Status) // failedList, err := handler.UpdateStoreSkusStatus(ctx, vendorOrgCode, 0, k, batchedStoreSkuList, batchedStoreSkuList[0].Status)
if len(failedList) > 0 { // if len(failedList) > 0 {
task.AddFailedList(failedList) // task.AddFailedList(failedList)
} // }
return nil, 1, err // return nil, 1, err
}, ctx, task, v, 50, true) // }, ctx, task, v, 50, true)
} // }
} // }
case 2: // case 2:
case 3: // case 3:
if len(stockList) > 0 { // if len(stockList) > 0 {
for k, v := range stockList { // for k, v := range stockList {
_, err = putils.FreeBatchStoreSkuInfo("更新门店商品库存", func(task tasksch.ITask, batchedStoreSkuList []*partner.StoreSkuInfo) (result interface{}, successCount int, err error) { // _, err = putils.FreeBatchStoreSkuInfo("更新门店商品库存", func(task tasksch.ITask, batchedStoreSkuList []*partner.StoreSkuInfo) (result interface{}, successCount int, err error) {
failedList, err := handler.UpdateStoreSkusStock(ctx, vendorOrgCode, 0, k, batchedStoreSkuList) // failedList, err := handler.UpdateStoreSkusStock(ctx, vendorOrgCode, 0, k, batchedStoreSkuList)
if len(failedList) > 0 { // if len(failedList) > 0 {
task.AddFailedList(failedList) // task.AddFailedList(failedList)
} // }
return nil, 1, err // return nil, 1, err
}, ctx, task, v, 50, true) // }, ctx, task, v, 50, true)
}
}
// case 4:
// var storeIDs = []int{
// 667534,
// 667481,
// 667460,
// 667420,
// 667355,
// 667341,
// 667339,
// 667336,
// 667332,
// 667312,
// 667308,
// 667307,
// 667306,
// 667305,
// 667304,
// 667299,
// 667297,
// 667292,
// 667284,
// 667281,
// 667278,
// 667234,
// 667158,
// 667092,
// 667001,
// 666975,
// 666706,
// 666677,
// 666667,
// 103408,
// 103205,
// 103127,
// 103113,
// 102996,
// 102973,
// 102630,
// 102613,
// 102595,
// 102482,
// 101942,
// 101897,
// 101042,
// 100654,
// 100471,
// 100153,
// 100141,
// 100140,
// 42,
// 100129,
// 100121,
// 100117,
// 100115,
// }
// list, _ := dao.QueryActs(db, 0, 0, 9999, -1, "", model.VendorIDJD, nil, []int{model.ActSkuDirectDown}, nil, storeID, nil, 0, time.Now().AddDate(0, -3, 0), time.Now(), utils.ZeroTimeValue, utils.ZeroTimeValue)
// for _, v := range list.Data {
// var actStoreSkuList []*act.ActStoreSkuParam
// _, actStoreSku2, _ := dao.GetActStoreSkuVendorList(db, v.ID, []int{model.VendorIDJD}, []int{storeID}, nil, "", 0, 9999)
// for _, vv := range actStoreSku2 {
// for _, storeID2 := range storeIDs {
// actStoreSku := &act.ActStoreSkuParam{}
// actStoreSku.StoreID = storeID2
// actStoreSku.SkuID = vv.SkuID
// actStoreSku.ActPrice = vv.ActPrice
// actStoreSku.EarningPrice = vv.EarningPrice
// actStoreSku.Stock = vv.Stock
// actStoreSkuList = append(actStoreSkuList, actStoreSku)
// } // }
// } // }
// fmt.Println("actStoreSkuList", utils.Format4Output(actStoreSkuList, false))
// act.CreateAct(ctx, &model.Act{
// Name: "复制犀浦下街活动" + utils.Int2Str(k),
// Type: model.ActSkuDirectDown,
// LimitUser: v.LimitUser,
// LimitDaily: v.LimitDaily,
// LimitCount: v.LimitCount,
// OverlapRule: v.OverlapRule,
// CreateType: model.ActCreateTypeAPI,
// PricePercentage: v.PricePercentage,
// BeginAt: v.BeginAt,
// EndAt: v.EndAt,
// Advertising: v.Advertising,
// Remark: v.Remark,
// }, []int{model.VendorIDJD}, vendorOrgCode, nil, actStoreSkuList, true)
// }
} }
return retVal, err return retVal, err
}, []int{0, 1, 2, 3}) }, []int{0})
tasksch.HandleTask(task, nil, true).Run() tasksch.HandleTask(task, nil, true).Run()
_, err = task.GetResult(0) _, err = task.GetResult(0)
return err return err