From 70159f722aeb47080fb85a0720d42d52e6b843f9 Mon Sep 17 00:00:00 2001 From: wucongxing8150 <815046773@qq.com> Date: Tue, 29 Oct 2024 16:43:45 +0800 Subject: [PATCH] userId --- api/controller/Question.go | 39 ++++++++++++++++++++++++++------------ 1 file changed, 27 insertions(+), 12 deletions(-) diff --git a/api/controller/Question.go b/api/controller/Question.go index 43811d9..2e57c32 100644 --- a/api/controller/Question.go +++ b/api/controller/Question.go @@ -77,7 +77,7 @@ func (b *Question) GetQuestionHot(c *gin.Context) { // GetQuestion 获取问题详情 func (r *Question) GetQuestion(c *gin.Context) { - userId := c.GetInt64("UserId") + userId := c.Param("user_id") id := c.Param("question_id") if id == "" { @@ -105,15 +105,33 @@ func (r *Question) GetQuestion(c *gin.Context) { // 处理问题优惠价格 question.DiscountPrice = questionService.HandleQuestionDiscountPrice(question.DiscountPrice, question.DiscountEndTime) - // 检测用户收藏状态 - userCollectionService := service.UserCollectionService{} - IsCollection := userCollectionService.GetUserCollectionQuestionStatus(userId, questionId) + // 用户收藏状态 + IsCollection := false - // 获取用户首单价格 - firstTimePrice, err := questionService.GetUserFirstTimeBuyPrice(userId) - if err != nil { - responses.FailWithMessage("题目错误", c) - return + // 用户首单价格 + var firstTimePrice *float64 + + // 问题被购买数量 + var buyCount int + if userId != "" { + // 将 id 转换为 int64 类型 + uid, err := strconv.ParseInt(userId, 10, 64) + if err != nil { + responses.Fail(c) + return + } + + userCollectionService := service.UserCollectionService{} + IsCollection = userCollectionService.GetUserCollectionQuestionStatus(uid, questionId) + + firstTimePrice, err = questionService.GetUserFirstTimeBuyPrice(uid) + if err != nil { + responses.FailWithMessage("题目错误", c) + return + } + + // 获取问题被购买数量 + buyCount, _ = questionService.GetQuestionBuyCount(uid, questionId) } g := dto.GetQuestionDto(question) @@ -124,9 +142,6 @@ func (r *Question) GetQuestion(c *gin.Context) { // 加载数据-首次购买价格 g.LoadFirstTimePrice(firstTimePrice) - // 获取问题被购买数量 - buyCount, _ := questionService.GetQuestionBuyCount(userId, questionId) - // 加载数据-问题被购买数量 g.LoadBuyCount(buyCount)