银豹关注商品标品使用upc作为barcode,否则报错
This commit is contained in:
@@ -514,8 +514,6 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag
|
||||
isContinueWhenError2 := true
|
||||
//如果是银豹平台,则要按照商品skuname维度同步
|
||||
if vendorID == model.VendorIDYB {
|
||||
// createList, updateList []*dao.StoreSkuSyncInfo
|
||||
// deleteList, stockList, onlineList, offlineList, priceList []*partner.StoreSkuInfo
|
||||
if len(createList) > 0 {
|
||||
rList1, _ := changeList2Yb(createList, nil)
|
||||
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) {
|
||||
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
|
||||
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"`
|
||||
Prefix string `json:"prefix"`
|
||||
IsSpu int `json:"isSpu"`
|
||||
Upc string `json:"upc"`
|
||||
ExPrefix string `json:"exPrefix"`
|
||||
ExPrefixBegin *time.Time `json:"exPrefixBegin"`
|
||||
ExPrefixEnd *time.Time `json:"eExPrefixEndxPrefixEnd"`
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package yb
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"regexp"
|
||||
|
||||
"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) {
|
||||
if globals.EnableYbStoreWrite {
|
||||
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 {
|
||||
failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDYB], "创建商品")
|
||||
} else {
|
||||
@@ -431,3 +437,18 @@ func updateYbSkuPluCode(vendorStoreID, ybBarCode string) (err error) {
|
||||
}
|
||||
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