From 4b8671a765bcc48aefadec78565b77cade03b842 Mon Sep 17 00:00:00 2001 From: wucongxing8150 <815046773@qq.com> Date: Tue, 13 Aug 2024 09:18:57 +0800 Subject: [PATCH] =?UTF-8?q?=E9=97=AE=E9=A2=98=E4=BC=98=E6=83=A0=E8=BF=87?= =?UTF-8?q?=E6=9C=9F=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/dto/Question.go | 41 ++++++++++++++++++++--------------------- api/model/Question.go | 2 +- api/service/Question.go | 4 +++- 3 files changed, 24 insertions(+), 23 deletions(-) diff --git a/api/dto/Question.go b/api/dto/Question.go index 59668df..15631d1 100644 --- a/api/dto/Question.go +++ b/api/dto/Question.go @@ -3,31 +3,30 @@ package dto import ( "fmt" "hepa-calc-api/api/model" - "time" ) // QuestionDto 问题表 type QuestionDto struct { - QuestionId string `json:"question_id"` // 主键id - QuestionTitle string `json:"question_title"` // 标题 - QuestionSubtitle string `json:"question_subtitle"` // 副标题 - QuestionIden string `json:"question_iden"` // 唯一标识 - QuestionStatus int `json:"question_status"` // 问题状态(1:正常 2:待发布) - IsHide int `json:"is_hide"` // 是否隐藏(0:否 1:是) - IsRecommend int `json:"is_recommend"` // 是否推荐(0:否 1:是) - ClickCount int `json:"click_count"` // 点击次数(点击进入详情页的人次) - SubmitCount int `json:"submit_count"` // 提交次数(提交个人信息进行了算算的人次) - PayCount int `json:"pay_count"` // 支付次数(查看报告的人次) - Price float64 `json:"price"` // 价格(原价) - DiscountPrice *float64 `json:"discount_price"` // 优惠价格 - DiscountEndTime *time.Time `json:"discount_end_time"` // 优惠截止时间 - QuestionBrief string `json:"question_brief"` // 问题介绍 - QuestionExplain string `json:"question_explain"` // 问题解释/科普 - CreatedAt model.LocalTime `json:"created_at"` // 创建时间 - UpdatedAt model.LocalTime `json:"updated_at"` // 更新时间 - IsCollection bool `json:"is_collection"` // 用户是否收藏 - FirstTimePrice *float64 `json:"first_time_price"` // 首次购买价格 - BuyCount int `json:"buy_count"` // 被购买数量 + QuestionId string `json:"question_id"` // 主键id + QuestionTitle string `json:"question_title"` // 标题 + QuestionSubtitle string `json:"question_subtitle"` // 副标题 + QuestionIden string `json:"question_iden"` // 唯一标识 + QuestionStatus int `json:"question_status"` // 问题状态(1:正常 2:待发布) + IsHide int `json:"is_hide"` // 是否隐藏(0:否 1:是) + IsRecommend int `json:"is_recommend"` // 是否推荐(0:否 1:是) + ClickCount int `json:"click_count"` // 点击次数(点击进入详情页的人次) + SubmitCount int `json:"submit_count"` // 提交次数(提交个人信息进行了算算的人次) + PayCount int `json:"pay_count"` // 支付次数(查看报告的人次) + Price float64 `json:"price"` // 价格(原价) + DiscountPrice *float64 `json:"discount_price"` // 优惠价格 + DiscountEndTime *model.LocalTime `json:"discount_end_time"` // 优惠截止时间 + QuestionBrief string `json:"question_brief"` // 问题介绍 + QuestionExplain string `json:"question_explain"` // 问题解释/科普 + CreatedAt model.LocalTime `json:"created_at"` // 创建时间 + UpdatedAt model.LocalTime `json:"updated_at"` // 更新时间 + IsCollection bool `json:"is_collection"` // 用户是否收藏 + FirstTimePrice *float64 `json:"first_time_price"` // 首次购买价格 + BuyCount int `json:"buy_count"` // 被购买数量 } // QuestionBuyStatusDto 获取问题解锁状态 diff --git a/api/model/Question.go b/api/model/Question.go index 1d5e322..cc11fc9 100644 --- a/api/model/Question.go +++ b/api/model/Question.go @@ -20,7 +20,7 @@ type Question struct { PayCount int `gorm:"column:pay_count;type:int(5);default:0;comment:支付次数(查看报告的人次)" json:"pay_count"` Price float64 `gorm:"column:price;type:decimal(10,2) unsigned;default:0.00;comment:价格(原价)" json:"price"` DiscountPrice *float64 `gorm:"column:discount_price;type:decimal(10,2);comment:优惠价格" json:"discount_price"` - DiscountEndTime *time.Time `gorm:"column:discount_end_time;type:datetime;comment:优惠截止时间" json:"discount_end_time"` + DiscountEndTime *LocalTime `gorm:"column:discount_end_time;type:datetime;comment:优惠截止时间" json:"discount_end_time"` QuestionBrief string `gorm:"column:question_brief;type:text;comment:问题介绍" json:"question_brief"` QuestionExplain string `gorm:"column:question_explain;type:text;comment:问题解释/科普" json:"question_explain"` Model diff --git a/api/service/Question.go b/api/service/Question.go index a8b42f8..4eb4148 100644 --- a/api/service/Question.go +++ b/api/service/Question.go @@ -200,9 +200,11 @@ func (r *QuestionService) CheckQuestion(m *model.Question) (bool, error) { } // HandleQuestionDiscountPrice 处理问题优惠价格 -func (r *QuestionService) HandleQuestionDiscountPrice(discountPrice *float64, discountEndTime *time.Time) (p *float64) { +func (r *QuestionService) HandleQuestionDiscountPrice(discountPrice *float64, discountEndTime *model.LocalTime) (p *float64) { // 优惠价格 if discountPrice != nil { + discountEndTime := time.Time(*discountEndTime) + // 检测是否超出优惠时间 now := time.Now() if discountEndTime.Before(now) {