后台用户字段验证,新增获取问题价格接口

This commit is contained in:
2024-10-18 09:31:22 +08:00
parent f1b66e7d14
commit 3eaeddfd38
4 changed files with 68 additions and 12 deletions
+47
View File
@@ -11,6 +11,7 @@ import (
"hepa-calc-admin-api/global"
"hepa-calc-admin-api/utils"
"strconv"
"time"
)
type Question struct{}
@@ -549,3 +550,49 @@ func (b *Question) PutQuestionHideStatus(c *gin.Context) {
tx.Commit()
responses.Ok(c)
}
// GetQuestionPrice 获取问题价格
func (b *Question) GetQuestionPrice(c *gin.Context) {
// 获取问题数据
questionDao := dao.QuestionDao{}
maps := make(map[string]interface{})
maps["question_status"] = 1
questions, err := questionDao.GetQuestionList(maps)
if err != nil {
responses.FailWithMessage("分类异常", c)
return
}
// 计算总价
var price float64
var discountPrice *float64
for _, question := range questions {
// 总价
price = price + question.Price
// 处理折扣价格
if question.DiscountPrice != nil {
if question.DiscountEndTime != nil {
discountEndTime := time.Time(*question.DiscountEndTime)
diffTime := time.Now().Sub(discountEndTime)
if diffTime > 0 {
continue
}
}
}
if discountPrice == nil {
discountPrice = question.DiscountPrice
} else {
d := *discountPrice + *question.DiscountPrice
discountPrice = &d
}
}
var g dto.QuestionPriceDto
g.Price = price
g.DiscountPrice = discountPrice
responses.OkWithData(g, c)
}