fix
This commit is contained in:
@@ -259,7 +259,7 @@ type (
|
|||||||
}
|
}
|
||||||
// 代理订单退款
|
// 代理订单退款
|
||||||
AdminRefundAgentOrderReq {
|
AdminRefundAgentOrderReq {
|
||||||
OrderId int64 `json:"order_id"` // 订单ID
|
OrderId string `json:"order_id"` // 订单ID
|
||||||
RefundAmount float64 `json:"refund_amount"` // 退款金额
|
RefundAmount float64 `json:"refund_amount"` // 退款金额
|
||||||
RefundReason string `json:"refund_reason"` // 退款原因
|
RefundReason string `json:"refund_reason"` // 退款原因
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,20 +1,20 @@
|
|||||||
package admin_order
|
package admin_order
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"database/sql"
|
"database/sql"
|
||||||
"fmt"
|
"fmt"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"jnc-server/app/main/api/internal/svc"
|
"jnc-server/app/main/api/internal/svc"
|
||||||
"jnc-server/app/main/api/internal/types"
|
"jnc-server/app/main/api/internal/types"
|
||||||
"jnc-server/app/main/model"
|
"jnc-server/app/main/model"
|
||||||
"jnc-server/common/xerr"
|
"jnc-server/common/xerr"
|
||||||
|
|
||||||
"github.com/pkg/errors"
|
"github.com/google/uuid"
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
"github.com/pkg/errors"
|
||||||
"github.com/zeromicro/go-zero/core/stores/sqlx"
|
"github.com/zeromicro/go-zero/core/logx"
|
||||||
"github.com/google/uuid"
|
"github.com/zeromicro/go-zero/core/stores/sqlx"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
@@ -103,6 +103,7 @@ func (l *AdminRefundOrderLogic) handleAlipayRefund(order *model.Order, req *type
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
logx.Errorf("创建退款失败记录时出错: %v", err)
|
logx.Errorf("创建退款失败记录时出错: %v", err)
|
||||||
}
|
}
|
||||||
|
logx.Infof("支付宝退款失败: %v", refundResp)
|
||||||
return nil, errors.Wrapf(xerr.NewErrMsg(fmt.Sprintf("退款失败: %v", refundResp.Msg)), "AdminRefundOrder, 支付宝退款失败")
|
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 {
|
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 {
|
return l.svcCtx.OrderModel.Trans(l.ctx, func(ctx context.Context, session sqlx.Session) error {
|
||||||
// 创建退款记录
|
// 创建退款记录
|
||||||
refund := &model.OrderRefund{
|
refund := &model.OrderRefund{
|
||||||
Id: uuid.NewString(),
|
Id: uuid.NewString(),
|
||||||
RefundNo: refundNo,
|
RefundNo: refundNo,
|
||||||
PlatformRefundId: l.createNullString(platformRefundId),
|
PlatformRefundId: l.createNullString(platformRefundId),
|
||||||
OrderId: order.Id,
|
OrderId: order.Id,
|
||||||
UserId: order.UserId,
|
UserId: order.UserId,
|
||||||
ProductId: order.ProductId,
|
ProductId: order.ProductId,
|
||||||
RefundAmount: req.RefundAmount,
|
RefundAmount: req.RefundAmount,
|
||||||
RefundReason: l.createNullString(req.RefundReason),
|
RefundReason: l.createNullString(req.RefundReason),
|
||||||
Status: refundStatus, // 使用传入的状态,不再硬编码
|
Status: refundStatus, // 使用传入的状态,不再硬编码
|
||||||
RefundTime: sql.NullTime{Time: time.Now(), Valid: true},
|
RefundTime: sql.NullTime{Time: time.Now(), Valid: true},
|
||||||
}
|
}
|
||||||
|
|
||||||
if _, err := l.svcCtx.OrderRefundModel.Insert(ctx, session, refund); err != nil {
|
if _, err := l.svcCtx.OrderRefundModel.Insert(ctx, session, refund); err != nil {
|
||||||
return fmt.Errorf("创建退款记录失败: %v", err)
|
return fmt.Errorf("创建退款记录失败: %v", err)
|
||||||
@@ -162,18 +163,18 @@ func (l *AdminRefundOrderLogic) createRefundRecordAndUpdateOrder(order *model.Or
|
|||||||
|
|
||||||
// createRefundRecordOnly 仅创建退款记录,不更新订单状态(用于退款失败的情况)
|
// createRefundRecordOnly 仅创建退款记录,不更新订单状态(用于退款失败的情况)
|
||||||
func (l *AdminRefundOrderLogic) createRefundRecordOnly(order *model.Order, req *types.AdminRefundOrderReq, refundNo, platformRefundId, refundStatus string) error {
|
func (l *AdminRefundOrderLogic) createRefundRecordOnly(order *model.Order, req *types.AdminRefundOrderReq, refundNo, platformRefundId, refundStatus string) error {
|
||||||
refund := &model.OrderRefund{
|
refund := &model.OrderRefund{
|
||||||
Id: uuid.NewString(),
|
Id: uuid.NewString(),
|
||||||
RefundNo: refundNo,
|
RefundNo: refundNo,
|
||||||
PlatformRefundId: l.createNullString(platformRefundId),
|
PlatformRefundId: l.createNullString(platformRefundId),
|
||||||
OrderId: order.Id,
|
OrderId: order.Id,
|
||||||
UserId: order.UserId,
|
UserId: order.UserId,
|
||||||
ProductId: order.ProductId,
|
ProductId: order.ProductId,
|
||||||
RefundAmount: req.RefundAmount,
|
RefundAmount: req.RefundAmount,
|
||||||
RefundReason: l.createNullString(req.RefundReason),
|
RefundReason: l.createNullString(req.RefundReason),
|
||||||
Status: refundStatus,
|
Status: refundStatus,
|
||||||
RefundTime: sql.NullTime{Time: time.Now(), Valid: true},
|
RefundTime: sql.NullTime{Time: time.Now(), Valid: true},
|
||||||
}
|
}
|
||||||
|
|
||||||
_, err := l.svcCtx.OrderRefundModel.Insert(l.ctx, nil, refund)
|
_, err := l.svcCtx.OrderRefundModel.Insert(l.ctx, nil, refund)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
@@ -184,7 +184,7 @@ type AdminGetStatisticsOverviewResp struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type AdminRefundAgentOrderReq struct {
|
type AdminRefundAgentOrderReq struct {
|
||||||
OrderId int64 `json:"order_id"` // 订单ID
|
OrderId string `json:"order_id"` // 订单ID
|
||||||
RefundAmount float64 `json:"refund_amount"` // 退款金额
|
RefundAmount float64 `json:"refund_amount"` // 退款金额
|
||||||
RefundReason string `json:"refund_reason"` // 退款原因
|
RefundReason string `json:"refund_reason"` // 退款原因
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user