后台用户字段验证,新增获取问题价格接口
This commit is contained in:
@@ -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)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user