银豹关注商品标品使用upc作为barcode,否则报错
This commit is contained in:
@@ -514,8 +514,6 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag
|
|||||||
isContinueWhenError2 := true
|
isContinueWhenError2 := true
|
||||||
//如果是银豹平台,则要按照商品skuname维度同步
|
//如果是银豹平台,则要按照商品skuname维度同步
|
||||||
if vendorID == model.VendorIDYB {
|
if vendorID == model.VendorIDYB {
|
||||||
// createList, updateList []*dao.StoreSkuSyncInfo
|
|
||||||
// deleteList, stockList, onlineList, offlineList, priceList []*partner.StoreSkuInfo
|
|
||||||
if len(createList) > 0 {
|
if len(createList) > 0 {
|
||||||
rList1, _ := changeList2Yb(createList, nil)
|
rList1, _ := changeList2Yb(createList, nil)
|
||||||
createList = createList[:]
|
createList = createList[:]
|
||||||
|
|||||||
@@ -78,7 +78,7 @@ func GetCategories(db *DaoDB, parentID, level int, catIDs []int, isExd bool) (ca
|
|||||||
|
|
||||||
func GetSkus(db *DaoDB, skuIDs, nameIDs, statuss, catIDs []int, eclpIDs []string) (skuList []*model.SkuAndName, err error) {
|
func GetSkus(db *DaoDB, skuIDs, nameIDs, statuss, catIDs []int, eclpIDs []string) (skuList []*model.SkuAndName, err error) {
|
||||||
sql := `
|
sql := `
|
||||||
SELECT t1.*, t2.name, t2.unit, t2.prefix, t2.is_spu, t2.ex_prefix, t2.ex_prefix_begin, t2.ex_prefix_end
|
SELECT t1.*, t2.name, t2.unit, t2.prefix, t2.is_spu, t2.ex_prefix, t2.ex_prefix_begin, t2.ex_prefix_end, t2.upc
|
||||||
FROM sku t1
|
FROM sku t1
|
||||||
JOIN sku_name t2 ON t2.id = t1.name_id AND t2.deleted_at = ?
|
JOIN sku_name t2 ON t2.id = t1.name_id AND t2.deleted_at = ?
|
||||||
`
|
`
|
||||||
|
|||||||
@@ -245,6 +245,7 @@ type SkuAndName struct {
|
|||||||
Unit string `json:"unit"`
|
Unit string `json:"unit"`
|
||||||
Prefix string `json:"prefix"`
|
Prefix string `json:"prefix"`
|
||||||
IsSpu int `json:"isSpu"`
|
IsSpu int `json:"isSpu"`
|
||||||
|
Upc string `json:"upc"`
|
||||||
ExPrefix string `json:"exPrefix"`
|
ExPrefix string `json:"exPrefix"`
|
||||||
ExPrefixBegin *time.Time `json:"exPrefixBegin"`
|
ExPrefixBegin *time.Time `json:"exPrefixBegin"`
|
||||||
ExPrefixEnd *time.Time `json:"eExPrefixEndxPrefixEnd"`
|
ExPrefixEnd *time.Time `json:"eExPrefixEndxPrefixEnd"`
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package yb
|
package yb
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
"regexp"
|
"regexp"
|
||||||
|
|
||||||
"git.rosy.net.cn/baseapi/platformapi/yinbaoapi"
|
"git.rosy.net.cn/baseapi/platformapi/yinbaoapi"
|
||||||
@@ -24,7 +25,12 @@ 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.EnableYbStoreWrite {
|
if globals.EnableYbStoreWrite {
|
||||||
storeSku := storeSkuList[0]
|
storeSku := storeSkuList[0]
|
||||||
result, err := api.YinBaoAPI.AddProductInfo(buildProductInfoParam(storeSku))
|
var result *yinbaoapi.AddProductInfoResult
|
||||||
|
if err2 := checkYbSku(storeSku); err2 != nil {
|
||||||
|
err = err2
|
||||||
|
} else {
|
||||||
|
result, err = api.YinBaoAPI.AddProductInfo(buildProductInfoParam(storeSku))
|
||||||
|
}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDYB], "创建商品")
|
failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDYB], "创建商品")
|
||||||
} else {
|
} else {
|
||||||
@@ -431,3 +437,18 @@ func updateYbSkuPluCode(vendorStoreID, ybBarCode string) (err error) {
|
|||||||
}
|
}
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func checkYbSku(storeSku *dao.StoreSkuSyncInfo) (err error) {
|
||||||
|
skuID := storeSku.SkuID
|
||||||
|
skus, _ := dao.GetSkus(dao.GetDB(), []int{skuID}, nil, nil, nil, nil)
|
||||||
|
if len(skus) > 0 {
|
||||||
|
if skus[0].Unit != model.UnitNames[0] {
|
||||||
|
if skus[0].Upc == "" {
|
||||||
|
return fmt.Errorf("创建标品必须指定upc码,skuID[%v]", skuID)
|
||||||
|
} else {
|
||||||
|
storeSku.YbBarCode = skus[0].Upc
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user