This commit is contained in:
邹宗楠
2023-09-13 09:49:09 +08:00
parent d0acb420a4
commit ac5db58c28

View File

@@ -3,6 +3,8 @@ package tao_vegetable
import (
"errors"
"fmt"
"git.rosy.net.cn/baseapi/platformapi/dingdingapi"
"git.rosy.net.cn/jx-callback/business/jxutils/ddmsg"
"regexp"
"strings"
"time"
@@ -580,7 +582,36 @@ func (c *PurchaseHandler) SelfDeliverDelivering(order *model.GoodsOrder, userNam
// SelfDeliverDelivered 自配送订单送达
func (c *PurchaseHandler) SelfDeliverDelivered(order *model.GoodsOrder, userName string) (err error) {
param := OrderStatusChangeDelivery(order, tao_vegetable.OrderStatusDeliveryOver)
return getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromOrder(order), "").DeliveryFinish(param)
api := getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromOrder(order), "")
err = api.DeliveryFinish(param)
// 这个是因为自动拣货失败出现订单状态为更新,无法设置送达
if err != nil && strings.Contains(err.Error(), "当前状态不允许更新") {
errMap := make(map[string]interface{}, 0)
pickupErr := c.PickupGoods(order, true, userName) // 自动拣货
time.Sleep(200 * time.Millisecond)
deliverErr := c.Swtich2SelfDeliver(order, userName) // 出库
time.Sleep(200 * time.Millisecond)
deliveringErr := c.SelfDeliverDelivering(order, userName) // 配送中
time.Sleep(200 * time.Millisecond)
deliveredErr := c.Swtich2SelfDelivered(order, userName) // 送达
if pickupErr != nil {
errMap["pickupErr"] = pickupErr
}
if deliverErr != nil {
errMap["deliverErr"] = deliverErr
}
if deliveringErr != nil {
errMap["deliveringErr"] = deliveringErr
}
if deliveredErr != nil {
errMap["deliveredErr"] = deliveredErr
}
if len(errMap) > 0 {
ddmsg.SendUserMessage(dingdingapi.MsgTyeText, "2452A93EEB9111EC9B06525400E86DC0", "淘宝订单拣货异常,导致设置送达错误:", utils.Format4Output(errMap, false))
}
}
return err
}
func (c *PurchaseHandler) GetOrderRealMobile(ctx *jxcontext.Context, order *model.GoodsOrder) (mobile string, err error) {