1
This commit is contained in:
@@ -351,7 +351,7 @@ func (c *OrderManager) updateAfsOrderOtherInfo(db *dao.DaoDB, afsOrder *model.Af
|
|||||||
if err = c.updateAfsOrderSkuOtherInfo(db, afsOrder); err == nil {
|
if err = c.updateAfsOrderSkuOtherInfo(db, afsOrder); err == nil {
|
||||||
jxutils.RefreshAfsOrderSkuRelated(afsOrder)
|
jxutils.RefreshAfsOrderSkuRelated(afsOrder)
|
||||||
if afsOrder.RefundType == model.AfsTypeFullRefund && afsOrder.VendorID == model.VendorIDJX && order.DeliveryType != model.OrderDeliveryTypeSelfTake {
|
if afsOrder.RefundType == model.AfsTypeFullRefund && afsOrder.VendorID == model.VendorIDJX && order.DeliveryType != model.OrderDeliveryTypeSelfTake {
|
||||||
afsOrder.SkuUserMoney += order.ActualPayPrice
|
afsOrder.SkuUserMoney = order.ActualPayPrice
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package phpjx
|
package phpjx
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"git.rosy.net.cn/jx-callback/business/model/dao"
|
"git.rosy.net.cn/jx-callback/business/model/dao"
|
||||||
"strings"
|
"strings"
|
||||||
@@ -8,7 +9,6 @@ import (
|
|||||||
|
|
||||||
"git.rosy.net.cn/baseapi/platformapi/jdapi"
|
"git.rosy.net.cn/baseapi/platformapi/jdapi"
|
||||||
"git.rosy.net.cn/baseapi/utils"
|
"git.rosy.net.cn/baseapi/utils"
|
||||||
"git.rosy.net.cn/jx-callback/business/jxutils"
|
|
||||||
"git.rosy.net.cn/jx-callback/business/model"
|
"git.rosy.net.cn/jx-callback/business/model"
|
||||||
"git.rosy.net.cn/jx-callback/business/partner"
|
"git.rosy.net.cn/jx-callback/business/partner"
|
||||||
)
|
)
|
||||||
@@ -36,9 +36,9 @@ type Data4AfsOrder struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func OnAfsOrderMsg(msg *CallbackMsg) (err error) {
|
func OnAfsOrderMsg(msg *CallbackMsg) (err error) {
|
||||||
jxutils.CallMsgHandlerAsync(func() {
|
//jxutils.CallMsgHandlerAsync(func() {
|
||||||
err = onAfsOrderMsg(msg)
|
err = onAfsOrderMsg(msg)
|
||||||
}, jxutils.ComposeUniversalOrderID(msg.ThingID, model.VendorIDJX))
|
//}, jxutils.ComposeUniversalOrderID(msg.ThingID, model.VendorIDJX))
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -61,6 +61,22 @@ func CheckOrderSkuCanRefund(db *dao.DaoDB, afsOrder *Data4AfsOrder) error {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 获取用户下单商品列表
|
||||||
|
skuList, err := dao.GetSimpleOrderSkus(dao.GetDB(), afsOrder.VendorOrderID, nil)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
var really = make(map[int]bool, 0)
|
||||||
|
for _, s := range skuList {
|
||||||
|
really[s.SkuID] = true
|
||||||
|
}
|
||||||
|
for _, v := range afsOrder.Skus {
|
||||||
|
if _, ok := really[utils.Str2Int(v.VendorSkuID)]; !ok {
|
||||||
|
return fmt.Errorf("商品:[%s],不是购买商品", v.Name)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -127,6 +143,12 @@ func buildAfsOrder(msg *CallbackMsg) (outAfsOrder *model.AfsOrder, err error) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 最后一个商品
|
||||||
|
if len(skuList) == len(refundFinancial)+len(afsOrder.Skus) {
|
||||||
|
return nil, errors.New("如需整单退款,请使用整单退,无法分批次整单退款")
|
||||||
|
}
|
||||||
|
|
||||||
orderSkuNumber := 0
|
orderSkuNumber := 0
|
||||||
orderSkuCount := 0
|
orderSkuCount := 0
|
||||||
for _, v := range skuList {
|
for _, v := range skuList {
|
||||||
|
|||||||
@@ -186,20 +186,20 @@ func (c *PurchaseHandler) callbackAfsMsg2Status(msgId string, msg interface{}) (
|
|||||||
RefVendorOrderID: utils.Int64ToStr(refundOrder.PId),
|
RefVendorOrderID: utils.Int64ToStr(refundOrder.PId),
|
||||||
RefVendorID: model.VendorIDDD,
|
RefVendorID: model.VendorIDDD,
|
||||||
VendorStatus: fmt.Sprintf("%s:%s", "order", "refund_success"),
|
VendorStatus: fmt.Sprintf("%s:%s", "order", "refund_success"),
|
||||||
Status: c.GetAfsStatusFromVendorStatus(refundOrder.AftersaleType, tiktokShop.CallbackUpdateRefundOrderMsgTagId),
|
Status: c.GetAfsStatusFromVendorStatus(int(refundOrder.AftersaleType), tiktokShop.CallbackUpdateRefundOrderMsgTagId),
|
||||||
StatusTime: utils.Timestamp2Time(int64(refundOrder.SuccessTime)),
|
StatusTime: utils.Timestamp2Time(int64(refundOrder.SuccessTime)),
|
||||||
}
|
}
|
||||||
if k, ok := ReasonCodeMap[refundOrder.ReasonCode]; ok {
|
if k, ok := ReasonCodeMap[int(refundOrder.ReasonCode)]; ok {
|
||||||
orderMsg.Remark = k
|
orderMsg.Remark = k
|
||||||
} else {
|
} else {
|
||||||
orderMsg.Remark = "退款成功回调,抖音reason_code对应reason不足,需要更新.code:" + utils.Int2Str(refundOrder.ReasonCode)
|
orderMsg.Remark = "退款成功回调,抖音reason_code对应reason不足,需要更新.code:" + utils.Int64ToStr(refundOrder.ReasonCode)
|
||||||
}
|
}
|
||||||
if refundOrder.AftersaleId > 0 {
|
if refundOrder.AftersaleId > 0 {
|
||||||
orderMsg.VendorOrderID = utils.Int64ToStr(refundOrder.AftersaleId)
|
orderMsg.VendorOrderID = utils.Int64ToStr(refundOrder.AftersaleId)
|
||||||
} else {
|
} else {
|
||||||
orderMsg.VendorOrderID = orderMsg.RefVendorOrderID
|
orderMsg.VendorOrderID = orderMsg.RefVendorOrderID
|
||||||
}
|
}
|
||||||
vendorOrgCode = refundOrder.ShopId
|
vendorOrgCode = int(refundOrder.ShopId)
|
||||||
orderStatus = orderMsg
|
orderStatus = orderMsg
|
||||||
case tiktokShop.CallbackRefundOrderRefuseMsgTagId: // 拒绝退款消息
|
case tiktokShop.CallbackRefundOrderRefuseMsgTagId: // 拒绝退款消息
|
||||||
refundOrder := msg.(tiktokShop.BusinessNotRefundRefusedData)
|
refundOrder := msg.(tiktokShop.BusinessNotRefundRefusedData)
|
||||||
|
|||||||
Reference in New Issue
Block a user