This commit is contained in:
苏尹岚
2019-10-31 13:55:29 +08:00
42 changed files with 647 additions and 454 deletions

View File

@@ -17,12 +17,11 @@ import (
"git.rosy.net.cn/jx-callback/globals/api"
)
const (
defVendorCatID = 201222934 // 其他蔬菜
)
var (
defCatMap = map[int]int64{
1: 151301831158987, // 休闲食品
2: 15347484581335, // 蔬菜类
3: 15347484581339, // 其他蔬菜类休闲食品
}
sensitiveWordRegexp = regexp.MustCompile(`商品名称中含有敏感词(\[.*\])`)
)
@@ -95,7 +94,7 @@ func (p *PurchaseHandler) UpdateStoreCategory(ctx *jxcontext.Context, storeID in
return err
}
func (p *PurchaseHandler) DeleteStoreCategory(ctx *jxcontext.Context, storeID int, vendorStoreID, vendorCatID string) (err error) {
func (p *PurchaseHandler) DeleteStoreCategory(ctx *jxcontext.Context, storeID int, vendorStoreID, vendorCatID string, level int) (err error) {
if globals.EnableEbaiStoreWrite {
err = api.EbaiAPI.ShopCategoryDelete(utils.Int2Str(storeID), utils.Str2Int64WithDefault(vendorCatID, 0))
}
@@ -252,11 +251,9 @@ func genSkuParamsFromStoreSkuInfo2(storeSku *dao.StoreSkuSyncInfo, isCreate bool
"left_num": model.MaxStoreSkuStockQty,
"category_id": utils.Str2Int64(storeSku.VendorCatID),
"predict_cat": 0, // 不使用推荐类目
// "cat1_id": getEbaiCat(storeSku.VendorVendorCatID3, 1),
// "cat2_id": getEbaiCat(storeSku.VendorVendorCatID2, 2),
"cat3_id": getEbaiCat(storeSku.VendorVendorCatID, 3),
"weight": storeSku.Weight,
"photos": photos,
"cat3_id": getEbaiCat(storeSku.VendorVendorCatID),
"weight": storeSku.Weight,
"photos": photos,
}
if storeSku.DescImg != "" {
params["rtf"] = storeSku.DescImg
@@ -292,9 +289,9 @@ func jxSkuStatus2Ebai(status int) int {
return ebaiapi.SkuStatusOnline
}
func getEbaiCat(catID int64, level int) int64 {
func getEbaiCat(catID int64) int64 {
if catID == 0 {
return defCatMap[level]
return defVendorCatID
}
return catID
}

View File

@@ -3,6 +3,7 @@ package mtwm
import (
"errors"
"fmt"
"math"
"net/url"
"regexp"
"strings"
@@ -571,19 +572,29 @@ func (c *PurchaseHandler) ListOrders(ctx *jxcontext.Context, parentTask tasksch.
vendorStoreID := batchItemList[0].(string)
var orderIDs []string
seqStart := 1
i := 0
for {
seqEnd := seqStart + mtwmapi.MaxGap4GetOrderIdByDaySeq - 1
tmpOrderIDs, err2 := api.MtwmAPI.GetOrderIdByDaySeq(vendorStoreID, queryDate, seqStart, seqEnd)
batchSize := int(math.Min(math.Pow(2, float64(i*3)), float64(mtwmapi.MaxGap4GetOrderIdByDaySeq)))
seqEnd := seqStart + batchSize - 1
var tmpOrderIDs []int64
if seqStart == seqEnd {
if vendorOderID, err2 := api.MtwmAPI.GetOrderIdByDaySeqSingle(vendorStoreID, queryDate, seqStart); err2 == nil {
tmpOrderIDs = []int64{vendorOderID}
}
} else {
tmpOrderIDs, err = api.MtwmAPI.GetOrderIdByDaySeq(vendorStoreID, queryDate, seqStart, seqEnd)
}
if len(tmpOrderIDs) > 0 {
for _, v := range tmpOrderIDs {
orderIDs = append(orderIDs, utils.Int64ToStr(v))
}
}
if err = err2; err != nil || len(tmpOrderIDs) == 0 {
if err != nil || len(tmpOrderIDs) < batchSize {
err = nil
break
}
seqStart = seqEnd + 1
i++
}
retVal = orderIDs
return retVal, nil
@@ -609,7 +620,7 @@ func (c *PurchaseHandler) ListOrders(ctx *jxcontext.Context, parentTask tasksch.
func (p *PurchaseHandler) GetOrderConsigneeNumber(ctx *jxcontext.Context, storeID int, vendorStoreID string) (numberList []*partner.OrderPhoneNumberInfo, err error) {
offset := 0
for {
result, err2 := api.MtwmAPI.OrderBatchPullPhoneNumber(vendorStoreID, 0, mtwmapi.MaxBatchPullPhoneNumberLimit)
result, err2 := api.MtwmAPI.OrderBatchPullPhoneNumber(vendorStoreID, offset, mtwmapi.MaxBatchPullPhoneNumberLimit)
if err = err2; err == nil {
for _, v := range result {
v2 := &partner.OrderPhoneNumberInfo{
@@ -635,7 +646,7 @@ func (p *PurchaseHandler) GetOrderConsigneeNumber(ctx *jxcontext.Context, storeI
func (p *PurchaseHandler) GetOrderCourierNumber(ctx *jxcontext.Context, storeID int, vendorStoreID string) (numberList []*partner.OrderPhoneNumberInfo, err error) {
offset := 0
for {
result, err2 := api.MtwmAPI.OrderGetRiderInfoPhoneNumber(vendorStoreID, 0, mtwmapi.MaxBatchPullPhoneNumberLimit)
result, err2 := api.MtwmAPI.OrderGetRiderInfoPhoneNumber(vendorStoreID, offset, mtwmapi.MaxBatchPullPhoneNumberLimit)
if err = err2; err == nil {
for _, v := range result {
numberList = append(numberList, &partner.OrderPhoneNumberInfo{

View File

@@ -37,8 +37,10 @@ func (p *PurchaseHandler) GetStoreSkusBatchSize(funcID int) (batchSize int) {
batchSize = mtwmapi.MaxStoreSkuBatchSize
case partner.FuncDeleteStoreSkus:
batchSize = 1 // 可考虑用批量操作
case partner.FuncCreateStoreSkus, partner.FuncUpdateStoreSkus:
case partner.FuncCreateStoreSkus:
batchSize = 1 // 可考虑用批量操作
case partner.FuncUpdateStoreSkus:
batchSize = mtwmapi.MaxStoreSkuBatchSize
case partner.FuncGetStoreSkusFullInfo:
batchSize = 1
}
@@ -162,9 +164,23 @@ func (p *PurchaseHandler) UpdateStoreCategory(ctx *jxcontext.Context, storeID in
return p.CreateStoreCategory(ctx, storeID, vendorStoreID, storeCat)
}
func (p *PurchaseHandler) DeleteStoreCategory(ctx *jxcontext.Context, storeID int, vendorStoreID, vendorCatID string) (err error) {
if globals.EnableMtwmStoreWrite {
err = api.MtwmAPI.RetailCatDelete(vendorStoreID, tryCatName2Code(vendorCatID), vendorCatID)
func (p *PurchaseHandler) DeleteStoreCategory(ctx *jxcontext.Context, storeID int, vendorStoreID, vendorCatID string, level int) (err error) {
if false {
if globals.EnableMtwmStoreWrite {
err = api.MtwmAPI.RetailCatDelete(vendorStoreID, tryCatName2Code(vendorCatID), vendorCatID)
}
} else {
var catCodes []string
if catCode := tryCatName2Code(vendorCatID); catCode != "" {
catCodes = []string{catCode}
}
if globals.EnableMtwmStoreWrite {
if level == 1 {
err = api.MtwmAPI.RetailCatSkuBatchDelete2(ctx.GetTrackInfo(), vendorStoreID, catCodes, []string{vendorCatID}, nil, nil, nil)
} else {
err = api.MtwmAPI.RetailCatSkuBatchDelete2(ctx.GetTrackInfo(), vendorStoreID, nil, nil, catCodes, []string{vendorCatID}, nil)
}
}
}
return err
}
@@ -292,6 +308,8 @@ func storeSku2Mtwm(storeSkuList []*partner.StoreSkuInfo, updateType int) (skuLis
skuInfo.Skus[0].Stock = stockCount2Mtwm(storeSku.Stock)
} else if updateType == updateTypePrice {
skuInfo.Skus[0].Price = jxutils.IntPrice2StandardString(storeSku.VendorPrice)
} else {
skuInfo.Skus = nil
}
skuList = append(skuList, skuInfo)
}

View File

@@ -64,7 +64,7 @@ func (p *PurchaseHandler) UpdateStoreCategory(ctx *jxcontext.Context, vendorStor
return err
}
func (p *PurchaseHandler) DeleteStoreCategory(ctx *jxcontext.Context, vendorStoreID, vendorCatID string) (err error) {
func (p *PurchaseHandler) DeleteStoreCategory(ctx *jxcontext.Context, vendorStoreID, vendorCatID string, level int) (err error) {
if globals.EnableWscStoreWrite {
err = api.WeimobAPI.UpdateClassify(utils.Str2Int64WithDefault(vendorCatID, 0), composeFakeDelName(vendorCatID), "")
}