This commit is contained in:
邹宗楠
2026-07-31 09:07:41 +08:00
parent b213cbea45
commit 93178c924b
29 changed files with 61631 additions and 61596 deletions

View File

@@ -201,7 +201,7 @@ func (c *BaseScheduler) ConfirmReceiveGoods(ctx *jxcontext.Context, order *model
func (c *BaseScheduler) AgreeOrRefuseCancel(ctx *jxcontext.Context, order *model.GoodsOrder, isAcceptIt bool, reason string) (err error) { func (c *BaseScheduler) AgreeOrRefuseCancel(ctx *jxcontext.Context, order *model.GoodsOrder, isAcceptIt bool, reason string) (err error) {
if c.IsReallyCallPlatformAPI { if c.IsReallyCallPlatformAPI {
err = partner.GetPurchaseOrderHandlerFromVendorID(order.VendorID).AgreeOrRefuseCancel(ctx, order, isAcceptIt, reason) err = partner.GetPurchaseOrderHandlerFromVendorID(order.VendorID).AgreeOrRefuseCancel(ctx, order, isAcceptIt, reason, nil)
} }
if err == nil { if err == nil {
flag := model.OrderFlagAgreeUserApplyCancel flag := model.OrderFlagAgreeUserApplyCancel
@@ -234,12 +234,12 @@ func (c *BaseScheduler) CancelWaybillByID(ctx *jxcontext.Context, vendorWaybillI
return err return err
} }
func (c *BaseScheduler) AgreeOrRefuseRefund(ctx *jxcontext.Context, afsOrderID string, vendorID, approveType int, reason string) (err error) { func (c *BaseScheduler) AgreeOrRefuseRefund(ctx *jxcontext.Context, afsOrderID string, vendorID, approveType int, reason string, mtReview map[string]interface{}) (err error) {
skus := make([]*model.OrderFinancialSkuExt, 0, 0) skus := make([]*model.OrderFinancialSkuExt, 0, 0)
afsOrder, err := partner.CurOrderManager.LoadAfsOrder(afsOrderID, vendorID) afsOrder, err := partner.CurOrderManager.LoadAfsOrder(afsOrderID, vendorID)
if err == nil { if err == nil {
if c.IsReallyCallPlatformAPI { if c.IsReallyCallPlatformAPI {
err = partner.GetPurchaseOrderHandlerFromVendorID(vendorID).AgreeOrRefuseRefund(ctx, afsOrder, approveType, reason) err = partner.GetPurchaseOrderHandlerFromVendorID(vendorID).AgreeOrRefuseRefund(ctx, afsOrder, approveType, reason, mtReview)
} }
if err == nil { if err == nil {
flag := model.AfsOrderFlagAgreeUserRefund flag := model.AfsOrderFlagAgreeUserRefund

View File

@@ -27,7 +27,7 @@ func (s *DefScheduler) OnAfsOrderNew(order *model.AfsOrder, isPending bool) (err
if !isPending { if !isPending {
if isAutoRejectAfsOrder(order) { if isAutoRejectAfsOrder(order) {
if handler := partner.GetPurchaseOrderHandlerFromVendorID(order.VendorID); handler != nil { if handler := partner.GetPurchaseOrderHandlerFromVendorID(order.VendorID); handler != nil {
if err := handler.AgreeOrRefuseRefund(jxcontext.AdminCtx, order, partner.AfsApproveTypeRefused, "抱歉,蟹券不接受退货或换货"); err != nil { if err := handler.AgreeOrRefuseRefund(jxcontext.AdminCtx, order, partner.AfsApproveTypeRefused, "抱歉,蟹券不接受退货或换货", nil); err != nil {
globals.SugarLogger.Debugf("OnAfsOrderNew, orderID:%s, afsOrderID:%s failed with err:%v", order.VendorOrderID, order.AfsOrderID, err) globals.SugarLogger.Debugf("OnAfsOrderNew, orderID:%s, afsOrderID:%s failed with err:%v", order.VendorOrderID, order.AfsOrderID, err)
} }
} }

View File

@@ -339,8 +339,6 @@ func ReadMsgFromVendor(vendorID int, elmAppID string, msg []byte) error {
SendType: SendTypeJd, SendType: SendTypeJd,
MsgContent: risMsg, MsgContent: risMsg,
} }
globals.SugarLogger.Debugf("-----rismsg2 := %s", utils.Format4Output(risMsg, false))
globals.SugarLogger.Debugf("-----elmAppID := %s", elmAppID)
systemMsg, userMsg, readMsg, err = jdapi.ImMsgChange(risMsg, elmAppID) systemMsg, userMsg, readMsg, err = jdapi.ImMsgChange(risMsg, elmAppID)
if err != nil { if err != nil {
return err return err
@@ -351,6 +349,7 @@ func ReadMsgFromVendor(vendorID int, elmAppID string, msg []byte) error {
} }
switch elmAppID { switch elmAppID {
case jdapi.ImCallbackRisMsg: case jdapi.ImCallbackRisMsg:
return nil
userList.UserID = systemMsg.From.Pin userList.UserID = systemMsg.From.Pin
userList.LatestTime = int(systemMsg.Timestamp) userList.LatestTime = int(systemMsg.Timestamp)
userList.LatestMsg = "暂无" userList.LatestMsg = "暂无"
@@ -359,8 +358,9 @@ func ReadMsgFromVendor(vendorID int, elmAppID string, msg []byte) error {
userList.LatestTime = int(userMsg.Timestamp) userList.LatestTime = int(userMsg.Timestamp)
userList.LatestMsg = userMsg.Body.Content userList.LatestMsg = userMsg.Body.Content
case jdapi.ImCallbackReadMsg: case jdapi.ImCallbackReadMsg:
return nil
userList.UserID = readMsg.From.Pin userList.UserID = readMsg.From.Pin
userList.LatestTime = int(userMsg.Timestamp) userList.LatestTime = int(readMsg.Timestamp)
userList.LatestMsg = "暂无" userList.LatestMsg = "暂无"
} }
vendorStoreID = risMsg.StoreId vendorStoreID = risMsg.StoreId

View File

@@ -64,7 +64,7 @@ type IPurchasePlatformOrderHandler interface {
GetOrderRealMobile(ctx *jxcontext.Context, order *model.GoodsOrder) (mobile string, err error) GetOrderRealMobile(ctx *jxcontext.Context, order *model.GoodsOrder) (mobile string, err error)
ReplyOrderComment(ctx *jxcontext.Context, vendorOrgCode string, orderComment *model.OrderComment, replyComment string) (err error) ReplyOrderComment(ctx *jxcontext.Context, vendorOrgCode string, orderComment *model.OrderComment, replyComment string) (err error)
AgreeOrRefuseCancel(ctx *jxcontext.Context, order *model.GoodsOrder, isAgree bool, reason string) (err error) AgreeOrRefuseCancel(ctx *jxcontext.Context, order *model.GoodsOrder, isAgree bool, reason string, refundParam interface{}) (err error)
CancelOrder(ctx *jxcontext.Context, order *model.GoodsOrder, reason string) (err error) CancelOrder(ctx *jxcontext.Context, order *model.GoodsOrder, reason string) (err error)
// order.Skus要包含原始订单中的Sku信息removedSkuList中是要移除的Sku信息 // order.Skus要包含原始订单中的Sku信息removedSkuList中是要移除的Sku信息
AdjustOrder(ctx *jxcontext.Context, order *model.GoodsOrder, removedSkuList []*model.OrderSku, reason string) (err error) AdjustOrder(ctx *jxcontext.Context, order *model.GoodsOrder, removedSkuList []*model.OrderSku, reason string) (err error)
@@ -75,7 +75,7 @@ type IPurchasePlatformOrderHandler interface {
// 发起部分退款 // 发起部分退款
PartRefundOrder(ctx *jxcontext.Context, order *model.GoodsOrder, refundSkuList []*model.OrderSku, reason string) (err error) PartRefundOrder(ctx *jxcontext.Context, order *model.GoodsOrder, refundSkuList []*model.OrderSku, reason string) (err error)
// 审核售后单申请 // 审核售后单申请
AgreeOrRefuseRefund(ctx *jxcontext.Context, order *model.AfsOrder, approveType int, reason string) (err error) AgreeOrRefuseRefund(ctx *jxcontext.Context, order *model.AfsOrder, approveType int, reason string, review map[string]interface{}) (err error)
// // 确认收到退货 // // 确认收到退货
ConfirmReceivedReturnGoods(ctx *jxcontext.Context, order *model.AfsOrder) (err error) ConfirmReceivedReturnGoods(ctx *jxcontext.Context, order *model.AfsOrder) (err error)
//获取自提单取货码 //获取自提单取货码

View File

@@ -805,7 +805,7 @@ func (c *PurchaseHandler) GetOrderRealMobile(ctx *jxcontext.Context, order *mode
return mobile, err return mobile, err
} }
func (c *PurchaseHandler) AgreeOrRefuseCancel(ctx *jxcontext.Context, order *model.GoodsOrder, isAcceptIt bool, reason string) (err error) { func (c *PurchaseHandler) AgreeOrRefuseCancel(ctx *jxcontext.Context, order *model.GoodsOrder, isAcceptIt bool, reason string, refundParam interface{}) (err error) {
if globals.EnableEbaiStoreWrite { if globals.EnableEbaiStoreWrite {
param := &ebaiapi.RefundOrderExamine{ param := &ebaiapi.RefundOrderExamine{
ReverseOrderId: "", ReverseOrderId: "",

View File

@@ -280,7 +280,7 @@ func (c *PurchaseHandler) callbackAfsMsg2Status(msg *ebaiapi.CallbackMsg) (order
} }
// 审核售后单申请 退货退款 // 审核售后单申请 退货退款
func (c *PurchaseHandler) AgreeOrRefuseRefund(ctx *jxcontext.Context, order *model.AfsOrder, approveType int, reason string) (err error) { func (c *PurchaseHandler) AgreeOrRefuseRefund(ctx *jxcontext.Context, order *model.AfsOrder, approveType int, reason string, review map[string]interface{}) (err error) {
if globals.EnableEbaiStoreWrite { if globals.EnableEbaiStoreWrite {
param := &ebaiapi.RefundOrderExamine{ param := &ebaiapi.RefundOrderExamine{
ReverseOrderId: order.AfsOrderID, ReverseOrderId: order.AfsOrderID,

View File

@@ -318,7 +318,7 @@ func (c *PurchaseHandler) GetOrderRealMobile(ctx *jxcontext.Context, order *mode
return mobile, err return mobile, err
} }
func (c *PurchaseHandler) AgreeOrRefuseCancel(ctx *jxcontext.Context, order *model.GoodsOrder, isAgree bool, reason string) (err error) { func (c *PurchaseHandler) AgreeOrRefuseCancel(ctx *jxcontext.Context, order *model.GoodsOrder, isAgree bool, reason string, refundParam interface{}) (err error) {
return err return err
} }

View File

@@ -554,7 +554,7 @@ func (c *PurchaseHandler) GetOrderRealMobile(ctx *jxcontext.Context, order *mode
return mobile, err return mobile, err
} }
func (c *PurchaseHandler) AgreeOrRefuseCancel(ctx *jxcontext.Context, order *model.GoodsOrder, isAgree bool, reason string) (err error) { func (c *PurchaseHandler) AgreeOrRefuseCancel(ctx *jxcontext.Context, order *model.GoodsOrder, isAgree bool, reason string, refundParam interface{}) (err error) {
if globals.EnableJdStoreWrite { if globals.EnableJdStoreWrite {
err = getAPI(order.VendorOrgCode).OrderCancelOperate(order.VendorOrderID, isAgree, ctx.GetUserName(), reason) err = getAPI(order.VendorOrgCode).OrderCancelOperate(order.VendorOrderID, isAgree, ctx.GetUserName(), reason)
} }

View File

@@ -180,7 +180,7 @@ func (c *PurchaseHandler) buildAfsOrder(afsInfo *jdapi.AfsServiceResponse) (afsO
} }
// 审核售后单申请 // 审核售后单申请
func (c *PurchaseHandler) AgreeOrRefuseRefund(ctx *jxcontext.Context, order *model.AfsOrder, approveType int, reason string) (err error) { func (c *PurchaseHandler) AgreeOrRefuseRefund(ctx *jxcontext.Context, order *model.AfsOrder, approveType int, reason string, review map[string]interface{}) (err error) {
if globals.EnableJdStoreWrite { if globals.EnableJdStoreWrite {
err = getAPI(order.VendorOrgCode).AfsOpenApprove(order.AfsOrderID, afsApproveTypeMap[approveType], reason, ctx.GetUserName()) err = getAPI(order.VendorOrgCode).AfsOpenApprove(order.AfsOrderID, afsApproveTypeMap[approveType], reason, ctx.GetUserName())
} }

View File

@@ -139,7 +139,7 @@ func (p *PurchaseHandler) GetOrderRealMobile(ctx *jxcontext.Context, order *mode
func (p *PurchaseHandler) ReplyOrderComment(ctx *jxcontext.Context, vendorOrgCode string, orderComment *model.OrderComment, replyComment string) (err error) { func (p *PurchaseHandler) ReplyOrderComment(ctx *jxcontext.Context, vendorOrgCode string, orderComment *model.OrderComment, replyComment string) (err error) {
return err return err
} }
func (p *PurchaseHandler) AgreeOrRefuseCancel(ctx *jxcontext.Context, order *model.GoodsOrder, isAgree bool, reason string) (err error) { func (p *PurchaseHandler) AgreeOrRefuseCancel(ctx *jxcontext.Context, order *model.GoodsOrder, isAgree bool, reason string,refundParam interface{}) (err error) {
return err return err
} }
func (p *PurchaseHandler) CancelOrder(ctx *jxcontext.Context, order *model.GoodsOrder, reason string) (err error) { func (p *PurchaseHandler) CancelOrder(ctx *jxcontext.Context, order *model.GoodsOrder, reason string) (err error) {

View File

@@ -14,7 +14,7 @@ import (
"git.rosy.net.cn/jx-callback/business/partner" "git.rosy.net.cn/jx-callback/business/partner"
) )
func (c *PurchaseHandler) AgreeOrRefuseRefund(ctx *jxcontext.Context, afsOrder *model.AfsOrder, approveType int, reason string) (err error) { func (c *PurchaseHandler) AgreeOrRefuseRefund(ctx *jxcontext.Context, afsOrder *model.AfsOrder, approveType int, reason string, review map[string]interface{}) (err error) {
var status int var status int
if approveType == partner.AfsApproveTypeRefused { if approveType == partner.AfsApproveTypeRefused {
status = model.AfsOrderStatusFailed status = model.AfsOrderStatusFailed

View File

@@ -1575,7 +1575,7 @@ func MarkArrears(db *dao.DaoDB, order *model.GoodsOrder, orderPay *model.OrderPa
} }
} }
func AgreeOrRefuseCancel(ctx *jxcontext.Context, order *model.GoodsOrder, isAgree bool, reason string) (err error) { func AgreeOrRefuseCancel(ctx *jxcontext.Context, order *model.GoodsOrder, isAgree bool, reason string,refundParam interface{}) (err error) {
if isAgree { if isAgree {
err = CancelOrder(ctx, order, reason) err = CancelOrder(ctx, order, reason)
} else { } else {

View File

@@ -95,10 +95,10 @@ func (c *PurchaseHandler) GetOrderRealMobile(ctx *jxcontext.Context, order *mode
return mobile, err return mobile, err
} }
func (c *PurchaseHandler) AgreeOrRefuseCancel(ctx *jxcontext.Context, order *model.GoodsOrder, isAgree bool, reason string) (err error) { func (c *PurchaseHandler) AgreeOrRefuseCancel(ctx *jxcontext.Context, order *model.GoodsOrder, isAgree bool, reason string, refundParam interface{}) (err error) {
if model.IsOrderJXTemp(order) { if model.IsOrderJXTemp(order) {
} else { } else {
err = localjx.AgreeOrRefuseCancel(ctx, order, isAgree, reason) err = localjx.AgreeOrRefuseCancel(ctx, order, isAgree, reason, nil)
} }
return err return err
} }

View File

@@ -21,7 +21,7 @@ import (
) )
// 审核售后单申请 // 审核售后单申请
func (c *PurchaseHandler) AgreeOrRefuseRefund(ctx *jxcontext.Context, order *model.AfsOrder, approveType int, reason string) (err error) { func (c *PurchaseHandler) AgreeOrRefuseRefund(ctx *jxcontext.Context, order *model.AfsOrder, approveType int, reason string, review map[string]interface{}) (err error) {
var status int var status int
if approveType == partner.AfsApproveTypeRefused { if approveType == partner.AfsApproveTypeRefused {
status = model.AfsOrderStatusFailed status = model.AfsOrderStatusFailed

View File

@@ -765,13 +765,20 @@ func (c *PurchaseHandler) GetOrderRealMobile(ctx *jxcontext.Context, order *mode
return mobile, err return mobile, err
} }
func (c *PurchaseHandler) AgreeOrRefuseCancel(ctx *jxcontext.Context, order *model.GoodsOrder, isAgree bool, reason string) (err error) { func (c *PurchaseHandler) AgreeOrRefuseCancel(ctx *jxcontext.Context, order *model.GoodsOrder, isAgree bool, reason string, refundParam interface{}) (err error) {
if globals.EnableMtwmStoreWrite { if globals.EnableMtwmStoreWrite {
if isAgree { var mtParam *mtwmapi.ReviewAfterSalesInfo
err = getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromOrder(order), "").OrderRefundAgree(utils.Str2Int64(order.VendorOrderID), reason) data, _ := json.Marshal(refundParam)
} else { if err = json.Unmarshal(data, &mtParam); err != nil {
err = getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromOrder(order), "").OrderRefundReject(utils.Str2Int64(order.VendorOrderID), reason) return err
} }
err = getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromOrder(order), "").ReviewAfterSales(mtParam)
//if isAgree {
// err = getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromOrder(order), "").OrderRefundAgree(utils.Str2Int64(order.VendorOrderID), reason)
//} else {
// err = getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromOrder(order), "").OrderRefundReject(utils.Str2Int64(order.VendorOrderID), reason)
//}
} }
return err return err
} }

View File

@@ -1,7 +1,6 @@
package mtwm package mtwm
import ( import (
"errors"
"fmt" "fmt"
"git.rosy.net.cn/baseapi/platformapi/dingdingapi" "git.rosy.net.cn/baseapi/platformapi/dingdingapi"
"git.rosy.net.cn/jx-callback/business/jxutils/ddmsg" "git.rosy.net.cn/jx-callback/business/jxutils/ddmsg"
@@ -372,15 +371,21 @@ func (c *PurchaseHandler) GetAfsStatusFromVendorStatus(resType int, notifyType s
} }
// 审核售后单申请 // 审核售后单申请
func (c *PurchaseHandler) AgreeOrRefuseRefund(ctx *jxcontext.Context, order *model.AfsOrder, approveType int, reason string) (err error) { func (c *PurchaseHandler) AgreeOrRefuseRefund(ctx *jxcontext.Context, order *model.AfsOrder, approveType int, reason string, review map[string]interface{}) (err error) {
if globals.EnableMtwmStoreWrite { if globals.EnableMtwmStoreWrite {
if approveType == partner.AfsApproveTypeRefused { var param *mtwmapi.ReviewAfterSalesInfo
err = getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromAfsOrder(order), order.VendorStoreID).OrderRefundReject(utils.Str2Int64(order.VendorOrderID), reason) if err = utils.Map2StructByJson(review, &param, true); err != nil {
} else if approveType == partner.AfsApproveTypeRefusedToRefundMoney { return err
return errors.New("此平台暂时不支持")
} else {
err = getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromAfsOrder(order), order.VendorStoreID).OrderRefundAgree(utils.Str2Int64(order.VendorOrderID), reason)
} }
globals.SugarLogger.Debugf("-----AgreeOrRefuseRefund:= %s", utils.Format4Output(param, false))
err = getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromAfsOrder(order), order.VendorStoreID).ReviewAfterSales(param)
//if approveType == partner.AfsApproveTypeRefused {
// err = getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromAfsOrder(order), order.VendorStoreID).OrderRefundReject(utils.Str2Int64(order.VendorOrderID), reason)
//} else if approveType == partner.AfsApproveTypeRefusedToRefundMoney {
// return errors.New("此平台暂时不支持")
//} else {
// err = getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromAfsOrder(order), order.VendorStoreID).OrderRefundAgree(utils.Str2Int64(order.VendorOrderID), reason)
//}
} }
return err return err
} }

View File

@@ -659,7 +659,7 @@ func (c *PurchaseHandler) GetOrderRealMobile(ctx *jxcontext.Context, order *mode
return mobile, err return mobile, err
} }
func (c *PurchaseHandler) AgreeOrRefuseCancel(ctx *jxcontext.Context, order *model.GoodsOrder, isAgree bool, reason string) (err error) { func (c *PurchaseHandler) AgreeOrRefuseCancel(ctx *jxcontext.Context, order *model.GoodsOrder, isAgree bool, reason string,refundParam interface{}) (err error) {
db := dao.GetDB() db := dao.GetDB()
afsOrder, err := partner.CurOrderManager.LoadAfsOrder(order.VendorOrderID, order.VendorID) afsOrder, err := partner.CurOrderManager.LoadAfsOrder(order.VendorOrderID, order.VendorID)

View File

@@ -500,7 +500,7 @@ func (c *PurchaseHandler) GetAfsStatusFromVendorStatus(notifyType string) int {
} }
// 审核售后单申请 // 审核售后单申请
func (c *PurchaseHandler) AgreeOrRefuseRefund(ctx *jxcontext.Context, order *model.AfsOrder, approveType int, reason string) (err error) { func (c *PurchaseHandler) AgreeOrRefuseRefund(ctx *jxcontext.Context, order *model.AfsOrder, approveType int, reason string, review map[string]interface{}) (err error) {
db := dao.GetDB() db := dao.GetDB()
if approveType == partner.AfsApproveTypeRefused { if approveType == partner.AfsApproveTypeRefused {
param := &request3156.AlibabaTclsAelophyRefundDisagreeRequest{ param := &request3156.AlibabaTclsAelophyRefundDisagreeRequest{

View File

@@ -746,7 +746,7 @@ func (c *PurchaseHandler) GetOrderRealMobile(ctx *jxcontext.Context, order *mode
} }
// AgreeOrRefuseCancel 同意或拒绝(退款) // AgreeOrRefuseCancel 同意或拒绝(退款)
func (c *PurchaseHandler) AgreeOrRefuseCancel(ctx *jxcontext.Context, order *model.GoodsOrder, isAgree bool, reason string) (err error) { func (c *PurchaseHandler) AgreeOrRefuseCancel(ctx *jxcontext.Context, order *model.GoodsOrder, isAgree bool, reason string, refundParam interface{}) (err error) {
afsOrder, err := partner.CurOrderManager.LoadAfsOrder(order.VendorOrderID, order.VendorID) afsOrder, err := partner.CurOrderManager.LoadAfsOrder(order.VendorOrderID, order.VendorID)
if err != nil { if err != nil {
return err return err

View File

@@ -111,7 +111,7 @@ var (
) )
// AgreeOrRefuseRefund todo 审核售后单申请 退货退款(同意退货,确认收货之后会自动退款) 审核售后有点问题 // AgreeOrRefuseRefund todo 审核售后单申请 退货退款(同意退货,确认收货之后会自动退款) 审核售后有点问题
func (c *PurchaseHandler) AgreeOrRefuseRefund(ctx *jxcontext.Context, order *model.AfsOrder, approveType int, reason string) (err error) { func (c *PurchaseHandler) AgreeOrRefuseRefund(ctx *jxcontext.Context, order *model.AfsOrder, approveType int, reason string, review map[string]interface{}) (err error) {
tiktokApi := getAPI(order.VendorOrgCode, order.JxStoreID, "") tiktokApi := getAPI(order.VendorOrgCode, order.JxStoreID, "")
//afsOrderDetail, err := tiktokApi.QueryAfsOrderDetail(order.AfsOrderID, false) //afsOrderDetail, err := tiktokApi.QueryAfsOrderDetail(order.AfsOrderID, false)
//if err != nil { //if err != nil {

View File

@@ -286,7 +286,7 @@ func (c *PurchaseHandler) GetOrderRealMobile(ctx *jxcontext.Context, order *mode
return mobile, err return mobile, err
} }
func (c *PurchaseHandler) AgreeOrRefuseCancel(ctx *jxcontext.Context, order *model.GoodsOrder, isAgree bool, reason string) (err error) { func (c *PurchaseHandler) AgreeOrRefuseCancel(ctx *jxcontext.Context, order *model.GoodsOrder, isAgree bool, reason string,refundParam interface{}) (err error) {
return err return err
} }

View File

@@ -8,7 +8,7 @@ import (
) )
// 审核售后单申请 // 审核售后单申请
func (c *PurchaseHandler) AgreeOrRefuseRefund(ctx *jxcontext.Context, order *model.AfsOrder, approveType int, reason string) (err error) { func (c *PurchaseHandler) AgreeOrRefuseRefund(ctx *jxcontext.Context, order *model.AfsOrder, approveType int, reason string, review map[string]interface{}) (err error) {
return err return err
} }

View File

@@ -55,7 +55,7 @@ func (p *PurchaseHandler) GetOrderRealMobile(ctx *jxcontext.Context, order *mode
func (p *PurchaseHandler) ReplyOrderComment(ctx *jxcontext.Context, vendorOrgCode string, orderComment *model.OrderComment, replyComment string) (err error) { func (p *PurchaseHandler) ReplyOrderComment(ctx *jxcontext.Context, vendorOrgCode string, orderComment *model.OrderComment, replyComment string) (err error) {
return err return err
} }
func (p *PurchaseHandler) AgreeOrRefuseCancel(ctx *jxcontext.Context, order *model.GoodsOrder, isAgree bool, reason string) (err error) { func (p *PurchaseHandler) AgreeOrRefuseCancel(ctx *jxcontext.Context, order *model.GoodsOrder, isAgree bool, reason string, refundParam interface{}) (err error) {
return err return err
} }
func (p *PurchaseHandler) CancelOrder(ctx *jxcontext.Context, order *model.GoodsOrder, reason string) (err error) { func (p *PurchaseHandler) CancelOrder(ctx *jxcontext.Context, order *model.GoodsOrder, reason string) (err error) {
@@ -70,7 +70,7 @@ func (p *PurchaseHandler) RefundOrder(ctx *jxcontext.Context, order *model.Goods
func (p *PurchaseHandler) PartRefundOrder(ctx *jxcontext.Context, order *model.GoodsOrder, refundSkuList []*model.OrderSku, reason string) (err error) { func (p *PurchaseHandler) PartRefundOrder(ctx *jxcontext.Context, order *model.GoodsOrder, refundSkuList []*model.OrderSku, reason string) (err error) {
return err return err
} }
func (p *PurchaseHandler) AgreeOrRefuseRefund(ctx *jxcontext.Context, order *model.AfsOrder, approveType int, reason string) (err error) { func (p *PurchaseHandler) AgreeOrRefuseRefund(ctx *jxcontext.Context, order *model.AfsOrder, approveType int, reason string, review map[string]interface{}) (err error) {
return err return err
} }
func (p *PurchaseHandler) ConfirmReceivedReturnGoods(ctx *jxcontext.Context, order *model.AfsOrder) (err error) { func (p *PurchaseHandler) ConfirmReceivedReturnGoods(ctx *jxcontext.Context, order *model.AfsOrder) (err error) {

View File

@@ -250,23 +250,24 @@ func (c *DjswController) OrderInvoice() {
func (c *DjswController) imMsg() { func (c *DjswController) imMsg() {
if c.Ctx.Input.Method() == http.MethodPost { if c.Ctx.Input.Method() == http.MethodPost {
var callbackResponse *jdapi.CallbackResponse
msg, url, err := jdapi.ImChatRiskMsg(getUsefulRequest(c.Ctx)) msg, url, err := jdapi.ImChatRiskMsg(getUsefulRequest(c.Ctx))
globals.SugarLogger.Debugf("-----------jdmsg := %s", utils.Format4Output(msg, false)) globals.SugarLogger.Debugf("-----------jdmsg := %s", utils.Format4Output(msg, false))
globals.SugarLogger.Debugf("-----------jdmsg URL:= %s", url) globals.SugarLogger.Debugf("-----------jdmsg URL:= %s", url)
if err != nil { if err == nil {
callbackResponse = jdapi.Err2CallbackResponse(err, "")
} else {
var base *jdapi.BaseInfo var base *jdapi.BaseInfo
if utils.UnmarshalUseNumber(msg, &base); err == nil { if utils.UnmarshalUseNumber(msg, &base); err == nil {
if url == "msgReadAck" || url == "chatRiskMsg" { if url == "msgReadAck" || url == "chatRiskMsg" {
ddmsg.SendUserMessage(dingdingapi.MsgTyeText, "2452A93EEB9111EC9B06525400E86DC0", fmt.Sprintf("jdIm:%s消息推送", url), utils.Format4Output(msg, false)) ddmsg.SendUserMessage(dingdingapi.MsgTyeText, "2452A93EEB9111EC9B06525400E86DC0", fmt.Sprintf("jdIm:%s消息推送", url), utils.Format4Output(msg, false))
} }
callbackResponse = jdapi.Err2CallbackResponse(im.ReadMsgFromVendor(model.VendorIDJD, url, []byte(base.JdParamJson)), "") err = im.ReadMsgFromVendor(model.VendorIDJD, url, []byte(base.JdParamJson))
callbackResponse = jdapi.Err2CallbackResponse(nil, "")
} }
} }
c.Data["json"] = c.transferResponse("orderStatus", callbackResponse)
if err != nil {
c.Data["json"] = -1
} else {
c.Data["json"] = 0
}
c.ServeJSON() c.ServeJSON()
} else { } else {
c.Abort("404") c.Abort("404")

View File

@@ -899,12 +899,17 @@ func (c *OrderController) AgreeOrRefuseCancel() {
// @Param vendorID formData int true "订单所属厂商ID" // @Param vendorID formData int true "订单所属厂商ID"
// @Param approveType formData int true "操作类型" // @Param approveType formData int true "操作类型"
// @Param reason formData string false "原因" // @Param reason formData string false "原因"
// @Param mtReview formData string false "美团必传map[string]interface{}"
// @Success 200 {object} controllers.CallResult // @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult // @Failure 200 {object} controllers.CallResult
// @router /AgreeOrRefuseRefund [put] // @router /AgreeOrRefuseRefund [put]
func (c *OrderController) AgreeOrRefuseRefund() { func (c *OrderController) AgreeOrRefuseRefund() {
c.callAgreeOrRefuseRefund(func(params *tOrderAgreeOrRefuseRefundParams) (retVal interface{}, errCode string, err error) { c.callAgreeOrRefuseRefund(func(params *tOrderAgreeOrRefuseRefundParams) (retVal interface{}, errCode string, err error) {
err = defsch.FixedScheduler.AgreeOrRefuseRefund(params.Ctx, params.AfsOrderID, params.VendorID, params.ApproveType, params.Reason) var review map[string]interface{}
if err = json.Unmarshal([]byte(params.MtReview), &review); err != nil {
return nil, "", err
}
err = defsch.FixedScheduler.AgreeOrRefuseRefund(params.Ctx, params.AfsOrderID, params.VendorID, params.ApproveType, params.Reason, review)
return retVal, "", err return retVal, "", err
}) })
} }

View File

@@ -612,7 +612,9 @@ func (c *JxOrderController) UploadOrderPicking() {
var imgList []string var imgList []string
for _, v := range mediaList { for _, v := range mediaList {
imgList = append(imgList, v.Url) if v.Url != "" {
imgList = append(imgList, v.Url)
}
} }
localOrder, err := partner.CurOrderManager.LoadOrder(params.OrderId, params.VendorID) localOrder, err := partner.CurOrderManager.LoadOrder(params.OrderId, params.VendorID)

File diff suppressed because it is too large Load Diff

View File

@@ -1717,7 +1717,7 @@
} }
}, },
"/auth2/GetTokenByPhone": { "/auth2/GetTokenByPhone": {
"post": { "get": {
"tags": [ "tags": [
"auth2" "auth2"
], ],
@@ -10131,6 +10131,12 @@
"name": "reason", "name": "reason",
"description": "原因", "description": "原因",
"type": "string" "type": "string"
},
{
"in": "formData",
"name": "mtReview",
"description": "美团必传map[string]interface{}",
"type": "string"
} }
], ],
"responses": { "responses": {

View File

@@ -1178,7 +1178,7 @@ paths:
"200": "200":
description: '{object} controllers.CallResult' description: '{object} controllers.CallResult'
/auth2/GetTokenByPhone: /auth2/GetTokenByPhone:
post: get:
tags: tags:
- auth2 - auth2
description: 根据电话号码获取用户头肯 description: 根据电话号码获取用户头肯
@@ -6869,6 +6869,10 @@ paths:
name: reason name: reason
description: 原因 description: 原因
type: string type: string
- in: formData
name: mtReview
description: 美团必传map[string]interface{}
type: string
responses: responses:
"200": "200":
description: '{object} controllers.CallResult' description: '{object} controllers.CallResult'