1
This commit is contained in:
@@ -518,6 +518,11 @@ func (s *DefScheduler) OnWaybillStatusChanged(bill *model.Waybill, isPending boo
|
|||||||
// isBlendWay = strings.Contains(mtStoreInfo.LogisticsCodes, model.MTWMStorePSWay8)
|
// isBlendWay = strings.Contains(mtStoreInfo.LogisticsCodes, model.MTWMStorePSWay8)
|
||||||
//}
|
//}
|
||||||
|
|
||||||
|
// 暂时只处理抖音平台,抖音暂无配送,只要是抖音订单,三方配送压单了,直接通知送出
|
||||||
|
if order.VendorID == model.VendorIDDD && bill.Status == model.WaybillStatusNew {
|
||||||
|
s.SelfDeliverDelivering(order, "自配送中")
|
||||||
|
}
|
||||||
|
|
||||||
if bill.Status == model.WaybillStatusNew {
|
if bill.Status == model.WaybillStatusNew {
|
||||||
s.addWaybill2Map(savedOrderInfo, bill)
|
s.addWaybill2Map(savedOrderInfo, bill)
|
||||||
if !isPending {
|
if !isPending {
|
||||||
|
|||||||
@@ -103,7 +103,7 @@ func (p *PurchaseHandler) getOrder(vendorOrgCode, vendorOrderID, vendorStoreID s
|
|||||||
InvoiceTaxerID: "",
|
InvoiceTaxerID: "",
|
||||||
InvoiceEmail: "",
|
InvoiceEmail: "",
|
||||||
VendorOrgCode: vendorOrgCode,
|
VendorOrgCode: vendorOrgCode,
|
||||||
TotalShopMoney: utils.Float64TwoInt64(float64(result.PayAmount) * 0.95), // 抖音平台扣点金额0.05
|
TotalShopMoney: utils.Float64TwoInt64(float64(result.OrderAmount) * 0.95), // 抖音平台扣点金额0.05
|
||||||
}
|
}
|
||||||
// 本地获取订单记录
|
// 本地获取订单记录
|
||||||
orderSeq, _ := dao.GetVendorOrderNumber(dao.GetDB(), model.VendorIDDD, order.VendorStoreID)
|
orderSeq, _ := dao.GetVendorOrderNumber(dao.GetDB(), model.VendorIDDD, order.VendorStoreID)
|
||||||
@@ -479,7 +479,7 @@ func (c *PurchaseHandler) callbackMsg2Status(msgId, orderId string, msg interfac
|
|||||||
orderStatus.Status = model.OrderStatusUnknown
|
orderStatus.Status = model.OrderStatusUnknown
|
||||||
orderStatus.Remark = "126-预约发货:"
|
orderStatus.Remark = "126-预约发货:"
|
||||||
shopId = orderMsg.ShopId
|
shopId = orderMsg.ShopId
|
||||||
case tiktokShop.CallbackWaitOrderMsgTagId: // 应为需要同步京东,美团拣货功能制作的假拣货,抖音不存在拣货
|
case FakeMsgType: // 应为需要同步京东,美团拣货功能制作的假拣货,抖音不存在拣货
|
||||||
orderMsg := tiktokShop.FakePickUpGoodsData{}
|
orderMsg := tiktokShop.FakePickUpGoodsData{}
|
||||||
if err := utils.Map2StructByJson(msg, &orderMsg, false); err != nil {
|
if err := utils.Map2StructByJson(msg, &orderMsg, false); err != nil {
|
||||||
return nil, 0
|
return nil, 0
|
||||||
@@ -489,7 +489,7 @@ func (c *PurchaseHandler) callbackMsg2Status(msgId, orderId string, msg interfac
|
|||||||
orderStatus.StatusTime = time.Now()
|
orderStatus.StatusTime = time.Now()
|
||||||
orderStatus.Status = model.OrderStatusFinishedPickup
|
orderStatus.Status = model.OrderStatusFinishedPickup
|
||||||
orderStatus.Remark = "15-抖音假拣货:"
|
orderStatus.Remark = "15-抖音假拣货:"
|
||||||
shopId = 0
|
shopId = orderMsg.ShopId
|
||||||
default:
|
default:
|
||||||
return nil, 0
|
return nil, 0
|
||||||
}
|
}
|
||||||
@@ -508,9 +508,14 @@ func vendorStatusToLocalStatus(vendorStatus int64) int {
|
|||||||
return model.OrderStatusUnknown
|
return model.OrderStatusUnknown
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *PurchaseHandler) postFakeMsg(vendorOrderID, cmd, vendorStatus string) {
|
func (c *PurchaseHandler) postFakeMsg(vendorOrderID, cmd, VendorStatus, appOrgCode string) {
|
||||||
msg := &tiktokShop.FakePickUpGoodsData{PId: vendorOrderID, VendorStatus: vendorStatus}
|
// c.postFakeMsg(order.VendorOrderID, FakeMsgType, fakeFinishedPickup)
|
||||||
|
msg := &tiktokShop.FakePickUpGoodsData{
|
||||||
|
PId: vendorOrderID,
|
||||||
|
VendorStatus: VendorStatus,
|
||||||
|
Cmd: cmd,
|
||||||
|
ShopId: utils.Str2Int64(appOrgCode),
|
||||||
|
}
|
||||||
utils.CallFuncAsync(func() {
|
utils.CallFuncAsync(func() {
|
||||||
c.onOrderMsg(cmd, vendorOrderID, msg)
|
c.onOrderMsg(cmd, vendorOrderID, msg)
|
||||||
})
|
})
|
||||||
@@ -547,7 +552,7 @@ func (c *PurchaseHandler) PickupGoods(order *model.GoodsOrder, isSelfDelivery bo
|
|||||||
// err = getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromOrder(order), "").PreparationMealComplete(utils.Str2Int64(order.VendorOrderID))
|
// err = getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromOrder(order), "").PreparationMealComplete(utils.Str2Int64(order.VendorOrderID))
|
||||||
// }
|
// }
|
||||||
//}
|
//}
|
||||||
c.postFakeMsg(order.VendorOrderID, FakeMsgType, fakeFinishedPickup)
|
c.postFakeMsg(order.VendorOrderID, FakeMsgType, fakeFinishedPickup, order.VendorOrgCode)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -568,12 +573,19 @@ func (c *PurchaseHandler) CanSwitch2SelfDeliver(order *model.GoodsOrder) (isCan
|
|||||||
return order.BusinessType != model.BusinessTypeDingshida, nil
|
return order.BusinessType != model.BusinessTypeDingshida, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// Swtich2SelfDeliver 暂无转自送
|
// Swtich2SelfDeliver 抖音转自送的时候就是通知抖音发货了
|
||||||
func (c *PurchaseHandler) Swtich2SelfDeliver(order *model.GoodsOrder, userName string) (err error) {
|
func (c *PurchaseHandler) Swtich2SelfDeliver(order *model.GoodsOrder, userName string) (err error) {
|
||||||
//if globals.EnableMtwmStoreWrite {
|
return getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromOrder(order), "").OrderDelivering(&order_logisticsAdd_request.OrderLogisticsAddParam{
|
||||||
// err = getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromOrder(order), "").OrderLogisticsChange2Self(utils.Str2Int64(order.VendorOrderID))
|
OrderId: order.VendorOrderID,
|
||||||
//}
|
Company: "",
|
||||||
return err
|
CompanyCode: "chengdouruoxi",
|
||||||
|
LogisticsCode: order.VendorWaybillID,
|
||||||
|
IsRefundReject: false,
|
||||||
|
IsRejectRefund: false,
|
||||||
|
SerialNumberList: nil,
|
||||||
|
AddressId: 0,
|
||||||
|
StoreId: utils.Str2Int64(order.VendorStoreID),
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// Swtich2SelfDelivered 暂无自送完成
|
// Swtich2SelfDelivered 暂无自送完成
|
||||||
@@ -642,12 +654,10 @@ func (c *PurchaseHandler) AgreeOrRefuseCancel(ctx *jxcontext.Context, order *mod
|
|||||||
|
|
||||||
// CancelOrder 取消订单 (抖音商家无法发起退单操作,商家联系不到客户取消订单/拒收/缺货)
|
// CancelOrder 取消订单 (抖音商家无法发起退单操作,商家联系不到客户取消订单/拒收/缺货)
|
||||||
func (c *PurchaseHandler) CancelOrder(ctx *jxcontext.Context, order *model.GoodsOrder, reason string) (err error) {
|
func (c *PurchaseHandler) CancelOrder(ctx *jxcontext.Context, order *model.GoodsOrder, reason string) (err error) {
|
||||||
if globals.EnableDdStoreWrite {
|
// 售后原因枚举 MissGram = 1缺重,必传克数、金额; MissItem = 2缺货,只支持整单退; RefuseSign = 3 拒收,支持按件数退,金额由抖音计算
|
||||||
return errors.New("抖音商家无法发起退单操作")
|
if _, err = getAPI(order.VendorOrgCode, 0, "").ApplyMarketAfterSale(utils.Str2Int64(order.VendorOrderID), 3); err == nil {
|
||||||
//if err = getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromOrder(order), "").OrderCancel(utils.Str2Int64(order.VendorOrderID), reason, mtwmapi.CancelReasonOther); err == nil {
|
// 调用开放平台接口取消订单,不推送取消订单消息和退款消息。
|
||||||
// // 调用开放平台接口取消订单,不推送取消订单消息和退款消息。
|
c.postFakeMsg(order.VendorOrderID, tiktokShop.CallbackCancelOrderMsgTagId, utils.Int2Str(tiktokShop.CreateOrderStatusCancel), order.VendorOrgCode)
|
||||||
// c.postFakeMsg(order.VendorOrderID, tiktokShop.CallbackCancelOrderMsgTagId, utils.Int2Str(tiktokShop.CreateOrderStatusCancel))
|
|
||||||
//}
|
|
||||||
}
|
}
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -73,6 +73,8 @@ func QueryAllMainSkuList(appOrgCode string, param *MainSku) ([]*TiktokIdAndLocal
|
|||||||
localSkuId = skuDetail.OutProductId
|
localSkuId = skuDetail.OutProductId
|
||||||
} else if skuDetail.OuterProductId != "" {
|
} else if skuDetail.OuterProductId != "" {
|
||||||
localSkuId = utils.Str2Int64(skuDetail.OuterProductId)
|
localSkuId = utils.Str2Int64(skuDetail.OuterProductId)
|
||||||
|
} else {
|
||||||
|
localSkuId = utils.Str2Int64(skuDetail.SpecPrices[0].Code)
|
||||||
}
|
}
|
||||||
|
|
||||||
var attrId []string
|
var attrId []string
|
||||||
@@ -122,8 +124,7 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI
|
|||||||
api := getAPI(storeDetail.VendorOrgCode, storeID, vendorStoreID)
|
api := getAPI(storeDetail.VendorOrgCode, storeID, vendorStoreID)
|
||||||
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: utils.LimitUTF8StringLen(storeSku.SkuName, mtwmapi.MaxSkuNameCharCount),
|
Name: utils.LimitUTF8StringLen(storeSku.SkuName, mtwmapi.MaxSkuNameCharCount),
|
||||||
@@ -135,7 +136,7 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI
|
|||||||
Supply7dayReturn: 2, // 是否支持7天无理由,0不支持,1支持,2支持(拆封后不支持)
|
Supply7dayReturn: 2, // 是否支持7天无理由,0不支持,1支持,2支持(拆封后不支持)
|
||||||
Mobile: storeDetail.Tel1,
|
Mobile: storeDetail.Tel1,
|
||||||
Commit: true,
|
Commit: true,
|
||||||
Specs: "净重|" + utils.Float64ToStr(float64(storeSku.SpecQuality)) + storeSku.SpecUnit,
|
Specs: "重量|" + utils.Float64ToStr(float64(storeSku.SpecQuality)) + storeSku.SpecUnit,
|
||||||
NeedRechargeMode: false,
|
NeedRechargeMode: false,
|
||||||
SellChannel: []int64{0},
|
SellChannel: []int64{0},
|
||||||
StartSaleType: 0,
|
StartSaleType: 0,
|
||||||
@@ -262,7 +263,7 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI
|
|||||||
Supply7dayReturn: 2,
|
Supply7dayReturn: 2,
|
||||||
Mobile: storeDetail.Tel1,
|
Mobile: storeDetail.Tel1,
|
||||||
Commit: true,
|
Commit: true,
|
||||||
Specs: "净重|" + fmt.Sprintf("%f", storeSku.SpecQuality) + storeSku.SpecUnit,
|
Specs: "重量|" + fmt.Sprintf("%f", storeSku.SpecQuality) + storeSku.SpecUnit,
|
||||||
NeedRechargeMode: false,
|
NeedRechargeMode: false,
|
||||||
SellChannel: []int64{0},
|
SellChannel: []int64{0},
|
||||||
StartSaleType: 0,
|
StartSaleType: 0,
|
||||||
|
|||||||
Reference in New Issue
Block a user