1
This commit is contained in:
@@ -3195,6 +3195,7 @@ func setStoreSkuBindStatus(skuBind *model.StoreSkuBind, status int8) {
|
|||||||
skuBind.MtwmSyncStatus |= status
|
skuBind.MtwmSyncStatus |= status
|
||||||
skuBind.YbSyncStatus |= status
|
skuBind.YbSyncStatus |= status
|
||||||
skuBind.JdsSyncStatus |= status
|
skuBind.JdsSyncStatus |= status
|
||||||
|
skuBind.DdSyncStatus |= status
|
||||||
}
|
}
|
||||||
|
|
||||||
func checkStoreExisting(db *dao.DaoDB, storeID int) (store *model.Store, err error) {
|
func checkStoreExisting(db *dao.DaoDB, storeID int) (store *model.Store, err error) {
|
||||||
|
|||||||
@@ -322,7 +322,10 @@ func (c *PurchaseHandler) callbackMsg2Status(msgId, orderId string, msg interfac
|
|||||||
//orderStatus.Status = vendorStatusToLocalStatus(orderMsg.OrderStatus)
|
//orderStatus.Status = vendorStatusToLocalStatus(orderMsg.OrderStatus)
|
||||||
//orderStatus.Remark = "100-新订单回调"
|
//orderStatus.Remark = "100-新订单回调"
|
||||||
case tiktokShop.CallbackPayOrderMsgTagId:
|
case tiktokShop.CallbackPayOrderMsgTagId:
|
||||||
orderMsg := msg.(*tiktokShop.PayOrderData)
|
orderMsg := tiktokShop.PayOrderData{}
|
||||||
|
if err := utils.Map2StructByJson(msg, &orderMsg, false); err != nil {
|
||||||
|
return nil, 0
|
||||||
|
}
|
||||||
orderStatus.VendorOrderID = utils.Int64ToStr(orderMsg.PId)
|
orderStatus.VendorOrderID = utils.Int64ToStr(orderMsg.PId)
|
||||||
orderStatus.VendorStatus = utils.Int64ToStr(orderMsg.OrderStatus)
|
orderStatus.VendorStatus = utils.Int64ToStr(orderMsg.OrderStatus)
|
||||||
orderStatus.StatusTime = utils.Timestamp2Time(orderMsg.PayTime)
|
orderStatus.StatusTime = utils.Timestamp2Time(orderMsg.PayTime)
|
||||||
@@ -338,7 +341,10 @@ func (c *PurchaseHandler) callbackMsg2Status(msgId, orderId string, msg interfac
|
|||||||
//orderStatus.Status = vendorStatusToLocalStatus(orderMsg.OrderStatus)
|
//orderStatus.Status = vendorStatusToLocalStatus(orderMsg.OrderStatus)
|
||||||
//orderStatus.Remark = "110-订单支付待处理:风控"
|
//orderStatus.Remark = "110-订单支付待处理:风控"
|
||||||
case tiktokShop.CallbackPartGoodsMsgTagId:
|
case tiktokShop.CallbackPartGoodsMsgTagId:
|
||||||
orderMsg := msg.(*tiktokShop.SomeSendOrderData)
|
orderMsg := tiktokShop.SomeSendOrderData{}
|
||||||
|
if err := utils.Map2StructByJson(msg, &orderMsg, false); err != nil {
|
||||||
|
return nil, 0
|
||||||
|
}
|
||||||
orderStatus.VendorOrderID = utils.Int64ToStr(orderMsg.PId)
|
orderStatus.VendorOrderID = utils.Int64ToStr(orderMsg.PId)
|
||||||
orderStatus.VendorStatus = utils.Int64ToStr(orderMsg.OrderStatus)
|
orderStatus.VendorStatus = utils.Int64ToStr(orderMsg.OrderStatus)
|
||||||
orderStatus.StatusTime = utils.Timestamp2Time(orderMsg.UpdateTime)
|
orderStatus.StatusTime = utils.Timestamp2Time(orderMsg.UpdateTime)
|
||||||
@@ -346,7 +352,10 @@ func (c *PurchaseHandler) callbackMsg2Status(msgId, orderId string, msg interfac
|
|||||||
orderStatus.Remark = "108-卖家部分发货"
|
orderStatus.Remark = "108-卖家部分发货"
|
||||||
shopId = orderMsg.ShopId
|
shopId = orderMsg.ShopId
|
||||||
case tiktokShop.CallbackPartAllGoodsMsgTagId:
|
case tiktokShop.CallbackPartAllGoodsMsgTagId:
|
||||||
orderMsg := msg.(*tiktokShop.BusinessDeliveryData)
|
orderMsg := tiktokShop.BusinessDeliveryData{}
|
||||||
|
if err := utils.Map2StructByJson(msg, &orderMsg, false); err != nil {
|
||||||
|
return nil, 0
|
||||||
|
}
|
||||||
orderStatus.VendorOrderID = utils.Int64ToStr(orderMsg.PId)
|
orderStatus.VendorOrderID = utils.Int64ToStr(orderMsg.PId)
|
||||||
orderStatus.VendorStatus = utils.Int64ToStr(orderMsg.OrderStatus)
|
orderStatus.VendorStatus = utils.Int64ToStr(orderMsg.OrderStatus)
|
||||||
orderStatus.StatusTime = utils.Timestamp2Time(orderMsg.UpdateTime)
|
orderStatus.StatusTime = utils.Timestamp2Time(orderMsg.UpdateTime)
|
||||||
@@ -354,7 +363,10 @@ func (c *PurchaseHandler) callbackMsg2Status(msgId, orderId string, msg interfac
|
|||||||
orderStatus.Remark = "102-卖家发货完成"
|
orderStatus.Remark = "102-卖家发货完成"
|
||||||
shopId = orderMsg.ShopId
|
shopId = orderMsg.ShopId
|
||||||
case tiktokShop.CallbackCancelOrderMsgTagId:
|
case tiktokShop.CallbackCancelOrderMsgTagId:
|
||||||
orderMsg := msg.(*tiktokShop.CancelOrderData)
|
orderMsg := tiktokShop.CancelOrderData{}
|
||||||
|
if err := utils.Map2StructByJson(msg, &orderMsg, false); err != nil {
|
||||||
|
return nil, 0
|
||||||
|
}
|
||||||
orderStatus.VendorOrderID = utils.Int64ToStr(orderMsg.PId)
|
orderStatus.VendorOrderID = utils.Int64ToStr(orderMsg.PId)
|
||||||
orderStatus.VendorStatus = utils.Int64ToStr(orderMsg.OrderStatus)
|
orderStatus.VendorStatus = utils.Int64ToStr(orderMsg.OrderStatus)
|
||||||
orderStatus.StatusTime = utils.Timestamp2Time(orderMsg.CancelTime)
|
orderStatus.StatusTime = utils.Timestamp2Time(orderMsg.CancelTime)
|
||||||
@@ -362,7 +374,10 @@ func (c *PurchaseHandler) callbackMsg2Status(msgId, orderId string, msg interfac
|
|||||||
orderStatus.Remark = "106-取消订单"
|
orderStatus.Remark = "106-取消订单"
|
||||||
shopId = orderMsg.ShopId
|
shopId = orderMsg.ShopId
|
||||||
case tiktokShop.CallbackSuccessOrderMsgTagId:
|
case tiktokShop.CallbackSuccessOrderMsgTagId:
|
||||||
orderMsg := msg.(*tiktokShop.SuccessOrderData)
|
orderMsg := tiktokShop.SuccessOrderData{}
|
||||||
|
if err := utils.Map2StructByJson(msg, &orderMsg, false); err != nil {
|
||||||
|
return nil, 0
|
||||||
|
}
|
||||||
orderStatus.VendorOrderID = utils.Int64ToStr(orderMsg.PId)
|
orderStatus.VendorOrderID = utils.Int64ToStr(orderMsg.PId)
|
||||||
orderStatus.VendorStatus = utils.Int64ToStr(orderMsg.OrderStatus)
|
orderStatus.VendorStatus = utils.Int64ToStr(orderMsg.OrderStatus)
|
||||||
orderStatus.StatusTime = utils.Timestamp2Time(orderMsg.CompleteTime)
|
orderStatus.StatusTime = utils.Timestamp2Time(orderMsg.CompleteTime)
|
||||||
@@ -370,7 +385,10 @@ func (c *PurchaseHandler) callbackMsg2Status(msgId, orderId string, msg interfac
|
|||||||
orderStatus.Remark = "103-确认收货"
|
orderStatus.Remark = "103-确认收货"
|
||||||
shopId = orderMsg.ShopId
|
shopId = orderMsg.ShopId
|
||||||
case tiktokShop.CallbackWayBillChangeOrderMsgTagId:
|
case tiktokShop.CallbackWayBillChangeOrderMsgTagId:
|
||||||
orderMsg := msg.(*tiktokShop.WayBillChangeData)
|
orderMsg := tiktokShop.WayBillChangeData{}
|
||||||
|
if err := utils.Map2StructByJson(msg, &orderMsg, false); err != nil {
|
||||||
|
return nil, 0
|
||||||
|
}
|
||||||
orderStatus.VendorOrderID = utils.Int64ToStr(orderMsg.PId)
|
orderStatus.VendorOrderID = utils.Int64ToStr(orderMsg.PId)
|
||||||
orderStatus.VendorStatus = utils.Int64ToStr(orderMsg.OrderStatus)
|
orderStatus.VendorStatus = utils.Int64ToStr(orderMsg.OrderStatus)
|
||||||
orderStatus.StatusTime = utils.Timestamp2Time(orderMsg.UpdateTime)
|
orderStatus.StatusTime = utils.Timestamp2Time(orderMsg.UpdateTime)
|
||||||
@@ -378,7 +396,10 @@ func (c *PurchaseHandler) callbackMsg2Status(msgId, orderId string, msg interfac
|
|||||||
orderStatus.Remark = "104-物流消息变更"
|
orderStatus.Remark = "104-物流消息变更"
|
||||||
shopId = orderMsg.ShopId
|
shopId = orderMsg.ShopId
|
||||||
case tiktokShop.CallbackReceivingChangeOrderMsgTagId:
|
case tiktokShop.CallbackReceivingChangeOrderMsgTagId:
|
||||||
orderMsg := msg.(*tiktokShop.ReceivingAddressChangeData)
|
orderMsg := tiktokShop.ReceivingAddressChangeData{}
|
||||||
|
if err := utils.Map2StructByJson(msg, &orderMsg, false); err != nil {
|
||||||
|
return nil, 0
|
||||||
|
}
|
||||||
orderStatus.VendorOrderID = utils.Int64ToStr(orderMsg.PId)
|
orderStatus.VendorOrderID = utils.Int64ToStr(orderMsg.PId)
|
||||||
orderStatus.VendorStatus = utils.Int64ToStr(orderMsg.OrderStatus)
|
orderStatus.VendorStatus = utils.Int64ToStr(orderMsg.OrderStatus)
|
||||||
orderStatus.StatusTime = utils.Timestamp2Time(orderMsg.UpdateTime)
|
orderStatus.StatusTime = utils.Timestamp2Time(orderMsg.UpdateTime)
|
||||||
@@ -386,7 +407,10 @@ func (c *PurchaseHandler) callbackMsg2Status(msgId, orderId string, msg interfac
|
|||||||
orderStatus.Remark = "105-收货地址变更"
|
orderStatus.Remark = "105-收货地址变更"
|
||||||
shopId = orderMsg.ShopId
|
shopId = orderMsg.ShopId
|
||||||
case tiktokShop.CallbackChangeMoneyMsgTagId:
|
case tiktokShop.CallbackChangeMoneyMsgTagId:
|
||||||
orderMsg := msg.(*tiktokShop.UpdateAmountChangeData)
|
orderMsg := tiktokShop.UpdateAmountChangeData{}
|
||||||
|
if err := utils.Map2StructByJson(msg, &orderMsg, false); err != nil {
|
||||||
|
return nil, 0
|
||||||
|
}
|
||||||
orderStatus.VendorOrderID = utils.Int64ToStr(orderMsg.PId)
|
orderStatus.VendorOrderID = utils.Int64ToStr(orderMsg.PId)
|
||||||
orderStatus.VendorStatus = utils.Int64ToStr(orderMsg.OrderStatus)
|
orderStatus.VendorStatus = utils.Int64ToStr(orderMsg.OrderStatus)
|
||||||
orderStatus.StatusTime = utils.Timestamp2Time(orderMsg.ModifyTime)
|
orderStatus.StatusTime = utils.Timestamp2Time(orderMsg.ModifyTime)
|
||||||
@@ -394,7 +418,10 @@ func (c *PurchaseHandler) callbackMsg2Status(msgId, orderId string, msg interfac
|
|||||||
orderStatus.Remark = "109-卖家修改订单/运单金额"
|
orderStatus.Remark = "109-卖家修改订单/运单金额"
|
||||||
shopId = orderMsg.ShopId
|
shopId = orderMsg.ShopId
|
||||||
case tiktokShop.CallbackApplyUpdateAddressMsgTagId:
|
case tiktokShop.CallbackApplyUpdateAddressMsgTagId:
|
||||||
orderMsg := msg.(*tiktokShop.BuyerUpdateWayBillData)
|
orderMsg := tiktokShop.BuyerUpdateWayBillData{}
|
||||||
|
if err := utils.Map2StructByJson(msg, &orderMsg, false); err != nil {
|
||||||
|
return nil, 0
|
||||||
|
}
|
||||||
orderStatus.VendorOrderID = utils.Int64ToStr(orderMsg.PId)
|
orderStatus.VendorOrderID = utils.Int64ToStr(orderMsg.PId)
|
||||||
orderStatus.VendorStatus = utils.Int64ToStr(tiktokShop.CreateOrderStatusStockUp)
|
orderStatus.VendorStatus = utils.Int64ToStr(tiktokShop.CreateOrderStatusStockUp)
|
||||||
orderStatus.StatusTime = time.Now()
|
orderStatus.StatusTime = time.Now()
|
||||||
@@ -402,7 +429,10 @@ func (c *PurchaseHandler) callbackMsg2Status(msgId, orderId string, msg interfac
|
|||||||
orderStatus.Remark = "111-买家收货消息变更"
|
orderStatus.Remark = "111-买家收货消息变更"
|
||||||
shopId = orderMsg.ShopId
|
shopId = orderMsg.ShopId
|
||||||
case tiktokShop.CallbackBusinessRemarkMsgTagId:
|
case tiktokShop.CallbackBusinessRemarkMsgTagId:
|
||||||
orderMsg := msg.(*tiktokShop.BusinessUpdateRemakeData)
|
orderMsg := tiktokShop.BusinessUpdateRemakeData{}
|
||||||
|
if err := utils.Map2StructByJson(msg, &orderMsg, false); err != nil {
|
||||||
|
return nil, 0
|
||||||
|
}
|
||||||
orderStatus.VendorOrderID = utils.Int64ToStr(orderMsg.PId)
|
orderStatus.VendorOrderID = utils.Int64ToStr(orderMsg.PId)
|
||||||
orderStatus.VendorStatus = utils.Int64ToStr(tiktokShop.CreateOrderStatusStockUp)
|
orderStatus.VendorStatus = utils.Int64ToStr(tiktokShop.CreateOrderStatusStockUp)
|
||||||
orderStatus.StatusTime = utils.Timestamp2Time(orderMsg.UpdateTime)
|
orderStatus.StatusTime = utils.Timestamp2Time(orderMsg.UpdateTime)
|
||||||
@@ -410,7 +440,10 @@ func (c *PurchaseHandler) callbackMsg2Status(msgId, orderId string, msg interfac
|
|||||||
orderStatus.Remark = "113-添加备注:" + orderMsg.Remark
|
orderStatus.Remark = "113-添加备注:" + orderMsg.Remark
|
||||||
shopId = orderMsg.ShopId
|
shopId = orderMsg.ShopId
|
||||||
case tiktokShop.CallbackSendOrderTimeChangeMsgTagId:
|
case tiktokShop.CallbackSendOrderTimeChangeMsgTagId:
|
||||||
orderMsg := msg.(*tiktokShop.AppointmentChangeData)
|
orderMsg := tiktokShop.AppointmentChangeData{}
|
||||||
|
if err := utils.Map2StructByJson(msg, &orderMsg, false); err != nil {
|
||||||
|
return nil, 0
|
||||||
|
}
|
||||||
orderStatus.VendorOrderID = orderMsg.PId
|
orderStatus.VendorOrderID = orderMsg.PId
|
||||||
orderStatus.VendorStatus = utils.Int64ToStr(tiktokShop.CreateOrderStatusStockUp)
|
orderStatus.VendorStatus = utils.Int64ToStr(tiktokShop.CreateOrderStatusStockUp)
|
||||||
orderStatus.StatusTime = time.Now()
|
orderStatus.StatusTime = time.Now()
|
||||||
@@ -418,7 +451,10 @@ func (c *PurchaseHandler) callbackMsg2Status(msgId, orderId string, msg interfac
|
|||||||
orderStatus.Remark = "126-预约发货:"
|
orderStatus.Remark = "126-预约发货:"
|
||||||
shopId = orderMsg.ShopId
|
shopId = orderMsg.ShopId
|
||||||
case fakeFinishedPickup: // 应为需要同步京东,美团拣货功能制作的假拣货,抖音不存在拣货
|
case fakeFinishedPickup: // 应为需要同步京东,美团拣货功能制作的假拣货,抖音不存在拣货
|
||||||
orderMsg := msg.(*tiktokShop.FakePickUpGoodsData)
|
orderMsg := tiktokShop.FakePickUpGoodsData{}
|
||||||
|
if err := utils.Map2StructByJson(msg, &orderMsg, false); err != nil {
|
||||||
|
return nil, 0
|
||||||
|
}
|
||||||
orderStatus.VendorOrderID = orderMsg.PId
|
orderStatus.VendorOrderID = orderMsg.PId
|
||||||
orderStatus.VendorStatus = fakeFinishedPickup
|
orderStatus.VendorStatus = fakeFinishedPickup
|
||||||
orderStatus.StatusTime = time.Now()
|
orderStatus.StatusTime = time.Now()
|
||||||
|
|||||||
@@ -4,12 +4,10 @@ import (
|
|||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"git.rosy.net.cn/baseapi/platformapi/mtwmapi"
|
"git.rosy.net.cn/baseapi/platformapi/mtwmapi"
|
||||||
freightTemplate_create_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/freightTemplate_create/request"
|
|
||||||
product_addV2_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/product_addV2/request"
|
product_addV2_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/product_addV2/request"
|
||||||
product_detail_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/product_detail/response"
|
product_detail_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/product_detail/response"
|
||||||
product_editV2_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/product_editV2/request"
|
product_editV2_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/product_editV2/request"
|
||||||
product_editV2_commit_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/product_editV2_commit/request"
|
product_editV2_commit_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/product_editV2_commit/request"
|
||||||
shop_bindStoreFreight_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_bindStoreFreight/request"
|
|
||||||
shop_bindStoreSaleLimit_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_bindStoreSaleLimit/request"
|
shop_bindStoreSaleLimit_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_bindStoreSaleLimit/request"
|
||||||
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"
|
||||||
sku_syncStock_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/sku_syncStock/request"
|
sku_syncStock_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/sku_syncStock/request"
|
||||||
@@ -24,7 +22,6 @@ import (
|
|||||||
"git.rosy.net.cn/jx-callback/business/partner"
|
"git.rosy.net.cn/jx-callback/business/partner"
|
||||||
"git.rosy.net.cn/jx-callback/business/partner/putils"
|
"git.rosy.net.cn/jx-callback/business/partner/putils"
|
||||||
"git.rosy.net.cn/jx-callback/globals"
|
"git.rosy.net.cn/jx-callback/globals"
|
||||||
"math/rand"
|
|
||||||
"regexp"
|
"regexp"
|
||||||
"strings"
|
"strings"
|
||||||
)
|
)
|
||||||
@@ -260,43 +257,14 @@ func (p *PurchaseHandler) CreateStoreSkus(ctx *jxcontext.Context, storeID int, v
|
|||||||
// 对于多门店平台来说,storeSkuList中只有SkuID与VendorSkuID有意义
|
// 对于多门店平台来说,storeSkuList中只有SkuID与VendorSkuID有意义
|
||||||
// 抖店的商品只管创建,创建接口会返回成功,但是审核的时候不一定成功.当前系统无法判定此商品是否已经创建过了!
|
// 抖店的商品只管创建,创建接口会返回成功,但是审核的时候不一定成功.当前系统无法判定此商品是否已经创建过了!
|
||||||
func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeID int, vendorStoreID string, storeSkuList []*dao.StoreSkuSyncInfo, isCreate bool) (failedList []*partner.StoreSkuInfoWithErr, err error) {
|
func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeID int, vendorStoreID string, storeSkuList []*dao.StoreSkuSyncInfo, isCreate bool) (failedList []*partner.StoreSkuInfoWithErr, err error) {
|
||||||
globals.SugarLogger.Debug("==============vendorStoreID", vendorStoreID)
|
|
||||||
var syncType string
|
var syncType string
|
||||||
storeDetail, _ := dao.GetStoreDetail(dao.GetDB(), storeID, model.VendorIDDD, "")
|
storeDetail, _ := dao.GetStoreDetail(dao.GetDB(), storeID, model.VendorIDDD, "")
|
||||||
api := getAPI(storeDetail.VendorOrgCode, storeID, vendorStoreID)
|
api := getAPI(storeDetail.VendorOrgCode, storeID, vendorStoreID)
|
||||||
freightId, _ := api.GetStoreBindTemp(utils.Str2Int64(vendorStoreID))
|
|
||||||
if freightId == 0 {
|
|
||||||
// 创建门店运费模板
|
|
||||||
temp, err := api.FreightTemplateCreate(&freightTemplate_create_request.FreightTemplateCreateParam{
|
|
||||||
Template: &freightTemplate_create_request.Template{
|
|
||||||
TemplateName: storeDetail.Name + "_" + utils.Int64ToStr(rand.Int63n(int64(storeID))) + "_系统模板",
|
|
||||||
ProductProvince: utils.Str2Int64(utils.Int2Str(storeDetail.ProvinceCode)[0:2]),
|
|
||||||
ProductCity: int64(storeDetail.CityCode),
|
|
||||||
CalculateType: 2,
|
|
||||||
TransferType: 1, // 快递
|
|
||||||
RuleType: 1,
|
|
||||||
FixedAmount: 500,
|
|
||||||
},
|
|
||||||
Columns: nil,
|
|
||||||
})
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
// 绑定门店运费模板
|
|
||||||
err = api.BindFreightTemplate(&shop_bindStoreFreight_request.ShopBindStoreFreightParam{
|
|
||||||
StoreId: utils.Str2Int64(vendorStoreID),
|
|
||||||
FreightId: temp.TemplateId,
|
|
||||||
})
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
freightId = temp.TemplateId
|
|
||||||
}
|
|
||||||
|
|
||||||
if isCreate {
|
if isCreate {
|
||||||
syncType = "创建商品"
|
syncType = "创建商品"
|
||||||
for _, storeSku := range storeSkuList {
|
for _, storeSku := range storeSkuList {
|
||||||
// 创建子商品
|
// 创建商品
|
||||||
param := &product_addV2_request.ProductAddV2Param{
|
param := &product_addV2_request.ProductAddV2Param{
|
||||||
CategoryLeafId: utils.Str2Int64(storeSku.SkuVendorMapCatID),
|
CategoryLeafId: utils.Str2Int64(storeSku.SkuVendorMapCatID),
|
||||||
Name: storeSku.Name,
|
Name: storeSku.Name,
|
||||||
@@ -313,6 +281,7 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI
|
|||||||
SellChannel: []int64{0},
|
SellChannel: []int64{0},
|
||||||
StartSaleType: 0,
|
StartSaleType: 0,
|
||||||
PickupMethod: "0",
|
PickupMethod: "0",
|
||||||
|
OuterProductId: utils.Int2Str(storeSku.SkuID), // 本地skuId为外部商品id
|
||||||
}
|
}
|
||||||
// param.AccountTemplateId = ""
|
// param.AccountTemplateId = ""
|
||||||
// 获取上传图,商品轮播图
|
// 获取上传图,商品轮播图
|
||||||
@@ -349,12 +318,14 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI
|
|||||||
globals.SugarLogger.Debug("创建=============param", utils.Format4Output(param, false))
|
globals.SugarLogger.Debug("创建=============param", utils.Format4Output(param, false))
|
||||||
|
|
||||||
// 获取品牌
|
// 获取品牌
|
||||||
brandID, err := api.GetSkuBrand(param.CategoryLeafId)
|
param.StandardBrandId, err = api.GetSkuBrand(param.CategoryLeafId)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
param.StandardBrandId = brandID
|
|
||||||
|
|
||||||
|
// 根据本地商品id获取线上商品是否存在,存在则只创建子商品
|
||||||
|
var tiktokResultProductId int64 = 0
|
||||||
|
if storeSku.VendorMainId == "" { // 线上不存在创建
|
||||||
tiktokResult, err := api.CreateStoreCommodity(param) // 创建主商品
|
tiktokResult, err := api.CreateStoreCommodity(param) // 创建主商品
|
||||||
if err != nil {
|
if err != nil {
|
||||||
failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDDD], syncType)
|
failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDDD], syncType)
|
||||||
@@ -362,11 +333,25 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
globals.SugarLogger.Debugf("tiktokResult main ===%s", utils.Format4Output(tiktokResult, false))
|
globals.SugarLogger.Debugf("tiktokResult main ===%s", utils.Format4Output(tiktokResult, false))
|
||||||
|
tiktokResultProductId = tiktokResult.ProductId
|
||||||
|
var attrId []string
|
||||||
|
for _, v := range tiktokResult.Sku {
|
||||||
|
attrId = append(attrId, utils.Int64ToStr(v.SkuId))
|
||||||
|
}
|
||||||
|
storeSku.VendorSkuAttrId = strings.Join(attrId, ",") // 属性id skuID
|
||||||
|
} else {
|
||||||
|
tiktokResultProductId = utils.Str2Int64(storeSku.VendorMainId)
|
||||||
|
}
|
||||||
|
|
||||||
// 创建子商品
|
// 创建子商品
|
||||||
|
freightId, err := GetDeliveryTemp(api, vendorStoreID, storeDetail) // 运费模板
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
param.FreightId = freightId
|
param.FreightId = freightId
|
||||||
param.MainProductId = tiktokResult.ProductId
|
param.MainProductId = tiktokResultProductId
|
||||||
param.SpecPrices = GetSpecPrices(param.Specs, vendorStoreID, tiktokResult.ProductId, storeSku)
|
param.SpecPrices = GetSpecPrices(param.Specs, vendorStoreID, tiktokResultProductId, storeSku)
|
||||||
|
|
||||||
// 获取门店限售模板
|
// 获取门店限售模板
|
||||||
saleLimitId, err := CreateSaleTemp(utils.Str2Int64(vendorStoreID), api)
|
saleLimitId, err := CreateSaleTemp(utils.Str2Int64(vendorStoreID), api)
|
||||||
globals.SugarLogger.Debug("==22213123131231231", saleLimitId)
|
globals.SugarLogger.Debug("==22213123131231231", saleLimitId)
|
||||||
@@ -375,7 +360,8 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI
|
|||||||
}
|
}
|
||||||
param.SaleLimitId = saleLimitId
|
param.SaleLimitId = saleLimitId
|
||||||
param.StoreId = utils.Str2Int64(vendorStoreID)
|
param.StoreId = utils.Str2Int64(vendorStoreID)
|
||||||
// 抖店创建商品
|
|
||||||
|
// 抖店创建子商品
|
||||||
globals.SugarLogger.Debugf("zishangping=============%s", utils.Format4Output(param, false))
|
globals.SugarLogger.Debugf("zishangping=============%s", utils.Format4Output(param, false))
|
||||||
tiktokResultChildren, err := api.CreateStoreCommodity(param)
|
tiktokResultChildren, err := api.CreateStoreCommodity(param)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -384,12 +370,8 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
storeSku.VendorSkuID = utils.Int64ToStr(tiktokResultChildren.ProductId) // 子商品主id
|
storeSku.VendorSkuID = utils.Int64ToStr(tiktokResultChildren.ProductId) // 子商品主id
|
||||||
storeSku.VendorMainId = utils.Int64ToStr(tiktokResult.ProductId) // 商品主id
|
storeSku.VendorMainId = utils.Int64ToStr(tiktokResultProductId) // 商品主id
|
||||||
var attrId []string
|
|
||||||
for _, v := range tiktokResult.Sku {
|
|
||||||
attrId = append(attrId, utils.Int64ToStr(v.SkuId))
|
|
||||||
}
|
|
||||||
storeSku.VendorSkuAttrId = strings.Join(attrId, ",") // 属性id skuID
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
syncType = "更新商品"
|
syncType = "更新商品"
|
||||||
|
|||||||
@@ -4,14 +4,54 @@ import (
|
|||||||
"encoding/json"
|
"encoding/json"
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
freightTemplate_create_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/freightTemplate_create/request"
|
||||||
|
shop_bindStoreFreight_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_bindStoreFreight/request"
|
||||||
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/baseapi/utils"
|
||||||
"git.rosy.net.cn/jx-callback/business/model"
|
"git.rosy.net.cn/jx-callback/business/model"
|
||||||
"git.rosy.net.cn/jx-callback/business/model/dao"
|
"git.rosy.net.cn/jx-callback/business/model/dao"
|
||||||
"git.rosy.net.cn/jx-callback/globals"
|
"git.rosy.net.cn/jx-callback/globals"
|
||||||
|
"math/rand"
|
||||||
"strings"
|
"strings"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// 获取运费模板id,运费模板不存在则创建
|
||||||
|
func GetDeliveryTemp(api *tiktokShop.API, vendorStoreID string, storeDetail *dao.StoreDetail) (int64, error) {
|
||||||
|
// todo 获取本地数据模板
|
||||||
|
|
||||||
|
// 没有模板是查询线上模板
|
||||||
|
freightId, _ := api.GetStoreBindTemp(utils.Str2Int64(vendorStoreID))
|
||||||
|
if freightId == 0 {
|
||||||
|
// 创建门店运费模板
|
||||||
|
temp, err := api.FreightTemplateCreate(&freightTemplate_create_request.FreightTemplateCreateParam{
|
||||||
|
Template: &freightTemplate_create_request.Template{
|
||||||
|
TemplateName: storeDetail.Name + "_" + utils.Int64ToStr(rand.Int63n(int64(storeDetail.ID))) + "_系统模板",
|
||||||
|
ProductProvince: utils.Str2Int64(utils.Int2Str(storeDetail.ProvinceCode)[0:2]),
|
||||||
|
ProductCity: int64(storeDetail.CityCode),
|
||||||
|
CalculateType: 2,
|
||||||
|
TransferType: 1, // 快递
|
||||||
|
RuleType: 1,
|
||||||
|
FixedAmount: 500,
|
||||||
|
},
|
||||||
|
Columns: nil,
|
||||||
|
})
|
||||||
|
if err != nil {
|
||||||
|
return 0, err
|
||||||
|
}
|
||||||
|
// 绑定门店运费模板
|
||||||
|
err = api.BindFreightTemplate(&shop_bindStoreFreight_request.ShopBindStoreFreightParam{
|
||||||
|
StoreId: utils.Str2Int64(vendorStoreID),
|
||||||
|
FreightId: temp.TemplateId,
|
||||||
|
})
|
||||||
|
if err != nil {
|
||||||
|
return 0, err
|
||||||
|
}
|
||||||
|
freightId = temp.TemplateId
|
||||||
|
}
|
||||||
|
|
||||||
|
return freightId, nil
|
||||||
|
}
|
||||||
|
|
||||||
// GetProductFormatNew 获取物品属性
|
// GetProductFormatNew 获取物品属性
|
||||||
func GetProductFormatNew(categoryLeftId int64, vendorOrgCode string) (string, error) {
|
func GetProductFormatNew(categoryLeftId int64, vendorOrgCode string) (string, error) {
|
||||||
category, err := getAPI(vendorOrgCode, 0, "").GetCatePropertyV2(categoryLeftId)
|
category, err := getAPI(vendorOrgCode, 0, "").GetCatePropertyV2(categoryLeftId)
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ func (t *TiktokController) CallbackTiktokOrderMsg() {
|
|||||||
// return
|
// return
|
||||||
//}
|
//}
|
||||||
// 1.防伪校验
|
// 1.防伪校验
|
||||||
resp := api.TiktokStore.EventSignChange(t.Ctx.Request)
|
resp, byteList := api.TiktokStore.EventSignChange(t.Ctx.Request)
|
||||||
if resp.Code != 0 {
|
if resp.Code != 0 {
|
||||||
t.Data["json"] = resp
|
t.Data["json"] = resp
|
||||||
t.ServeJSON()
|
t.ServeJSON()
|
||||||
@@ -28,7 +28,7 @@ func (t *TiktokController) CallbackTiktokOrderMsg() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 2.参数解析
|
// 2.参数解析
|
||||||
orderStatus, resp := api.TiktokStore.CreateOrderCallback(t.Ctx.Request)
|
orderStatus, resp := api.TiktokStore.CreateOrderCallback(byteList)
|
||||||
globals.SugarLogger.Debug("抖音订单回调数据打印测试===========", orderStatus)
|
globals.SugarLogger.Debug("抖音订单回调数据打印测试===========", orderStatus)
|
||||||
if resp.Code != 0 {
|
if resp.Code != 0 {
|
||||||
t.Data["json"] = resp
|
t.Data["json"] = resp
|
||||||
|
|||||||
Reference in New Issue
Block a user