aa
This commit is contained in:
@@ -357,38 +357,6 @@ func sku2Update(vendorID int, sku *dao.StoreSkuSyncInfo, syncStatus int8) (item
|
|||||||
return item
|
return item
|
||||||
}
|
}
|
||||||
|
|
||||||
func bindSkuAllStore(v *dao.StoreSkuSyncInfo) (err error) {
|
|
||||||
var (
|
|
||||||
db = dao.GetDB()
|
|
||||||
)
|
|
||||||
storeMaps, _ := dao.GetStoresMapList(db, []int{model.VendorIDJDShop}, nil, nil, model.StoreStatusAll, model.StoreIsSyncAll, "", "", "2")
|
|
||||||
task := tasksch.NewParallelTask("京东商城门店建商品", tasksch.NewParallelConfig().SetParallelCount(1).SetIsContinueWhenError(true), jxcontext.AdminCtx,
|
|
||||||
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
|
||||||
storeMap := batchItemList[0].(*model.StoreMap)
|
|
||||||
if err = api.JdShop2API.StoreSkuBindStore(false, []string{v.VendorSkuID}, []string{storeMap.VendorStoreID}); err == nil {
|
|
||||||
storeSkus2, _ := dao.GetStoresSkusInfo(db, []int{storeMap.StoreID}, []int{v.SkuID})
|
|
||||||
if len(storeSkus2) > 0 {
|
|
||||||
status := storeSkus2[0].Status
|
|
||||||
stock := storeSkus2[0].Stock
|
|
||||||
price := storeSkus2[0].Price
|
|
||||||
if status == model.StoreSkuBindStatusNormal {
|
|
||||||
api.JdShop2API.StoreWareDoUpdate(status, utils.Str2Int64(v.VendorSkuID), storeMap.VendorStoreID)
|
|
||||||
}
|
|
||||||
if stock != 0 {
|
|
||||||
api.JdShop2API.StoreUpdateStock(stock, utils.Str2Int64(v.VendorSkuID), storeMap.VendorStoreID)
|
|
||||||
}
|
|
||||||
api.JdShop2API.StoreUpdatePrice(utils.Float64ToStr(jxutils.IntPrice2Standard(int64(price))), utils.Str2Int64(v.VendorSkuID), storeMap.VendorStoreID)
|
|
||||||
} else {
|
|
||||||
return retVal, err
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return retVal, err
|
|
||||||
}, storeMaps)
|
|
||||||
tasksch.HandleTask(task, nil, true).Run()
|
|
||||||
_, err = task.GetResult(0)
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
func updateStoreSku(db *dao.DaoDB, vendorID int, storeSkuList []*dao.StoreSkuSyncInfo, syncStatus int8) (num int64, err error) {
|
func updateStoreSku(db *dao.DaoDB, vendorID int, storeSkuList []*dao.StoreSkuSyncInfo, syncStatus int8) (num int64, err error) {
|
||||||
if len(storeSkuList) > 0 {
|
if len(storeSkuList) > 0 {
|
||||||
// defer func() {
|
// defer func() {
|
||||||
@@ -404,9 +372,6 @@ func updateStoreSku(db *dao.DaoDB, vendorID int, storeSkuList []*dao.StoreSkuSyn
|
|||||||
for k, vv := range v.StoreSkuSyncInfoJds {
|
for k, vv := range v.StoreSkuSyncInfoJds {
|
||||||
updateItemList[k] = sku2Update(vendorID, vv, syncStatus)
|
updateItemList[k] = sku2Update(vendorID, vv, syncStatus)
|
||||||
err = updateJdsWareID(db, vv)
|
err = updateJdsWareID(db, vv)
|
||||||
if v.VendorOrgCode == "2" {
|
|
||||||
err = bindSkuAllStore(vv)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
num, err = dao.BatchUpdateEntityByKV(db, updateItemList)
|
num, err = dao.BatchUpdateEntityByKV(db, updateItemList)
|
||||||
}
|
}
|
||||||
@@ -501,9 +466,9 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag
|
|||||||
var failedList []*partner.StoreSkuInfoWithErr
|
var failedList []*partner.StoreSkuInfoWithErr
|
||||||
for _, sku := range skus {
|
for _, sku := range skus {
|
||||||
if vendorID == model.VendorIDJDShop && storeID != model.JdShopMainStoreID && storeID != model.JdShopMainStoreID2 {
|
if vendorID == model.VendorIDJDShop && storeID != model.JdShopMainStoreID && storeID != model.JdShopMainStoreID2 {
|
||||||
if model.IsSyncStatusNew(sku.SkuSyncStatus) {
|
// if model.IsSyncStatusNew(sku.SkuSyncStatus) {
|
||||||
sku.SkuSyncStatus = sku.SkuSyncStatus - model.SyncFlagNewMask
|
// sku.SkuSyncStatus = sku.SkuSyncStatus - model.SyncFlagNewMask
|
||||||
}
|
// }
|
||||||
storeDetail2, _ := dao.GetStoreDetail(db, storeID, vendorID, sku.VendorOrgCode)
|
storeDetail2, _ := dao.GetStoreDetail(db, storeID, vendorID, sku.VendorOrgCode)
|
||||||
vendorStoreID = storeDetail2.VendorStoreID
|
vendorStoreID = storeDetail2.VendorStoreID
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1767,30 +1767,30 @@ func UploadJdsImage(ctx *jxcontext.Context) (err error) {
|
|||||||
func(task2 *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
func(task2 *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
||||||
v := batchItemList[0].(*model.StoreSkuBind)
|
v := batchItemList[0].(*model.StoreSkuBind)
|
||||||
if v.JdsID != 0 && v.SubStoreID == 0 {
|
if v.JdsID != 0 && v.SubStoreID == 0 {
|
||||||
task := tasksch.NewParallelTask("京东商城门店建商品2", tasksch.NewParallelConfig().SetParallelCount(2).SetIsContinueWhenError(true), ctx,
|
if err = api.JdShop2API.StoreSkuBindStore(true, []string{utils.Int64ToStr(v.JdsID)}, nil); err == nil {
|
||||||
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
// task := tasksch.NewParallelTask("京东商城门店建商品2", tasksch.NewParallelConfig().SetParallelCount(2).SetIsContinueWhenError(true), ctx,
|
||||||
storeMap := batchItemList[0].(*model.StoreMap)
|
// func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
||||||
if err = api.JdShop2API.StoreSkuBindStore(false, []string{utils.Int64ToStr(v.JdsID)}, []string{storeMap.VendorStoreID}); err == nil {
|
// storeMap := batchItemList[0].(*model.StoreMap)
|
||||||
storeSkus2, _ := dao.GetStoresSkusInfo(db, []int{storeMap.StoreID}, []int{v.SkuID})
|
// storeSkus2, _ := dao.GetStoresSkusInfo(db, []int{storeMap.StoreID}, []int{v.SkuID})
|
||||||
if len(storeSkus2) > 0 {
|
// if len(storeSkus2) > 0 {
|
||||||
status := storeSkus2[0].Status
|
// status := storeSkus2[0].Status
|
||||||
stock := storeSkus2[0].Stock
|
// stock := storeSkus2[0].Stock
|
||||||
price := storeSkus2[0].Price
|
// price := storeSkus2[0].Price
|
||||||
if status == model.StoreSkuBindStatusNormal {
|
// if status == model.StoreSkuBindStatusNormal {
|
||||||
api.JdShop2API.StoreWareDoUpdate(status, v.JdsID, storeMap.VendorStoreID)
|
// api.JdShop2API.StoreWareDoUpdate(status, v.JdsID, storeMap.VendorStoreID)
|
||||||
|
// }
|
||||||
|
// if stock != 0 {
|
||||||
|
// api.JdShop2API.StoreUpdateStock(stock, v.JdsID, storeMap.VendorStoreID)
|
||||||
|
// }
|
||||||
|
// api.JdShop2API.StoreUpdatePrice(utils.Float64ToStr(jxutils.IntPrice2Standard(int64(price))), v.JdsID, storeMap.VendorStoreID)
|
||||||
|
// } else {
|
||||||
|
// return retVal, err
|
||||||
|
// }
|
||||||
|
// return retVal, err
|
||||||
|
// }, storeMaps)
|
||||||
|
// tasksch.HandleTask(task, task2, true).Run()
|
||||||
|
// _, err = task.GetResult(0)
|
||||||
}
|
}
|
||||||
if stock != 0 {
|
|
||||||
api.JdShop2API.StoreUpdateStock(stock, v.JdsID, storeMap.VendorStoreID)
|
|
||||||
}
|
|
||||||
api.JdShop2API.StoreUpdatePrice(utils.Float64ToStr(jxutils.IntPrice2Standard(int64(price))), v.JdsID, storeMap.VendorStoreID)
|
|
||||||
} else {
|
|
||||||
return retVal, err
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return retVal, err
|
|
||||||
}, storeMaps)
|
|
||||||
tasksch.HandleTask(task, task2, true).Run()
|
|
||||||
_, err = task.GetResult(0)
|
|
||||||
}
|
}
|
||||||
v.SubStoreID = 1
|
v.SubStoreID = 1
|
||||||
dao.UpdateEntity(db, v, "SubStoreID")
|
dao.UpdateEntity(db, v, "SubStoreID")
|
||||||
|
|||||||
@@ -34,7 +34,8 @@ var (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func (p *PurchaseHandler) CreateStoreSkus(ctx *jxcontext.Context, storeID int, vendorStoreID string, storeSkuList []*dao.StoreSkuSyncInfo) (failedList []*partner.StoreSkuInfoWithErr, err error) {
|
func (p *PurchaseHandler) CreateStoreSkus(ctx *jxcontext.Context, storeID int, vendorStoreID string, storeSkuList []*dao.StoreSkuSyncInfo) (failedList []*partner.StoreSkuInfoWithErr, err error) {
|
||||||
if globals.EnableJdShopWrite && (vendorStoreID == model.JdShopMainVendorStoreID || vendorStoreID == model.JdShopMainVendorStoreID2) {
|
if globals.EnableJdShopWrite {
|
||||||
|
if vendorStoreID == model.JdShopMainVendorStoreID || vendorStoreID == model.JdShopMainVendorStoreID2 {
|
||||||
for _, v := range storeSkuList {
|
for _, v := range storeSkuList {
|
||||||
//判断京东商城上是否有这个商品了,如果有就是添加规格而不是创建商品
|
//判断京东商城上是否有这个商品了,如果有就是添加规格而不是创建商品
|
||||||
//如果是京东商城2,是下架的商品,弄上架
|
//如果是京东商城2,是下架的商品,弄上架
|
||||||
@@ -136,9 +137,11 @@ func (p *PurchaseHandler) CreateStoreSkus(ctx *jxcontext.Context, storeID int, v
|
|||||||
break
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
err = api.JdShop2API.WareDoUpdate("up", utils.Int64ToStr(wareSaveParam.WareID))
|
|
||||||
}
|
|
||||||
//创建商品后要上架,改价,库存,门店关注商品等
|
//创建商品后要上架,改价,库存,门店关注商品等
|
||||||
|
if err = api.JdShop2API.WareDoUpdate("up", utils.Int64ToStr(wareSaveParam.WareID)); err == nil {
|
||||||
|
err = api.JdShop2API.StoreSkuBindStore(true, []string{vv.VendorSkuID}, nil)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -206,7 +209,13 @@ func (p *PurchaseHandler) CreateStoreSkus(ctx *jxcontext.Context, storeID int, v
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
//创建商品后要上架,改价,库存,门店关注商品等
|
//创建商品后要上架,改价,库存,门店关注商品等
|
||||||
err = api.JdShop2API.WareDoUpdate("up", utils.Int64ToStr(wareID))
|
if err = api.JdShop2API.WareDoUpdate("up", utils.Int64ToStr(wareID)); err == nil {
|
||||||
|
for _, vv2 := range v.StoreSkuSyncInfoJds {
|
||||||
|
if resultAttrs[utils.Int2Str(vv2.SkuID)] != 0 {
|
||||||
|
err = api.JdShop2API.StoreSkuBindStore(true, []string{utils.Int64ToStr(resultAttrs[utils.Int2Str(vv2.SkuID)])}, nil)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDJDShop], "创建商品")
|
failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDJDShop], "创建商品")
|
||||||
@@ -237,6 +246,30 @@ func (p *PurchaseHandler) CreateStoreSkus(ctx *jxcontext.Context, storeID int, v
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
//如果是普通店关注商品
|
||||||
|
for _, v := range storeSkuList {
|
||||||
|
if v.VendorOrgCode == "2" {
|
||||||
|
storeSkus, _ := dao.GetStoresSkusInfo(dao.GetDB(), []int{model.JdShopMainStoreID2}, []int{v.SkuID})
|
||||||
|
if len(storeSkus) > 0 {
|
||||||
|
for _, vv := range storeSkus {
|
||||||
|
if vv.JdsID != 0 {
|
||||||
|
status := v.Status
|
||||||
|
stock := v.Stock
|
||||||
|
price := v.VendorPrice
|
||||||
|
if status == model.StoreSkuBindStatusNormal {
|
||||||
|
api.JdShop2API.StoreWareDoUpdate(status, vv.JdsID, vendorStoreID)
|
||||||
|
}
|
||||||
|
if stock != 0 {
|
||||||
|
api.JdShop2API.StoreUpdateStock(stock, vv.JdsID, vendorStoreID)
|
||||||
|
}
|
||||||
|
api.JdShop2API.StoreUpdatePrice(utils.Float64ToStr(jxutils.IntPrice2Standard(int64(price))), vv.JdsID, vendorStoreID)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return failedList, err
|
return failedList, err
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user