Merge branch 'jdshop' of https://e.coding.net/rosydev/jx-callback into jdshop
This commit is contained in:
@@ -338,7 +338,6 @@ func OnCreateThing2Tiktok(ctx *jxcontext.Context, db *dao.DaoDB, appOrgCode stri
|
|||||||
}
|
}
|
||||||
errList := errlist.New()
|
errList := errlist.New()
|
||||||
for _, v := range vendorThingList {
|
for _, v := range vendorThingList {
|
||||||
globals.SugarLogger.Debugf("==========本地商品id:[%d],主商品id:[%d],主商品属性:[%s]", v.LocalSkuId, v.MainId, v.SkuAttrId)
|
|
||||||
thingMap := &model.ThingMap{
|
thingMap := &model.ThingMap{
|
||||||
ThingID: v.LocalSkuId,
|
ThingID: v.LocalSkuId,
|
||||||
ThingType: thingType,
|
ThingType: thingType,
|
||||||
|
|||||||
@@ -616,7 +616,6 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag
|
|||||||
}
|
}
|
||||||
return skuList
|
return skuList
|
||||||
}
|
}
|
||||||
globals.SugarLogger.Debugf("bareSku2Sync==========%s", utils.Format4Output(bareSku2Sync, false))
|
|
||||||
|
|
||||||
isContinueWhenError2 := true
|
isContinueWhenError2 := true
|
||||||
//如果是银豹平台,则要按照商品skuname维度同步
|
//如果是银豹平台,则要按照商品skuname维度同步
|
||||||
|
|||||||
@@ -115,14 +115,14 @@ type StoreSkuBind struct {
|
|||||||
// ElmID int64 `orm:"column(elm_id);index"`
|
// ElmID int64 `orm:"column(elm_id);index"`
|
||||||
MtwmID int64 `orm:"column(mtwm_id);index"`
|
MtwmID int64 `orm:"column(mtwm_id);index"`
|
||||||
EbaiID int64 `orm:"column(ebai_id);index"`
|
EbaiID int64 `orm:"column(ebai_id);index"`
|
||||||
DdID int64 `orm:"column(dd_id);index"`
|
DdID int64 `orm:"column(dd_id);index"` // 子品主商品id
|
||||||
YbID int64 `orm:"column(yb_id);index"`
|
YbID int64 `orm:"column(yb_id);index"`
|
||||||
JdsID int64 `orm:"column(jds_id);index"`
|
JdsID int64 `orm:"column(jds_id);index"`
|
||||||
JdsWareID int64 `orm:"column(jds_ware_id)"`
|
JdsWareID int64 `orm:"column(jds_ware_id)"`
|
||||||
//GmID string `orm:"column(gm_id)"`
|
//GmID string `orm:"column(gm_id)"`
|
||||||
// WscID int64 `orm:"column(wsc_id);index"` // 表示微盟skuId
|
// WscID int64 `orm:"column(wsc_id);index"` // 表示微盟skuId
|
||||||
// WscID2 int64 `orm:"column(wsc_id2);index"` // 表示微盟goodsId
|
// WscID2 int64 `orm:"column(wsc_id2);index"` // 表示微盟goodsId
|
||||||
VendorSkuAttrId string `orm:"column(vendor_sku_attr_id)"` // 抖音需要,抖音商品属性id
|
VendorSkuAttrId string `orm:"column(vendor_sku_attr_id)"` // 抖音需要,主品skuid
|
||||||
VendorMainId string `orm:"column(vendor_Main_id)"` // 抖音需要,商品主id
|
VendorMainId string `orm:"column(vendor_Main_id)"` // 抖音需要,商品主id
|
||||||
|
|
||||||
// ElmSyncStatus int8 `orm:"default(2)"`
|
// ElmSyncStatus int8 `orm:"default(2)"`
|
||||||
|
|||||||
@@ -27,9 +27,10 @@ const (
|
|||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
AfsApproveTypeRefund = 1 // 退款
|
AfsApproveTypeRefund = 1 // 同意退款
|
||||||
AfsApproveTypeReturnGoods = 2 // 退货
|
AfsApproveTypeReturnGoods = 2 // 退货退款
|
||||||
AfsApproveTypeRefused = 3 // 驳回
|
AfsApproveTypeRefused = 3 // 驳回退款
|
||||||
|
AfsApproveTypeRefusedToRefundMoney = 4 // 退货转退款
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
|||||||
@@ -4,7 +4,6 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
shop_batchCreateStore_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_batchCreateStore/request"
|
shop_batchCreateStore_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_batchCreateStore/request"
|
||||||
"git.rosy.net.cn/baseapi/platformapi/tiktok_shop/tiktok_api"
|
"git.rosy.net.cn/baseapi/platformapi/tiktok_shop/tiktok_api"
|
||||||
"git.rosy.net.cn/jx-callback/business/partner/purchase/tiktok_store"
|
|
||||||
"testing"
|
"testing"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -114,6 +113,6 @@ func TestCreateFences(t *testing.T) {
|
|||||||
//t.Fatalf("resp===========:%v", resp)
|
//t.Fatalf("resp===========:%v", resp)
|
||||||
}
|
}
|
||||||
func TestSplice(t *testing.T) {
|
func TestSplice(t *testing.T) {
|
||||||
resp := tiktok_store.SplicingTimeToDoudian(100, 1100, 1200, 2100)
|
//resp := tiktok_store.SplicingTimeToDoudian(100, 1100, 1200, 2100)
|
||||||
t.Fatalf("resp===========:%v", resp)
|
//t.Fatalf("resp===========:%v", resp)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package ebai
|
package ebai
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
@@ -225,6 +226,8 @@ func (c *PurchaseHandler) AgreeOrRefuseRefund(ctx *jxcontext.Context, order *mod
|
|||||||
if globals.EnableEbaiStoreWrite {
|
if globals.EnableEbaiStoreWrite {
|
||||||
if approveType == partner.AfsApproveTypeRefused {
|
if approveType == partner.AfsApproveTypeRefused {
|
||||||
err = api.EbaiAPI.OrderDisagreeReturnGoods(order.VendorOrderID, order.AfsOrderID, reason)
|
err = api.EbaiAPI.OrderDisagreeReturnGoods(order.VendorOrderID, order.AfsOrderID, reason)
|
||||||
|
} else if approveType == partner.AfsApproveTypeRefusedToRefundMoney {
|
||||||
|
return errors.New("此平台暂时不支持")
|
||||||
} else {
|
} else {
|
||||||
err = api.EbaiAPI.OrderAgreeReturnGoods(order.VendorOrderID, order.AfsOrderID)
|
err = api.EbaiAPI.OrderAgreeReturnGoods(order.VendorOrderID, order.AfsOrderID)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package mtwm
|
package mtwm
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"git.rosy.net.cn/jx-callback/globals/api"
|
"git.rosy.net.cn/jx-callback/globals/api"
|
||||||
"net/url"
|
"net/url"
|
||||||
@@ -196,6 +197,8 @@ func (c *PurchaseHandler) AgreeOrRefuseRefund(ctx *jxcontext.Context, order *mod
|
|||||||
if globals.EnableMtwmStoreWrite {
|
if globals.EnableMtwmStoreWrite {
|
||||||
if approveType == partner.AfsApproveTypeRefused {
|
if approveType == partner.AfsApproveTypeRefused {
|
||||||
err = getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromAfsOrder(order), order.VendorStoreID).OrderRefundReject(utils.Str2Int64(order.VendorOrderID), reason)
|
err = getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromAfsOrder(order), order.VendorStoreID).OrderRefundReject(utils.Str2Int64(order.VendorOrderID), reason)
|
||||||
|
} else if approveType == partner.AfsApproveTypeRefusedToRefundMoney {
|
||||||
|
return errors.New("此平台暂时不支持")
|
||||||
} else {
|
} else {
|
||||||
err = getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromAfsOrder(order), order.VendorStoreID).OrderRefundAgree(utils.Str2Int64(order.VendorOrderID), reason)
|
err = getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromAfsOrder(order), order.VendorStoreID).OrderRefundAgree(utils.Str2Int64(order.VendorOrderID), reason)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,8 +2,10 @@ package tiktok_store
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
tiktokShop "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/tiktok_api"
|
tiktokShop "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/tiktok_api"
|
||||||
|
"git.rosy.net.cn/baseapi/utils"
|
||||||
"git.rosy.net.cn/jx-callback/business/jxutils"
|
"git.rosy.net.cn/jx-callback/business/jxutils"
|
||||||
"git.rosy.net.cn/jx-callback/business/model"
|
"git.rosy.net.cn/jx-callback/business/model"
|
||||||
|
"git.rosy.net.cn/jx-callback/globals"
|
||||||
"git.rosy.net.cn/jx-callback/globals/api"
|
"git.rosy.net.cn/jx-callback/globals/api"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -11,6 +13,9 @@ import (
|
|||||||
func OnOrderMsg(msgId string, msg interface{}) (response *tiktokShop.CallbackResponse) {
|
func OnOrderMsg(msgId string, msg interface{}) (response *tiktokShop.CallbackResponse) {
|
||||||
if CurPurchaseHandler != nil {
|
if CurPurchaseHandler != nil {
|
||||||
orderId, _ := api.TiktokStore.GetCallbackOrderId(msgId, msg)
|
orderId, _ := api.TiktokStore.GetCallbackOrderId(msgId, msg)
|
||||||
|
globals.SugarLogger.Debugf("======orderId:%s", orderId)
|
||||||
|
globals.SugarLogger.Debugf("======msg:%s", utils.Format4Output(msg, false))
|
||||||
|
|
||||||
jxutils.CallMsgHandler(func() {
|
jxutils.CallMsgHandler(func() {
|
||||||
response = CurPurchaseHandler.onOrderMsg(msgId, orderId, msg)
|
response = CurPurchaseHandler.onOrderMsg(msgId, orderId, msg)
|
||||||
}, jxutils.ComposeUniversalOrderID(orderId, model.VendorIDDD))
|
}, jxutils.ComposeUniversalOrderID(orderId, model.VendorIDDD))
|
||||||
|
|||||||
@@ -289,7 +289,6 @@ func (c *PurchaseHandler) onOrderMsg(msgId, orderId string, msg interface{}) (re
|
|||||||
if err := partner.CurOrderManager.OnOrderNew(order, status); err != nil {
|
if err := partner.CurOrderManager.OnOrderNew(order, status); err != nil {
|
||||||
return tiktokShop.Err2CallbackResponse(err, "")
|
return tiktokShop.Err2CallbackResponse(err, "")
|
||||||
}
|
}
|
||||||
|
|
||||||
orderMap, err := c.getOrderMap("", orderId, "")
|
orderMap, err := c.getOrderMap("", orderId, "")
|
||||||
utils.CallFuncAsync(func() {
|
utils.CallFuncAsync(func() {
|
||||||
switch msgId {
|
switch msgId {
|
||||||
@@ -613,7 +612,6 @@ func (c *PurchaseHandler) SelfDeliverDelivering(order *model.GoodsOrder, userNam
|
|||||||
AddressId: 0,
|
AddressId: 0,
|
||||||
StoreId: utils.Str2Int64(order.VendorStoreID),
|
StoreId: utils.Str2Int64(order.VendorStoreID),
|
||||||
}
|
}
|
||||||
globals.SugarLogger.Debugf("=============%s", utils.Format4Output(param, false))
|
|
||||||
return getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromOrder(order), "").OrderDelivering(param)
|
return getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromOrder(order), "").OrderDelivering(param)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -114,8 +114,10 @@ func (c *PurchaseHandler) AgreeOrRefuseRefund(ctx *jxcontext.Context, order *mod
|
|||||||
if globals.EnableDdStoreWrite {
|
if globals.EnableDdStoreWrite {
|
||||||
if approveType == partner.AfsApproveTypeRefused { // 拒绝退货
|
if approveType == partner.AfsApproveTypeRefused { // 拒绝退货
|
||||||
err = getAPI(order.VendorOrgCode, order.JxStoreID, "").AfterSaleOperate(tiktokShop.AfterSaleEmuRefuseOnlyRefundApply, order.AfsOrderID, "拒绝退货", utils.Str2Int64(order.VendorStoreID))
|
err = getAPI(order.VendorOrgCode, order.JxStoreID, "").AfterSaleOperate(tiktokShop.AfterSaleEmuRefuseOnlyRefundApply, order.AfsOrderID, "拒绝退货", utils.Str2Int64(order.VendorStoreID))
|
||||||
} else {
|
} else if approveType == partner.AfsApproveTypeRefund { // 同意
|
||||||
err = getAPI(order.VendorOrgCode, order.JxStoreID, "").AfterSaleOperate(tiktokShop.AfterSaleEmuAgreeOnlyRefundApply, order.AfsOrderID, "同意仅退款", utils.Str2Int64(order.VendorStoreID))
|
err = getAPI(order.VendorOrgCode, order.JxStoreID, "").AfterSaleOperate(tiktokShop.AfterSaleEmuAgreeOnlyRefundApply, order.AfsOrderID, "同意仅退款", utils.Str2Int64(order.VendorStoreID))
|
||||||
|
} else if approveType == partner.AfsApproveTypeRefusedToRefundMoney { // 退货转退款
|
||||||
|
err = getAPI(order.VendorOrgCode, order.JxStoreID, "").AfterSaleOperate(tiktokShop.AfterSaleEmuReturnGoodsToRefundApply, order.AfsOrderID, "退货转退款", utils.Str2Int64(order.VendorStoreID))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return err
|
return err
|
||||||
|
|||||||
@@ -103,7 +103,6 @@ func (P *PurchaseHandler) CreateStore2(db *dao.DaoDB, storeID int, userName stri
|
|||||||
for j := 1; j <= 7; j++ {
|
for j := 1; j <= 7; j++ {
|
||||||
m[int64(j)] = timeStr
|
m[int64(j)] = timeStr
|
||||||
}
|
}
|
||||||
globals.SugarLogger.Debug("storeDetail.OpenTime1, storeDetail.CloseTime1, storeDetail.OpenTime2, storeDetail.CloseTime2,timeStr===========", storeDetail.OpenTime1, storeDetail.CloseTime1, storeDetail.OpenTime2, storeDetail.CloseTime2, timeStr)
|
|
||||||
}
|
}
|
||||||
list := shop_batchCreateStore_request.StoreListItem{
|
list := shop_batchCreateStore_request.StoreListItem{
|
||||||
RowId: 1,
|
RowId: 1,
|
||||||
@@ -175,7 +174,7 @@ func CreateOrUpdateAll(vendorOrgCode string, storeID, vendorStoreID int64) error
|
|||||||
if len(bindWarehouseAndFence) == 0 || utils.IsNil(bindWarehouseAndFence) { //未绑定仓库
|
if len(bindWarehouseAndFence) == 0 || utils.IsNil(bindWarehouseAndFence) { //未绑定仓库
|
||||||
if warehouseID, err := CreateWarehouse(vendorOrgCode, utils.Int64ToStr(storeID)); err != nil || warehouseID == 0 || utils.IsNil(warehouseID) {
|
if warehouseID, err := CreateWarehouse(vendorOrgCode, utils.Int64ToStr(storeID)); err != nil || warehouseID == 0 || utils.IsNil(warehouseID) {
|
||||||
errList.AddErr(fmt.Errorf("门店(%d) 创建仓库失败:%v", storeID, err))
|
errList.AddErr(fmt.Errorf("门店(%d) 创建仓库失败:%v", storeID, err))
|
||||||
} else { //绑定
|
} else { //绑定
|
||||||
if err = BindStoreWarehouse(vendorOrgCode, utils.Int64ToStr(storeID), vendorStoreID); err != nil { //仓库绑定通过自定义外部ID
|
if err = BindStoreWarehouse(vendorOrgCode, utils.Int64ToStr(storeID), vendorStoreID); err != nil { //仓库绑定通过自定义外部ID
|
||||||
errList.AddErr(fmt.Errorf("门店(%d) 绑定仓库:%d 失败:%v", storeID, warehouseID, err))
|
errList.AddErr(fmt.Errorf("门店(%d) 绑定仓库:%d 失败:%v", storeID, warehouseID, err))
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package tiktok_store
|
package tiktok_store
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"git.rosy.net.cn/baseapi/platformapi/mtwmapi"
|
"git.rosy.net.cn/baseapi/platformapi/mtwmapi"
|
||||||
sku_editPrice_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/sku_editPrice/request"
|
sku_editPrice_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/sku_editPrice/request"
|
||||||
@@ -216,38 +217,17 @@ func (p *PurchaseHandler) UpdateStoreSkusStatus(ctx *jxcontext.Context, vendorOr
|
|||||||
api := getAPI(vendorOrgCode, storeID, vendorStoreID)
|
api := getAPI(vendorOrgCode, storeID, vendorStoreID)
|
||||||
if status == model.SkuStatusNormal { // 下架
|
if status == model.SkuStatusNormal { // 下架
|
||||||
for _, v := range storeSkuList {
|
for _, v := range storeSkuList {
|
||||||
//if err := api.EditStoreCommodityCommit(&product_editV2_commit_request.ProductEditV2Param2{
|
// 子品商品id获取skuId
|
||||||
// ProductId: utils.Str2Int64(v.VendorSkuID),
|
childrenSku, err := api.GetSkuDetail(v.VendorSkuID, "")
|
||||||
// Commit: true,
|
if err != nil {
|
||||||
//}); err != nil {
|
return nil, err
|
||||||
// failedList = append(failedList, putils.GetErrMsg2FailedSingleList(v, err, storeID, model.VendorChineseNames[model.VendorIDDD], "下架商品异常")...)
|
|
||||||
//} else {
|
|
||||||
// failedList = append(failedList, putils.GetErrMsg2FailedSingleList(v, err, storeID, model.VendorChineseNames[model.VendorIDDD], "下架商品正常")...)
|
|
||||||
//}
|
|
||||||
param := &sku_syncStock_request.SkuSyncStockParam{
|
|
||||||
SkuId: utils.Str2Int64(v.VendorSkuAttrId),
|
|
||||||
ProductId: utils.Str2Int64(v.VendorSkuID),
|
|
||||||
Incremental: false,
|
|
||||||
IdempotentId: "",
|
|
||||||
StockNum: 0,
|
|
||||||
OutWarehouseId: vendorStoreID,
|
|
||||||
}
|
}
|
||||||
if err := api.UpdateSkuStock(param); err != nil {
|
if len(childrenSku.SpecPrices) <= 0 {
|
||||||
failedList = append(failedList, putils.GetErrMsg2FailedSingleList(v, err, storeID, model.VendorChineseNames[model.VendorIDDD], fmt.Sprintf("下架商品异常,添加固定库存.%s", utils.Format4Output(param, false)))...)
|
return nil, errors.New("子品商品详情获取失败")
|
||||||
} else {
|
|
||||||
failedList = append(failedList, putils.GetErrMsg2FailedSingleList(v, err, storeID, model.VendorChineseNames[model.VendorIDDD], fmt.Sprintf("下架商品正常,添加固定库存.%s", utils.Format4Output(param, false)))...)
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
} else { // 上架
|
|
||||||
for _, v := range storeSkuList {
|
|
||||||
//err := api.ProductSetOffline(utils.Str2Int64(v.VendorSkuID))
|
|
||||||
//if err == nil {
|
|
||||||
// failedList = append(failedList, putils.GetErrMsg2FailedSingleList(v, err, storeID, model.VendorChineseNames[model.VendorIDDD], "下架商品正常")...)
|
|
||||||
//} else {
|
|
||||||
// failedList = append(failedList, putils.GetErrMsg2FailedSingleList(v, err, storeID, model.VendorChineseNames[model.VendorIDDD], "下架商品异常")...)
|
|
||||||
//}
|
|
||||||
param := &sku_syncStock_request.SkuSyncStockParam{
|
param := &sku_syncStock_request.SkuSyncStockParam{
|
||||||
SkuId: utils.Str2Int64(v.VendorSkuAttrId),
|
SkuId: childrenSku.SpecPrices[0].SkuId,
|
||||||
ProductId: utils.Str2Int64(v.VendorSkuID),
|
ProductId: utils.Str2Int64(v.VendorSkuID),
|
||||||
Incremental: false,
|
Incremental: false,
|
||||||
IdempotentId: "",
|
IdempotentId: "",
|
||||||
@@ -255,9 +235,33 @@ func (p *PurchaseHandler) UpdateStoreSkusStatus(ctx *jxcontext.Context, vendorOr
|
|||||||
OutWarehouseId: vendorStoreID,
|
OutWarehouseId: vendorStoreID,
|
||||||
}
|
}
|
||||||
if err := api.UpdateSkuStock(param); err != nil {
|
if err := api.UpdateSkuStock(param); err != nil {
|
||||||
failedList = append(failedList, putils.GetErrMsg2FailedSingleList(v, err, storeID, model.VendorChineseNames[model.VendorIDDD], fmt.Sprintf("上架架商品异常,添加固定库存.%s", utils.Format4Output(param, false)))...)
|
failedList = append(failedList, putils.GetErrMsg2FailedSingleList(v, err, storeID, model.VendorChineseNames[model.VendorIDDD], fmt.Sprintf("下架架商品异常,添加固定库存.%s", utils.Format4Output(param, false)))...)
|
||||||
} else {
|
} else {
|
||||||
failedList = append(failedList, putils.GetErrMsg2FailedSingleList(v, err, storeID, model.VendorChineseNames[model.VendorIDDD], fmt.Sprintf("上架架商品异常,添加固定库存.%s", utils.Format4Output(param, false)))...)
|
failedList = append(failedList, putils.GetErrMsg2FailedSingleList(v, err, storeID, model.VendorChineseNames[model.VendorIDDD], fmt.Sprintf("下架商品异常,添加固定库存.%s", utils.Format4Output(param, false)))...)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else { // 上架
|
||||||
|
for _, v := range storeSkuList {
|
||||||
|
// 子品商品id获取skuId
|
||||||
|
childrenSku, err := api.GetSkuDetail(v.VendorSkuID, "")
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
if len(childrenSku.SpecPrices) <= 0 {
|
||||||
|
return nil, errors.New("子品商品详情获取失败")
|
||||||
|
}
|
||||||
|
param := &sku_syncStock_request.SkuSyncStockParam{
|
||||||
|
SkuId: childrenSku.SpecPrices[0].SkuId,
|
||||||
|
ProductId: utils.Str2Int64(v.VendorSkuID),
|
||||||
|
Incremental: false,
|
||||||
|
IdempotentId: "",
|
||||||
|
StockNum: 0,
|
||||||
|
OutWarehouseId: vendorStoreID,
|
||||||
|
}
|
||||||
|
if err := api.UpdateSkuStock(param); err != nil {
|
||||||
|
failedList = append(failedList, putils.GetErrMsg2FailedSingleList(v, err, storeID, model.VendorChineseNames[model.VendorIDDD], fmt.Sprintf("上架商品异常,添加固定库存.%s", utils.Format4Output(param, false)))...)
|
||||||
|
} else {
|
||||||
|
failedList = append(failedList, putils.GetErrMsg2FailedSingleList(v, err, storeID, model.VendorChineseNames[model.VendorIDDD], fmt.Sprintf("上架商品正常,添加固定库存.%s", utils.Format4Output(param, false)))...)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -206,7 +206,6 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI
|
|||||||
}
|
}
|
||||||
storeSku.VendorSkuAttrId = strings.Join(attrId, ",") // 属性id skuID
|
storeSku.VendorSkuAttrId = strings.Join(attrId, ",") // 属性id skuID
|
||||||
err = dao.CreateThingMap(int64(storeSku.SkuID), utils.Int64ToStr(tiktokResult.ProductId), storeDetail.VendorOrgCode, storeSku.VendorSkuAttrId)
|
err = dao.CreateThingMap(int64(storeSku.SkuID), utils.Int64ToStr(tiktokResult.ProductId), storeDetail.VendorOrgCode, storeSku.VendorSkuAttrId)
|
||||||
globals.SugarLogger.Debugf("err=============%s", err)
|
|
||||||
} else {
|
} else {
|
||||||
storeSku.VendorMainId = localThing[0].VendorThingID
|
storeSku.VendorMainId = localThing[0].VendorThingID
|
||||||
storeSku.VendorSkuAttrId = localThing[0].Remark // 属性id skuID
|
storeSku.VendorSkuAttrId = localThing[0].Remark // 属性id skuID
|
||||||
@@ -246,7 +245,6 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI
|
|||||||
param.SpecPrices = GetSpecPrices(param.Specs, vendorStoreID, tiktokResultProductId, storeSku)
|
param.SpecPrices = GetSpecPrices(param.Specs, vendorStoreID, tiktokResultProductId, storeSku)
|
||||||
|
|
||||||
param.StoreId = utils.Str2Int64(vendorStoreID)
|
param.StoreId = utils.Str2Int64(vendorStoreID)
|
||||||
globals.SugarLogger.Debugf("CreateStoreCommodity==========:%s", utils.Format4Output(param, false))
|
|
||||||
// 抖店创建子商品
|
// 抖店创建子商品
|
||||||
tiktokResultChildren, err := api.CreateStoreCommodity(param)
|
tiktokResultChildren, err := api.CreateStoreCommodity(param)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
@@ -2,7 +2,9 @@ package controllers
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"git.rosy.net.cn/baseapi/platformapi/tiktok_shop/tiktok_api"
|
"git.rosy.net.cn/baseapi/platformapi/tiktok_shop/tiktok_api"
|
||||||
|
"git.rosy.net.cn/baseapi/utils"
|
||||||
"git.rosy.net.cn/jx-callback/business/partner/purchase/tiktok_store"
|
"git.rosy.net.cn/jx-callback/business/partner/purchase/tiktok_store"
|
||||||
|
"git.rosy.net.cn/jx-callback/globals"
|
||||||
"git.rosy.net.cn/jx-callback/globals/api"
|
"git.rosy.net.cn/jx-callback/globals/api"
|
||||||
"github.com/astaxie/beego/server/web"
|
"github.com/astaxie/beego/server/web"
|
||||||
"strings"
|
"strings"
|
||||||
@@ -35,6 +37,7 @@ func (t *TiktokController) CallbackTiktokOrderMsg() {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
globals.SugarLogger.Debugf("========callback===%s", utils.Format4Output(orderStatus, false))
|
||||||
for k, v := range orderStatus {
|
for k, v := range orderStatus {
|
||||||
for _, callback := range v {
|
for _, callback := range v {
|
||||||
resp2 := tiktok_store.OnOrderMsg(k, callback)
|
resp2 := tiktok_store.OnOrderMsg(k, callback)
|
||||||
|
|||||||
Reference in New Issue
Block a user