银豹关注商品标品使用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 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[:]

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) { 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 = ?
` `

View File

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

View File

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