web
This commit is contained in:
51
server/internal/handler/order_payment_status.go
Normal file
51
server/internal/handler/order_payment_status.go
Normal file
@@ -0,0 +1,51 @@
|
||||
package handler
|
||||
|
||||
import (
|
||||
"github.com/gin-gonic/gin"
|
||||
"dianshang/pkg/response"
|
||||
)
|
||||
|
||||
// GetPaymentStatus 获取订单支付状态
|
||||
func (h *OrderHandler) GetPaymentStatus(c *gin.Context) {
|
||||
userID, exists := c.Get("user_id")
|
||||
if !exists {
|
||||
response.Unauthorized(c)
|
||||
return
|
||||
}
|
||||
|
||||
// 从URL路径参数获取订单号
|
||||
orderNo := c.Param("id")
|
||||
if orderNo == "" {
|
||||
response.BadRequest(c, "订单号不能为空")
|
||||
return
|
||||
}
|
||||
|
||||
// 获取订单详情
|
||||
order, err := h.orderService.GetOrderByOrderNo(orderNo)
|
||||
if err != nil {
|
||||
response.ErrorWithMessage(c, response.ERROR, "订单不存在")
|
||||
return
|
||||
}
|
||||
|
||||
// 验证订单归属
|
||||
if order.UserID != userID.(uint) {
|
||||
response.ErrorWithMessage(c, response.ERROR, "无权限操作此订单")
|
||||
return
|
||||
}
|
||||
|
||||
// 返回支付状态
|
||||
status := "unpaid"
|
||||
if order.Status == 2 || order.Status == 3 || order.Status == 4 || order.Status == 5 || order.Status == 6 {
|
||||
status = "paid"
|
||||
} else if order.Status == 7 {
|
||||
status = "canceled"
|
||||
} else if order.Status == 9 {
|
||||
status = "refunded"
|
||||
}
|
||||
|
||||
response.Success(c, gin.H{
|
||||
"status": status,
|
||||
"order_no": order.OrderNo,
|
||||
"order_status": order.Status,
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user