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

This commit is contained in:
wucongxing8150 2024-10-18 09:31:22 +08:00
parent f1b66e7d14
commit 3eaeddfd38
4 changed files with 68 additions and 12 deletions

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)
}

View File

@ -27,6 +27,12 @@ type QuestionDto struct {
BaseClass []*BaseClassDto `json:"base_class"` // 关联分类
}
// QuestionPriceDto 问题价格
type QuestionPriceDto struct {
Price float64 `json:"price"` // 价格(原价)
DiscountPrice *float64 `json:"discount_price"` // 优惠价格
}
// GetQuestionDto 详情-问题
func GetQuestionDto(m *model.Question) *QuestionDto {
return &QuestionDto{

View File

@ -25,14 +25,14 @@ type GetAdminUserPage struct {
// AddAdminUser 新增
type AddAdminUser struct {
Access string `json:"access" form:"access" label:"账号"`
Password string `json:"password" form:"password" label:"密码"`
NickName string `json:"nick_name" form:"nick_name" label:"昵称"`
IsAdmin int `json:"is_admin" form:"is_admin" label:"是否管理员"` // 是否管理员0:否 1:是)
Status *int `json:"status" form:"status" label:"状态"` // 状态1:正常 2:审核中 3:审核失败)
IsDeleted *int `json:"is_deleted" form:"is_deleted" label:"是否被删除"` // 是否被删除0:否 1:是)
IsDisabled *int `json:"is_disabled" form:"is_disabled" label:"是否被禁用"` // 是否被禁用0:否 1:是)
Phone string `json:"phone" form:"phone" label:"手机号"`
Access string `json:"access" form:"access" label:"账号" validate:"required"`
Password string `json:"password" form:"password" label:"密码" validate:"required"`
NickName string `json:"nick_name" form:"nick_name" label:"昵称" validate:"required"`
IsAdmin int `json:"is_admin" form:"is_admin" label:"是否管理员" validate:"omitempty,oneof=0 1"` // 是否管理员0:否 1:是)
Status *int `json:"status" form:"status" label:"状态" validate:"required,oneof=1 2 3"` // 状态1:正常 2:审核中 3:审核失败)
IsDeleted *int `json:"is_deleted" form:"is_deleted" label:"是否被删除" validate:"omitempty,oneof=0 1"` // 是否被删除0:否 1:是)
IsDisabled *int `json:"is_disabled" form:"is_disabled" label:"是否被禁用" validate:"omitempty,oneof=0 1"` // 是否被禁用0:否 1:是)
Phone string `json:"phone" form:"phone" label:"手机号" validate:"required"`
Avatar string `json:"avatar" form:"avatar" label:"头像"`
Sex int `json:"sex" form:"sex" label:"性别"`
Email string `json:"email" form:"email" label:"邮箱"`
@ -41,13 +41,13 @@ type AddAdminUser struct {
// PutAdminUser 修改
type PutAdminUser struct {
Access string `json:"access" form:"access" validate:"required" label:"账号"`
IsDeleted int `json:"is_deleted" form:"is_deleted" validate:"oneof=0 1" label:"删除状态"` // 是否被删除0:否 1:是)
IsDisabled int `json:"is_disabled" form:"is_disabled" validate:"oneof=0 1" label:"禁用状态"` // 是否被禁用0:否 1:是)
IsDeleted int `json:"is_deleted" form:"is_deleted" validate:"omitempty,oneof=0 1" label:"删除状态"` // 是否被删除0:否 1:是)
IsDisabled int `json:"is_disabled" form:"is_disabled" validate:"omitempty,oneof=0 1" label:"禁用状态"` // 是否被禁用0:否 1:是)
NickName string `json:"nick_name" form:"nick_name" validate:"required" label:"昵称"`
IsAdmin int `json:"is_admin" form:"is_admin" label:"是否管理员"` // 是否管理员0:否 1:是)
IsAdmin int `json:"is_admin" form:"is_admin" label:"是否管理员" validate:"omitempty,oneof=0 1"` // 是否管理员0:否 1:是)
Phone string `json:"phone" form:"phone" validate:"required" label:"手机号"`
Avatar string `json:"avatar" form:"avatar" label:"头像"`
Sex int `json:"sex" form:"sex" validate:"required,oneof=1 2" label:"性别"` // 1:男 2:女)
Sex int `json:"sex" form:"sex" validate:"omitempty,oneof=1 2" label:"性别"` // 1:男 2:女)
Email string `json:"email" form:"email" label:"邮箱"`
}

View File

@ -284,6 +284,9 @@ func privateRouter(r *gin.Engine, api controller.Api) {
// 操作问题隐藏状态
questionGroup.PUT("/hide/:question_id", api.Question.PutQuestionHideStatus)
// 获取问题价格
questionGroup.GET("/price", api.Question.GetQuestionPrice)
}
// 配置