京东商城商品创建更新id测试

This commit is contained in:
苏尹岚
2020-05-13 10:27:03 +08:00
parent 5f901f8531
commit 7fcb6e536e
3 changed files with 43 additions and 18 deletions

View File

@@ -236,7 +236,7 @@ func storeSkuSyncInfo2Bare(inSku *dao.StoreSkuSyncInfo) (outSku *partner.StoreSk
Seq: inSku.Seq, Seq: inSku.Seq,
JxPrice: inSku.Price, JxPrice: inSku.Price,
JxUnitPrice: inSku.UnitPrice, JxUnitPrice: inSku.UnitPrice,
VendorSkuID2: utils.Int2Str(inSku.JdsWareID), VendorSkuID2: utils.Int64ToStr(inSku.JdsWareID),
} }
if !isStoreSkuSyncNeedDelete(inSku) { if !isStoreSkuSyncNeedDelete(inSku) {
outSku.Stock = model.MaxStoreSkuStockQty outSku.Stock = model.MaxStoreSkuStockQty
@@ -334,6 +334,16 @@ func updateStoreSku(db *dao.DaoDB, vendorID int, storeSkuList []*dao.StoreSkuSyn
// panic(r) // panic(r)
// } // }
// }() // }()
if vendorID == model.VendorIDJDShop {
for _, v := range storeSkuList {
updateItemList := make([]*dao.KVUpdateItem, len(storeSkuList))
for k, vv := range v.StoreSkuSyncInfoJds {
updateItemList[k] = sku2Update(vendorID, vv, syncStatus)
err = updateJdsWareID(db, vv)
}
num, err = dao.BatchUpdateEntityByKV(db, updateItemList)
}
} else {
updateItemList := make([]*dao.KVUpdateItem, len(storeSkuList)) updateItemList := make([]*dao.KVUpdateItem, len(storeSkuList))
for k, v := range storeSkuList { for k, v := range storeSkuList {
updateItemList[k] = sku2Update(vendorID, v, syncStatus) updateItemList[k] = sku2Update(vendorID, v, syncStatus)
@@ -342,18 +352,13 @@ func updateStoreSku(db *dao.DaoDB, vendorID int, storeSkuList []*dao.StoreSkuSyn
if vendorID == model.VendorIDYB { if vendorID == model.VendorIDYB {
err = updateYbOhterSku(db, storeSkuList) err = updateYbOhterSku(db, storeSkuList)
} }
if vendorID == model.VendorIDJDShop {
err = updateJdsWareID(db, storeSkuList)
} }
} }
return num, err return num, err
} }
func updateJdsWareID(db *dao.DaoDB, storeSkuList []*dao.StoreSkuSyncInfo) (err error) { func updateJdsWareID(db *dao.DaoDB, storeSku *dao.StoreSkuSyncInfo) (err error) {
for _, v := range storeSkuList { return dao.UpdateJdsWareID(db, storeSku)
err = dao.UpdateJdsWareID(db, v)
}
return err
} }
func updateYbOhterSku(db *dao.DaoDB, storeSkuList []*dao.StoreSkuSyncInfo) (err error) { func updateYbOhterSku(db *dao.DaoDB, storeSkuList []*dao.StoreSkuSyncInfo) (err error) {

View File

@@ -61,7 +61,7 @@ type StoreSkuSyncInfo struct {
StoreSkuStatus int StoreSkuStatus int
SkuSyncStatus int8 SkuSyncStatus int8
VendorSkuID string `orm:"column(vendor_sku_id)"` VendorSkuID string `orm:"column(vendor_sku_id)"`
JdsWareID int `orm:"column(jds_ware_id)" json:"jdsWareID"` JdsWareID int64 `orm:"column(jds_ware_id)" json:"jdsWareID"`
BindDeletedAt time.Time `orm:"type(datetime)" json:"bindDeletedAt"` BindDeletedAt time.Time `orm:"type(datetime)" json:"bindDeletedAt"`
model.Sku model.Sku

View File

@@ -27,8 +27,28 @@ 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 { if globals.EnableJdShopWrite && vendorStoreID == model.JdShopMainVendorStoreID {
for _, v := range storeSkuList { for _, v := range storeSkuList {
buildCreateWareParam(v) createSkuParamWare, createSkuParamSkus, err := buildCreateWareParam(v)
// api.JdShopAPI.CreateWare(createSkuParamWare, createSkuParamSkus) if err != nil {
failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDJDShop], "创建商品")
}
createSkuResult, err := api.JdShopAPI.CreateWare(createSkuParamWare, createSkuParamSkus)
if err != nil {
failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDJDShop], "创建商品")
}
v.JdsWareID = createSkuResult.WareID
for _, vv2 := range v.StoreSkuSyncInfoJds {
for _, vv := range createSkuParamSkus {
for _, vvv := range vv.SaleAttrs {
for _, vv1 := range createSkuResult.Skus {
for _, vvv1 := range vv1.SaleAttrs {
if vvv1.AttrValues[0] == vvv.AttrValues[0] {
vv2.VendorSkuID = utils.Int64ToStr(vv1.SkuID)
}
}
}
}
}
}
} }
} }
return failedList, err return failedList, err