1
This commit is contained in:
@@ -994,14 +994,12 @@ func (s *DefScheduler) createWaybillOn3rdProviders(savedOrderInfo *WatchOrderInf
|
||||
}
|
||||
}
|
||||
|
||||
if _, err = s.CreateWaybillOnProviders4SavedOrder(jxcontext.AdminCtx, savedOrderInfo, nil, excludeVendorIDs, false, maxDeliveryFee); err == nil {
|
||||
savedOrderInfo.retryCount++
|
||||
} else {
|
||||
partner.CurOrderManager.OnOrderMsg(order, utils.Int2Str(vendorID), fmt.Sprintf("发起自动创建三方运单,目标创建运单平台[%s],创建失败:%v", jxutils.GetVendorName(vendorID), err))
|
||||
//content := "您的门店 [" + storeDetail.Name + "],OrderID:[" + order.VendorOrderID + "],自动呼叫骑手失败[" + fmt.Sprintf(err.Error()) + "],请手动呼叫骑手"
|
||||
//if user, err := dao.GetUserByID(dao.GetDB(), "mobile", storeDetail.MarketManPhone); err == nil {
|
||||
// ddmsg.SendUserMessage(dingdingapi.MsgTyeText, user.UserID, "平台门店状态变化", content)
|
||||
//}
|
||||
if vendorID != model.NO {
|
||||
if _, err = s.CreateWaybillOnProviders4SavedOrder(jxcontext.AdminCtx, savedOrderInfo, nil, excludeVendorIDs, false, maxDeliveryFee); err == nil {
|
||||
savedOrderInfo.retryCount++
|
||||
} else {
|
||||
partner.CurOrderManager.OnOrderMsg(order, utils.Int2Str(vendorID), fmt.Sprintf("发起自动创建三方运单,目标创建运单平台[%s],创建失败:%v", jxutils.GetVendorName(vendorID), err))
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package ebai
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"fmt"
|
||||
"math"
|
||||
@@ -679,26 +678,30 @@ func (c *PurchaseHandler) AgreeOrRefuseCancel(ctx *jxcontext.Context, order *mod
|
||||
return fmt.Errorf("拒绝退单时,请填写拒单原因")
|
||||
}
|
||||
param := &ebaiapi.RefundOrderExamine{
|
||||
ReverseOrderId: afsOrderInfo.AfsOrderID,
|
||||
OrderId: order.VendorOrderID,
|
||||
IdempotentId: utils.Int64ToStr(time.Now().UnixNano()),
|
||||
ActionType: ebaiapi.RefundTypeRefuse,
|
||||
ReasonCode: "7001",
|
||||
ReasonRemarks: reason,
|
||||
RefundProductList: "",
|
||||
ReverseOrderId: afsOrderInfo.AfsOrderID,
|
||||
OrderId: order.VendorOrderID,
|
||||
IdempotentId: utils.Int64ToStr(time.Now().UnixNano()),
|
||||
ActionType: ebaiapi.RefundTypeRefuse,
|
||||
ReasonCode: "7001",
|
||||
ReasonRemarks: reason,
|
||||
}
|
||||
refundProductList := make([]*ebaiapi.RefundProductList, 0, 0)
|
||||
date, _ := api.EbaiAPI.GetReverseOrder(order.VendorOrderID)
|
||||
for _, v := range date {
|
||||
v2 := v.(map[string]interface{})
|
||||
refundProduct := &ebaiapi.RefundProductList{
|
||||
SubBizOrderId: v.(map[string]interface{})["sub_biz_order_id"].(string),
|
||||
PlatformSkuId: utils.Int64ToStr(utils.Interface2Int64WithDefault(v.(map[string]interface{})["platform_sku_id"], 0)),
|
||||
SubBizOrderId: v2["sub_biz_order_id"].(string),
|
||||
PlatformSkuId: utils.Int64ToStr(utils.Interface2Int64WithDefault(v2["platform_sku_id"], 0)),
|
||||
}
|
||||
switch utils.MustInterface2Int64(v2["fund_calculate_type"]) {
|
||||
case 0:
|
||||
refundProduct.Number = utils.Int64ToStr(utils.MustInterface2Int64(v2["refund_quantity"]))
|
||||
case 1:
|
||||
refundProduct.RefundAmount = utils.Int64ToStr(utils.MustInterface2Int64(v2["refund_user_amount"]))
|
||||
}
|
||||
|
||||
refundProductList = append(refundProductList, refundProduct)
|
||||
}
|
||||
refundProductListStr, _ := json.Marshal(refundProductList)
|
||||
param.RefundProductList = string(refundProductListStr)
|
||||
param.RefundProductList = refundProductList
|
||||
err = api.EbaiAPI.OrderDisagreeRefund(param)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package ebai
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"fmt"
|
||||
"strings"
|
||||
@@ -231,39 +230,42 @@ func (c *PurchaseHandler) AgreeOrRefuseRefund(ctx *jxcontext.Context, order *mod
|
||||
return fmt.Errorf("拒绝退单时请填写原因")
|
||||
}
|
||||
param := &ebaiapi.RefundOrderExamine{
|
||||
ReverseOrderId: order.AfsOrderID,
|
||||
OrderId: order.VendorOrderID,
|
||||
IdempotentId: utils.Int64ToStr(time.Now().UnixNano()),
|
||||
ActionType: ebaiapi.RefundTypeRefuseGoods,
|
||||
ReasonCode: "7001",
|
||||
ReasonRemarks: reason,
|
||||
RefundProductList: "",
|
||||
ReverseOrderId: order.AfsOrderID,
|
||||
OrderId: order.VendorOrderID,
|
||||
IdempotentId: utils.Int64ToStr(time.Now().UnixNano()),
|
||||
ActionType: ebaiapi.RefundTypeRefuseGoods,
|
||||
ReasonCode: "7001",
|
||||
ReasonRemarks: reason,
|
||||
}
|
||||
refundProductList := make([]*ebaiapi.RefundProductList, 0, 0)
|
||||
date, _ := api.EbaiAPI.GetReverseOrder(order.VendorOrderID)
|
||||
for _, v := range date {
|
||||
v2 := v.(map[string]interface{})
|
||||
refundProduct := &ebaiapi.RefundProductList{
|
||||
SubBizOrderId: v.(map[string]interface{})["sub_biz_order_id"].(string),
|
||||
PlatformSkuId: utils.Int64ToStr(utils.Interface2Int64WithDefault(v.(map[string]interface{})["platform_sku_id"], 0)),
|
||||
SubBizOrderId: v2["sub_biz_order_id"].(string),
|
||||
PlatformSkuId: utils.Int64ToStr(utils.Interface2Int64WithDefault(v2["platform_sku_id"], 0)),
|
||||
}
|
||||
switch utils.MustInterface2Int64(v2["fund_calculate_type"]) {
|
||||
case 0:
|
||||
refundProduct.Number = utils.Int64ToStr(utils.MustInterface2Int64(v2["refund_quantity"]))
|
||||
case 1:
|
||||
refundProduct.RefundAmount = utils.Int64ToStr(utils.MustInterface2Int64(v2["refund_user_amount"]))
|
||||
}
|
||||
|
||||
refundProductList = append(refundProductList, refundProduct)
|
||||
}
|
||||
refundProductListStr, _ := json.Marshal(refundProductList)
|
||||
param.RefundProductList = string(refundProductListStr)
|
||||
param.RefundProductList = refundProductList
|
||||
|
||||
err = api.EbaiAPI.OrderDisagreeReturnGoods(param)
|
||||
} else if approveType == partner.AfsApproveTypeRefusedToRefundMoney {
|
||||
return errors.New("此平台暂时不支持")
|
||||
} else {
|
||||
param := &ebaiapi.RefundOrderExamine{
|
||||
ReverseOrderId: order.AfsOrderID,
|
||||
OrderId: order.VendorOrderID,
|
||||
IdempotentId: utils.Int64ToStr(time.Now().UnixNano()),
|
||||
ActionType: ebaiapi.RefundTypeAgreeGoods,
|
||||
ReasonCode: "",
|
||||
ReasonRemarks: reason,
|
||||
RefundProductList: "",
|
||||
ReverseOrderId: order.AfsOrderID,
|
||||
OrderId: order.VendorOrderID,
|
||||
IdempotentId: utils.Int64ToStr(time.Now().UnixNano()),
|
||||
ActionType: ebaiapi.RefundTypeAgreeGoods,
|
||||
ReasonCode: "",
|
||||
ReasonRemarks: reason,
|
||||
}
|
||||
err = api.EbaiAPI.OrderAgreeReturnGoods(param)
|
||||
}
|
||||
@@ -297,14 +299,30 @@ func (c *PurchaseHandler) PartRefundOrder(ctx *jxcontext.Context, order *model.G
|
||||
//售后部分多次退款
|
||||
if order.Status > model.OrderStatusEndBegin {
|
||||
param := &ebaiapi.RefundOrderExamine{
|
||||
ReverseOrderId: afsOrderInfo.AfsOrderID,
|
||||
OrderId: afsOrderInfo.VendorOrderID,
|
||||
IdempotentId: utils.Int64ToStr(time.Now().UnixNano()),
|
||||
ActionType: ebaiapi.RefundTypeAgree,
|
||||
ReasonCode: "",
|
||||
ReasonRemarks: reason,
|
||||
RefundProductList: "",
|
||||
ReverseOrderId: afsOrderInfo.AfsOrderID,
|
||||
OrderId: afsOrderInfo.VendorOrderID,
|
||||
IdempotentId: utils.Int64ToStr(time.Now().UnixNano()),
|
||||
ActionType: ebaiapi.RefundTypeAgree,
|
||||
ReasonCode: "",
|
||||
ReasonRemarks: reason,
|
||||
}
|
||||
date, _ := api.EbaiAPI.GetReverseOrder(order.VendorOrderID)
|
||||
refundProductList := make([]*ebaiapi.RefundProductList, 0, 0)
|
||||
for _, v := range date {
|
||||
v2 := v.(map[string]interface{})
|
||||
refundProduct := &ebaiapi.RefundProductList{
|
||||
SubBizOrderId: v2["sub_biz_order_id"].(string),
|
||||
PlatformSkuId: utils.Int64ToStr(utils.Interface2Int64WithDefault(v2["platform_sku_id"], 0)),
|
||||
}
|
||||
switch utils.MustInterface2Int64(v2["fund_calculate_type"]) {
|
||||
case 0:
|
||||
refundProduct.Number = utils.Int64ToStr(utils.MustInterface2Int64(v2["refund_quantity"]))
|
||||
case 1:
|
||||
refundProduct.RefundAmount = utils.Int64ToStr(utils.MustInterface2Int64(v2["refund_user_amount"]))
|
||||
}
|
||||
refundProductList = append(refundProductList, refundProduct)
|
||||
}
|
||||
param.RefundProductList = refundProductList
|
||||
err = api.EbaiAPI.OrderAgreePartRefund(param)
|
||||
} else {
|
||||
if reason == "" {
|
||||
|
||||
@@ -180,6 +180,7 @@ func (p *PurchaseHandler) getOrder(vendorOrgCode string, vendorOrderID int64, ve
|
||||
order.BusinessType = model.BusinessTypeImmediate
|
||||
order.ExpectedDeliveredTime = getTimeFromTimestamp(earliestTime + 30*60) // 预计最晚送达时间
|
||||
}
|
||||
order.PickDeadline = order.ExpectedDeliveredTime.Add(-1 * time.Hour)
|
||||
|
||||
// 用户信息
|
||||
order.ConsigneeName = *orderDetail.ReceiveInfo.ReceiverName
|
||||
|
||||
Reference in New Issue
Block a user