diff --git a/api/controller/OrderSingle.go b/api/controller/OrderSingle.go index 07bd380..c5eb544 100644 --- a/api/controller/OrderSingle.go +++ b/api/controller/OrderSingle.go @@ -445,3 +445,52 @@ func (b *OrderSingle) PutOrderSingleAnswer(c *gin.Context) { tx.Commit() responses.Ok(c) } + +// GetOrderSingleAnswer 获取单项答案 +func (b *OrderSingle) GetOrderSingleAnswer(c *gin.Context) { + userId := c.GetInt64("UserId") + + id := c.Param("order_id") + if id == "" { + responses.FailWithMessage("缺少参数", c) + return + } + + // 将 id 转换为 int64 类型 + orderId, err := strconv.ParseInt(id, 10, 64) + if err != nil { + responses.Fail(c) + return + } + + // 获取订单数据 + orderSingleDao := dao.OrderSingleDao{} + maps := make(map[string]interface{}) + maps["user_id"] = userId + maps["order_id"] = orderId + orderSingle, err := orderSingleDao.GetOrderSingle(maps) + if err != nil { + responses.FailWithMessage("订单异常", c) + return + } + + // 检测订单状态 + if orderSingle.OrderStatus != 2 { + responses.FailWithMessage("订单未完成", c) + return + } + + // 检测订单支付状态 + if orderSingle.PayStatus != 2 { + responses.FailWithMessage("订单未完成支付", c) + return + } + + // 检测订单退款状态 + if orderSingle.RefundStatus != 0 { + responses.FailWithMessage("订单存在退款", c) + return + } + + responses.OkWithData(orderSingle.Answer, c) +} diff --git a/api/router/router.go b/api/router/router.go index e308284..9964e92 100644 --- a/api/router/router.go +++ b/api/router/router.go @@ -296,6 +296,9 @@ func privateRouter(r *gin.Engine, api controller.Api) { // 上传单项答案 singleGroup.POST("/answer/:order_id", api.OrderSingle.PutOrderSingleAnswer) + + // 获取单项答案 + singleGroup.GET("/answer/:order_id", api.OrderSingle.GetOrderSingleAnswer) } // 会员订单