1
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
package cms
|
package cms
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"encoding/json"
|
||||||
"fmt"
|
"fmt"
|
||||||
"git.rosy.net.cn/baseapi/platformapi/ebaiapi"
|
"git.rosy.net.cn/baseapi/platformapi/ebaiapi"
|
||||||
"git.rosy.net.cn/jx-callback/business/jxutils/tasksch"
|
"git.rosy.net.cn/jx-callback/business/jxutils/tasksch"
|
||||||
@@ -10,6 +11,7 @@ import (
|
|||||||
"git.rosy.net.cn/jx-callback/globals"
|
"git.rosy.net.cn/jx-callback/globals"
|
||||||
"git.rosy.net.cn/jx-callback/globals/api"
|
"git.rosy.net.cn/jx-callback/globals/api"
|
||||||
beego "github.com/astaxie/beego/server/web"
|
beego "github.com/astaxie/beego/server/web"
|
||||||
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"git.rosy.net.cn/baseapi/platformapi/mtwmapi"
|
"git.rosy.net.cn/baseapi/platformapi/mtwmapi"
|
||||||
@@ -381,61 +383,362 @@ func BatchInitSkuMT2MT(ctx *jxcontext.Context, fromSku []*mtwmapi.AppFood, toApi
|
|||||||
//#endregion
|
//#endregion
|
||||||
|
|
||||||
//#region 同步活动
|
//#region 同步活动
|
||||||
//
|
|
||||||
//func CopyMtActToMt(ctx *jxcontext.Context, fromStore, toStore *dao.StoreDetail) {
|
func CopyMtActToMt(ctx *jxcontext.Context, fromStore, toStore *dao.StoreDetail) {
|
||||||
// var fromApi *mtwmapi.API
|
var fromApi, toApi *mtwmapi.API
|
||||||
// var toApi *mtwmapi.API
|
var errData = make([]error, 0, 0)
|
||||||
// var errData = make([]error, 0, 0)
|
|
||||||
//
|
if fromStore.VendorOrgCode == globals.Mtwm2Code {
|
||||||
// if fromStore.VendorOrgCode == globals.Mtwm2Code {
|
fromApi = mtwmapi.New(beego.AppConfig.DefaultString("mtwmAppID2", ""), beego.AppConfig.DefaultString("mtwmSecret2", ""), beego.AppConfig.DefaultString("mtwmCallbackURL2", ""), "")
|
||||||
// fromApi = mtwmapi.New(beego.AppConfig.DefaultString("mtwmAppID2", ""), beego.AppConfig.DefaultString("mtwmSecret2", ""), beego.AppConfig.DefaultString("mtwmCallbackURL2", ""), "")
|
fromApi.SetToken(fromStore.MtwmToken)
|
||||||
// fromApi.SetToken(fromStore.MtwmToken)
|
} else {
|
||||||
// } else {
|
fromApi = partner.CurAPIManager.GetAPI(model.VendorIDMTWM, fromStore.VendorOrgCode).(*mtwmapi.API)
|
||||||
// fromApi = partner.CurAPIManager.GetAPI(model.VendorIDMTWM, fromStore.VendorOrgCode).(*mtwmapi.API)
|
}
|
||||||
// }
|
|
||||||
//
|
if toStore.VendorOrgCode == globals.Mtwm2Code {
|
||||||
// if toStore.VendorOrgCode == globals.Mtwm2Code {
|
toApi = mtwmapi.New(beego.AppConfig.DefaultString("mtwmAppID2", ""), beego.AppConfig.DefaultString("mtwmSecret2", ""), beego.AppConfig.DefaultString("mtwmCallbackURL2", ""), "")
|
||||||
// toApi = mtwmapi.New(beego.AppConfig.DefaultString("mtwmAppID2", ""), beego.AppConfig.DefaultString("mtwmSecret2", ""), beego.AppConfig.DefaultString("mtwmCallbackURL2", ""), "")
|
toApi.SetToken(toStore.MtwmToken)
|
||||||
// toApi.SetToken(toStore.MtwmToken)
|
} else {
|
||||||
// } else {
|
toApi = partner.CurAPIManager.GetAPI(model.VendorIDMTWM, toStore.VendorOrgCode).(*mtwmapi.API)
|
||||||
// toApi = partner.CurAPIManager.GetAPI(model.VendorIDMTWM, toStore.VendorOrgCode).(*mtwmapi.API)
|
}
|
||||||
// }
|
|
||||||
//
|
// 买赠活动
|
||||||
// // 买赠活动
|
buyGiftList, err := fromApi.BatchQueryBuyGiftsAll(fromStore.VendorStoreID)
|
||||||
// buyGiftList, err := fromApi.BatchQueryBuyGiftsAll(fromStore.VendorStoreID)
|
if err != nil {
|
||||||
// if err != nil {
|
errData = append(errData, fmt.Errorf("买赠活动异常:%v", errData))
|
||||||
// errData = append(errData, fmt.Errorf("买赠活动异常:%v", errData))
|
}
|
||||||
// }
|
if len(buyGiftList) == model.NO {
|
||||||
// if len(buyGiftList) == model.NO {
|
errData = append(errData, fmt.Errorf("门店暂无买赠活动"))
|
||||||
// errData = append(errData, fmt.Errorf("门店暂无买赠活动"))
|
}
|
||||||
// }
|
|
||||||
//
|
param := make([]*mtwmapi.BatchCreateBuyGiftsParam, 0, 0)
|
||||||
// param := make([]*mtwmapi.BatchCreateBuyGiftsParam, 0, 0)
|
for _, v := range buyGiftList {
|
||||||
// for _, v := range buyGiftList {
|
buyGift := &mtwmapi.BatchCreateBuyGiftsParam{
|
||||||
// buyGift := &mtwmapi.BatchCreateBuyGiftsParam{
|
AppSpuCode: v.AppSpuCode,
|
||||||
// AppSpuCode: v.AppSpuCode,
|
StartTime: v.StartTime,
|
||||||
// StartTime: v.StartTime,
|
EndTime: v.EndTime,
|
||||||
// EndTime: v.EndTime,
|
GiftsType: v.GiftsType,
|
||||||
// GiftsType: v.GiftsType,
|
GiftsName: v.GiftsName,
|
||||||
// GiftsName: v.GiftsName,
|
GiftsAppSpuCode: v.GiftsAppSpuCode,
|
||||||
// GiftsAppSpuCode: v.GiftsAppSpuCode,
|
BuyNum: v.BuyNum,
|
||||||
// BuyNum: v.BuyNum,
|
GiftsNum: v.GiftsNum,
|
||||||
// GiftsNum: v.GiftsNum,
|
GiftsCharge: v.GiftsCharge,
|
||||||
// GiftsCharge: v.GiftsCharge,
|
GiftsDayLimit: v.GiftsDayLimit,
|
||||||
// GiftsDayLimit: v.GiftsDayLimit,
|
}
|
||||||
// }
|
|
||||||
//
|
// 赠品成本
|
||||||
// // 赠品成本
|
giftsCharge := &mtwmapi.GiftsChargeObj{}
|
||||||
// giftsCharge := &mtwmapi.GiftsChargeObj{}
|
if err := json.Unmarshal([]byte(v.Charge), giftsCharge); err != nil {
|
||||||
// if err := json.Unmarshal([]byte(v.Charge), giftsCharge); err != nil {
|
return
|
||||||
// return
|
}
|
||||||
// }
|
|
||||||
//
|
buyGift.GiftsCharge = utils.Str2Float64(fmt.Sprintf("%.2f", utils.Str2Float64(giftsCharge.GiftsCharge)))
|
||||||
// buyGift.GiftsCharge = utils.Str2Float64(fmt.Sprintf("%.2f", utils.Str2Float64(giftsCharge.GiftsCharge)))
|
param = append(param, buyGift)
|
||||||
// param = append(param, buyGift)
|
}
|
||||||
// }
|
toApi.BatchCreateBuyGifts(toStore.VendorStoreID, param)
|
||||||
// toApi.BatchCreateBuyGifts(toStore.VendorStoreID, param)
|
|
||||||
//
|
}
|
||||||
//}
|
|
||||||
|
// SyncStoreFullReduction 同步门店满减活动
|
||||||
|
func SyncStoreFullReduction(fromStoreApi, toStoreApi *mtwmapi.API, fromStoreId, toStoreId string) error {
|
||||||
|
data, err := fromStoreApi.BatchGetDiscountList(fromStoreId, 0)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
errList := make([]string, 0.0)
|
||||||
|
for k, v := range data {
|
||||||
|
param := &mtwmapi.CreateDiscountList{
|
||||||
|
AppPoiCode: toStoreId,
|
||||||
|
ActInfo: "",
|
||||||
|
ActDetails: "",
|
||||||
|
AppFoods: "",
|
||||||
|
}
|
||||||
|
actInfo := &mtwmapi.CreateDisCountActInfo{
|
||||||
|
StartTime: v.ActInfo.StartTime,
|
||||||
|
EndTime: v.ActInfo.EndTime,
|
||||||
|
ActType: 0, // 0 不传app_food
|
||||||
|
AutoDelay: 1,
|
||||||
|
}
|
||||||
|
if v.ActInfo.ActName != "" {
|
||||||
|
actInfo.ActName = v.ActInfo.ActName
|
||||||
|
} else {
|
||||||
|
actInfo.ActName = "全店满减" + utils.Int2Str(k)
|
||||||
|
}
|
||||||
|
|
||||||
|
actInfoByte, err := json.Marshal(actInfo)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
param.ActInfo = string(actInfoByte)
|
||||||
|
|
||||||
|
actDetails := make([]mtwmapi.CreateDiscountActDetails, 0, 0)
|
||||||
|
for _, ads := range v.ActDetails {
|
||||||
|
actDetails = append(actDetails, mtwmapi.CreateDiscountActDetails{
|
||||||
|
OriginPrice: utils.Float64TwoInt(ads.OriginPrice),
|
||||||
|
ActPrice: utils.Float64TwoInt(ads.ActPrice),
|
||||||
|
})
|
||||||
|
}
|
||||||
|
actDetailsByte, err := json.Marshal(actDetails)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
param.ActDetails = string(actDetailsByte)
|
||||||
|
_, err = toStoreApi.BatchCreateDiscountList(param)
|
||||||
|
if err != nil {
|
||||||
|
errList = append(errList, actInfo.ActName+":"+err.Error())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return fmt.Errorf(strings.Join(errList, ","))
|
||||||
|
}
|
||||||
|
|
||||||
|
// SyncStoreShippingFee 同步门店运费满减活动
|
||||||
|
func SyncStoreShippingFee(fromStoreApi, toStoreApi *mtwmapi.API, fromStoreId, toStoreId string) error {
|
||||||
|
data, err := fromStoreApi.BatchGetShippingFee(fromStoreId)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
if data.SuccessList != nil && len(data.SuccessList) != 0 {
|
||||||
|
param := make([]*mtwmapi.ShippingFeeBatchCreateActData, 0, 0)
|
||||||
|
for _, v := range data.SuccessList {
|
||||||
|
shippingFee := &mtwmapi.ShippingFeeBatchCreateActData{
|
||||||
|
StartTime: v.StartTime,
|
||||||
|
EndTime: v.EndTime,
|
||||||
|
WeeksTime: v.WeeksTime,
|
||||||
|
Period: v.Period,
|
||||||
|
MaxPrice: v.MaxPrice,
|
||||||
|
}
|
||||||
|
actDetail := make([]mtwmapi.ShippingFeeBatchCreateActDataActDetail, 0, 0)
|
||||||
|
for _, ad := range v.ActDetail {
|
||||||
|
actDetail = append(actDetail, mtwmapi.ShippingFeeBatchCreateActDataActDetail{
|
||||||
|
LimitPrice: ad.LimitPrice,
|
||||||
|
DiscountPrice: ad.DiscountPrice,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
shippingFee.ActDetail = actDetail
|
||||||
|
|
||||||
|
param = append(param, shippingFee)
|
||||||
|
}
|
||||||
|
|
||||||
|
resultData, err := toStoreApi.BatchCreateShippingFee(toStoreId, param)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if resultData.Data != "ok" {
|
||||||
|
return fmt.Errorf(resultData.Msg)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// SyncStoreProducts 同步门店折扣爆品活动
|
||||||
|
func SyncStoreProducts(fromStoreApi, toStoreApi *mtwmapi.API, fromStoreId, toStoreId string) error {
|
||||||
|
secKillALL, err := fromStoreApi.QueryProductsAll(fromStoreId, mtwmapi.RetailActTypeSecKill)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
killAct := make([]*mtwmapi.RetailDiscountActData, 0, 0)
|
||||||
|
for _, v := range secKillALL {
|
||||||
|
kill := &mtwmapi.RetailDiscountActData{
|
||||||
|
AppFoodCode: v.AppFoodCode,
|
||||||
|
UserType: v.UserType,
|
||||||
|
StartTime: v.StartTime,
|
||||||
|
EndTime: v.EndTime,
|
||||||
|
OrderLimit: v.OrderLimit,
|
||||||
|
DayLimit: v.DayLimit,
|
||||||
|
Period: v.Period,
|
||||||
|
WeeksTime: v.WeeksTime,
|
||||||
|
SettingType: v.SettingType,
|
||||||
|
ActPrice: v.ActPrice,
|
||||||
|
DiscountCoefficient: v.DiscountCoefficient,
|
||||||
|
Sequence: v.Sequence,
|
||||||
|
ItemID: v.ItemID,
|
||||||
|
OriginalPrice: v.OriginalPrice,
|
||||||
|
Stock: v.Stock,
|
||||||
|
Status: v.Status,
|
||||||
|
Name: v.Name,
|
||||||
|
}
|
||||||
|
killAct = append(killAct, kill)
|
||||||
|
}
|
||||||
|
|
||||||
|
//todo 折扣活动查询出来一万多条,暂时工单处理
|
||||||
|
directDownALL, err := fromStoreApi.QueryProductsAll(fromStoreId, mtwmapi.RetailActTypeDirectDown)
|
||||||
|
for _, v := range directDownALL {
|
||||||
|
kill := &mtwmapi.RetailDiscountActData{
|
||||||
|
AppFoodCode: v.AppFoodCode,
|
||||||
|
UserType: v.UserType,
|
||||||
|
StartTime: v.StartTime,
|
||||||
|
EndTime: v.EndTime,
|
||||||
|
OrderLimit: v.OrderLimit,
|
||||||
|
DayLimit: v.DayLimit,
|
||||||
|
Period: v.Period,
|
||||||
|
WeeksTime: v.WeeksTime,
|
||||||
|
SettingType: v.SettingType,
|
||||||
|
ActPrice: v.ActPrice,
|
||||||
|
DiscountCoefficient: v.DiscountCoefficient,
|
||||||
|
Sequence: v.Sequence,
|
||||||
|
ItemID: v.ItemID,
|
||||||
|
OriginalPrice: v.OriginalPrice,
|
||||||
|
Stock: v.Stock,
|
||||||
|
Status: v.Status,
|
||||||
|
Name: v.Name,
|
||||||
|
}
|
||||||
|
killAct = append(killAct, kill)
|
||||||
|
}
|
||||||
|
if len(killAct) != 0 {
|
||||||
|
_, _, err := toStoreApi.CreateProductsAct(toStoreId, mtwmapi.RetailActTypeSecKill, killAct)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// SyncStoreCoupon 同步门店商家券(单店店内商家券)
|
||||||
|
func SyncStoreCoupon(fromStoreApi, toStoreApi *mtwmapi.API, fromStoreId, toStoreId string) error {
|
||||||
|
couponList, err := fromStoreApi.QueryStoreCoupon(fromStoreId)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
errList := make([]string, 0, 0)
|
||||||
|
if len(couponList) != 0 {
|
||||||
|
for _, v := range couponList {
|
||||||
|
couponInfoList := make([]*mtwmapi.CouponInfo, 0, 0)
|
||||||
|
for _, ad := range v.ActData {
|
||||||
|
couponInfoList = append(couponInfoList, &mtwmapi.CouponInfo{
|
||||||
|
LimitPrice: ad.LimitPrice,
|
||||||
|
CouponPrice: ad.CouponPrice,
|
||||||
|
UserType: ad.UserType,
|
||||||
|
ValidityDays: ad.ValidityDays,
|
||||||
|
Stock: ad.Stock,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
limitTime := &mtwmapi.LimitTime{
|
||||||
|
StartTime: v.StartTime,
|
||||||
|
EndTime: v.EndTime,
|
||||||
|
}
|
||||||
|
|
||||||
|
if _, err := toStoreApi.CreateStoreCouponBatch(toStoreId, limitTime, couponInfoList); err != nil {
|
||||||
|
errList = append(errList, err.Error())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(errList) != 0 {
|
||||||
|
return fmt.Errorf(strings.Join(errList, ","))
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// SyncStoreXDiscount 同步门店X件优惠活动(x件m元/X件m折/X件减m元)目前只有x件m元,其他两个查询不出来,美团创建成功也查询不出来
|
||||||
|
// 暂时不能创建,无法获取商品的活动价格和活动库存
|
||||||
|
func SyncStoreXDiscount(fromStoreApi, toStoreApi *mtwmapi.API, fromStoreId, toStoreId string) error {
|
||||||
|
//result := make([]*mtwmapi.BundlesSuccessListDetail, 0, 0)
|
||||||
|
//// X件M元
|
||||||
|
//bundlesXM, _ := fromStoreApi.QueryBundlesAct(fromStoreId, 0)
|
||||||
|
//if bundlesXM != nil {
|
||||||
|
// result = append(result, bundlesXM...)
|
||||||
|
//}
|
||||||
|
//// X件Y折
|
||||||
|
//bundlesXY, _ := fromStoreApi.QueryBundlesAct(fromStoreId, 2)
|
||||||
|
//if bundlesXY != nil {
|
||||||
|
// result = append(result, bundlesXY...)
|
||||||
|
//}
|
||||||
|
//
|
||||||
|
//errList := make([]error, 0, 0)
|
||||||
|
//for _, v := range result {
|
||||||
|
// actSku, err := fromStoreApi.QueryBundlesSku(fromStoreId, utils.Int64ToStr(v.ActId))
|
||||||
|
// if err != nil {
|
||||||
|
// errList = append(errList, err)
|
||||||
|
// continue
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
//}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// SyncRepurchaseSku 加价购[无法获取活动商品的价格和库存暂不创建]
|
||||||
|
func SyncRepurchaseSku() {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// SyncStoreCouponAct 门店商品券活动
|
||||||
|
func SyncStoreCouponAct(fromStoreApi, toStoreApi *mtwmapi.API, fromStoreId, toStoreId string) error {
|
||||||
|
couponInfoAll := make([]*mtwmapi.GetStoreCouponActSuccessList, 0, 0)
|
||||||
|
pageNumber := 1
|
||||||
|
pageSize := 100
|
||||||
|
for {
|
||||||
|
param := &mtwmapi.GetStoreCouponActParam{
|
||||||
|
AppPoiCode: fromStoreId,
|
||||||
|
ActStatus: 1,
|
||||||
|
StartTime: time.Now().AddDate(-1, 0, 0).Unix(),
|
||||||
|
EndTime: time.Now().AddDate(1, 0, 0).Unix(),
|
||||||
|
PageNum: pageNumber,
|
||||||
|
PageSize: pageSize,
|
||||||
|
}
|
||||||
|
|
||||||
|
couponList, err := fromStoreApi.GetStoreCouponAct(param)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
couponInfoAll = append(couponInfoAll, couponList...)
|
||||||
|
if len(couponList) < pageSize {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
pageNumber++
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, v := range couponInfoAll {
|
||||||
|
couponSkuList, err := fromStoreApi.GetCouponActSkuList(fromStoreId, utils.Int64ToStr(v.ActId))
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, csl := range couponSkuList {
|
||||||
|
param := &mtwmapi.CreateCouponAct{
|
||||||
|
AppPoiCodes: csl.AppPoiCodes,
|
||||||
|
CouponName: csl.CouponName,
|
||||||
|
IsSinglePoi: csl.IsSinglePoi,
|
||||||
|
AppSpuCodes: csl.AppSpuCodes,
|
||||||
|
TakeCouponStartTime: csl.TakeCouponStartTime,
|
||||||
|
TakeCouponEndTime: csl.TakeCouponEndTime,
|
||||||
|
UseCouponStartTime: csl.UseCouponStartTime,
|
||||||
|
CouponLimitCount: csl.CouponLimitCount,
|
||||||
|
Type: csl.Type,
|
||||||
|
}
|
||||||
|
|
||||||
|
if csl.SpuData != nil && len(csl.SpuData) != 0 {
|
||||||
|
for _, sd := range csl.SpuData {
|
||||||
|
param.SpuData = append(param.SpuData, mtwmapi.CreateCouponActSpuData{
|
||||||
|
AppSpuCode: sd.AppSpuCode,
|
||||||
|
SkuId: sd.SkuId,
|
||||||
|
Upc: sd.Upc,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if csl.ActPriceCouponInfo != nil && len(csl.ActPriceCouponInfo) != 0 {
|
||||||
|
param.ActPriceCouponInfo = csl.ActPriceCouponInfo
|
||||||
|
}
|
||||||
|
if csl.DiscountCouponInfo != nil && len(csl.DiscountCouponInfo) != 0 {
|
||||||
|
param.DiscountCouponInfo = csl.DiscountCouponInfo
|
||||||
|
}
|
||||||
|
|
||||||
|
_, err = toStoreApi.CreateCouponAct(param)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
//#endregion
|
//#endregion
|
||||||
|
|||||||
@@ -220,7 +220,9 @@ func (p *PurchaseHandler) CreateSku2(ctx *jxcontext.Context, sku *dao.StoreSkuSy
|
|||||||
func (p *PurchaseHandler) UpdateSku2(ctx *jxcontext.Context, sku *dao.StoreSkuSyncInfo) (err error) {
|
func (p *PurchaseHandler) UpdateSku2(ctx *jxcontext.Context, sku *dao.StoreSkuSyncInfo) (err error) {
|
||||||
param := skuInfo2Param(ctx, sku)
|
param := skuInfo2Param(ctx, sku)
|
||||||
if globals.EnableJdStoreWrite {
|
if globals.EnableJdStoreWrite {
|
||||||
|
globals.SugarLogger.Debugf("============param := %s", utils.Format4Output(param, false))
|
||||||
_, err = getAPI(sku.VendorOrgCode).UpdateSku2(param)
|
_, err = getAPI(sku.VendorOrgCode).UpdateSku2(param)
|
||||||
|
globals.SugarLogger.Debugf("============err := %v", err)
|
||||||
}
|
}
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user