银豹关注商品标品使用upc作为barcode,否则报错

This commit is contained in:
苏尹岚
2020-03-30 17:45:00 +08:00
parent 9b71f15a6c
commit e7647151d1
4 changed files with 24 additions and 4 deletions

View File

@@ -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[:]

View File

@@ -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 = ?
`

View File

@@ -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"`

View File

@@ -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
}