From d52fcf46d28bd92320c2118a0d097db71f01dd8b Mon Sep 17 00:00:00 2001 From: liangzai <2440983361@qq.com> Date: Sat, 27 Dec 2025 22:05:48 +0800 Subject: [PATCH] fix --- app/main/api/desc/admin/admin_agent.api | 2 +- .../admin_order/adminrefundorderlogic.go | 73 ++++++++++--------- app/main/api/internal/types/adminagent.go | 2 +- 3 files changed, 39 insertions(+), 38 deletions(-) diff --git a/app/main/api/desc/admin/admin_agent.api b/app/main/api/desc/admin/admin_agent.api index ab30fc9..ebf2971 100644 --- a/app/main/api/desc/admin/admin_agent.api +++ b/app/main/api/desc/admin/admin_agent.api @@ -259,7 +259,7 @@ type ( } // 代理订单退款 AdminRefundAgentOrderReq { - OrderId int64 `json:"order_id"` // 订单ID + OrderId string `json:"order_id"` // 订单ID RefundAmount float64 `json:"refund_amount"` // 退款金额 RefundReason string `json:"refund_reason"` // 退款原因 } diff --git a/app/main/api/internal/logic/admin_order/adminrefundorderlogic.go b/app/main/api/internal/logic/admin_order/adminrefundorderlogic.go index 8130730..0819ecd 100644 --- a/app/main/api/internal/logic/admin_order/adminrefundorderlogic.go +++ b/app/main/api/internal/logic/admin_order/adminrefundorderlogic.go @@ -1,20 +1,20 @@ package admin_order import ( - "context" - "database/sql" - "fmt" - "time" + "context" + "database/sql" + "fmt" + "time" - "jnc-server/app/main/api/internal/svc" - "jnc-server/app/main/api/internal/types" - "jnc-server/app/main/model" - "jnc-server/common/xerr" + "jnc-server/app/main/api/internal/svc" + "jnc-server/app/main/api/internal/types" + "jnc-server/app/main/model" + "jnc-server/common/xerr" - "github.com/pkg/errors" - "github.com/zeromicro/go-zero/core/logx" - "github.com/zeromicro/go-zero/core/stores/sqlx" - "github.com/google/uuid" + "github.com/google/uuid" + "github.com/pkg/errors" + "github.com/zeromicro/go-zero/core/logx" + "github.com/zeromicro/go-zero/core/stores/sqlx" ) const ( @@ -103,6 +103,7 @@ func (l *AdminRefundOrderLogic) handleAlipayRefund(order *model.Order, req *type if err != nil { logx.Errorf("创建退款失败记录时出错: %v", err) } + logx.Infof("支付宝退款失败: %v", refundResp) return nil, errors.Wrapf(xerr.NewErrMsg(fmt.Sprintf("退款失败: %v", refundResp.Msg)), "AdminRefundOrder, 支付宝退款失败") } } @@ -133,18 +134,18 @@ func (l *AdminRefundOrderLogic) handleWechatRefund(order *model.Order, req *type func (l *AdminRefundOrderLogic) createRefundRecordAndUpdateOrder(order *model.Order, req *types.AdminRefundOrderReq, refundNo, platformRefundId, orderStatus, refundStatus string) error { return l.svcCtx.OrderModel.Trans(l.ctx, func(ctx context.Context, session sqlx.Session) error { // 创建退款记录 - refund := &model.OrderRefund{ - Id: uuid.NewString(), - RefundNo: refundNo, - PlatformRefundId: l.createNullString(platformRefundId), - OrderId: order.Id, - UserId: order.UserId, - ProductId: order.ProductId, - RefundAmount: req.RefundAmount, - RefundReason: l.createNullString(req.RefundReason), - Status: refundStatus, // 使用传入的状态,不再硬编码 - RefundTime: sql.NullTime{Time: time.Now(), Valid: true}, - } + refund := &model.OrderRefund{ + Id: uuid.NewString(), + RefundNo: refundNo, + PlatformRefundId: l.createNullString(platformRefundId), + OrderId: order.Id, + UserId: order.UserId, + ProductId: order.ProductId, + RefundAmount: req.RefundAmount, + RefundReason: l.createNullString(req.RefundReason), + Status: refundStatus, // 使用传入的状态,不再硬编码 + RefundTime: sql.NullTime{Time: time.Now(), Valid: true}, + } if _, err := l.svcCtx.OrderRefundModel.Insert(ctx, session, refund); err != nil { return fmt.Errorf("创建退款记录失败: %v", err) @@ -162,18 +163,18 @@ func (l *AdminRefundOrderLogic) createRefundRecordAndUpdateOrder(order *model.Or // createRefundRecordOnly 仅创建退款记录,不更新订单状态(用于退款失败的情况) func (l *AdminRefundOrderLogic) createRefundRecordOnly(order *model.Order, req *types.AdminRefundOrderReq, refundNo, platformRefundId, refundStatus string) error { - refund := &model.OrderRefund{ - Id: uuid.NewString(), - RefundNo: refundNo, - PlatformRefundId: l.createNullString(platformRefundId), - OrderId: order.Id, - UserId: order.UserId, - ProductId: order.ProductId, - RefundAmount: req.RefundAmount, - RefundReason: l.createNullString(req.RefundReason), - Status: refundStatus, - RefundTime: sql.NullTime{Time: time.Now(), Valid: true}, - } + refund := &model.OrderRefund{ + Id: uuid.NewString(), + RefundNo: refundNo, + PlatformRefundId: l.createNullString(platformRefundId), + OrderId: order.Id, + UserId: order.UserId, + ProductId: order.ProductId, + RefundAmount: req.RefundAmount, + RefundReason: l.createNullString(req.RefundReason), + Status: refundStatus, + RefundTime: sql.NullTime{Time: time.Now(), Valid: true}, + } _, err := l.svcCtx.OrderRefundModel.Insert(l.ctx, nil, refund) if err != nil { diff --git a/app/main/api/internal/types/adminagent.go b/app/main/api/internal/types/adminagent.go index 26d275b..09878c0 100644 --- a/app/main/api/internal/types/adminagent.go +++ b/app/main/api/internal/types/adminagent.go @@ -184,7 +184,7 @@ type AdminGetStatisticsOverviewResp struct { } type AdminRefundAgentOrderReq struct { - OrderId int64 `json:"order_id"` // 订单ID + OrderId string `json:"order_id"` // 订单ID RefundAmount float64 `json:"refund_amount"` // 退款金额 RefundReason string `json:"refund_reason"` // 退款原因 }