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