增加了推荐搜索字段

This commit is contained in:
wucongxing8150 2024-08-12 10:04:25 +08:00
parent 68adc70ba6
commit 64ddac108b
5 changed files with 86 additions and 51 deletions

View File

@ -196,6 +196,12 @@ func (b *BaseClass) PutBaseClass(c *gin.Context) {
return
}
// 是否推荐搜索
if req.IsRecommendSearch == nil {
responses.FailWithMessage("缺少参数", c)
return
}
id := c.Param("class_id")
if id == "" {
responses.FailWithMessage("缺少参数", c)
@ -236,6 +242,10 @@ func (b *BaseClass) PutBaseClass(c *gin.Context) {
baseClassData["class_brief"] = req.ClassBrief
}
if *req.IsRecommendSearch != baseClass.IsRecommendSearch {
baseClassData["is_recommend_search"] = req.IsRecommendSearch
}
// 排序值
if req.Sort != baseClass.Sort {
baseClassData["sort"] = req.Sort
@ -278,6 +288,12 @@ func (b *BaseClass) AddBaseClass(c *gin.Context) {
return
}
// 是否推荐搜索
if req.IsRecommendSearch == nil {
responses.FailWithMessage("缺少参数", c)
return
}
// 开始事务
tx := global.Db.Begin()
defer func() {
@ -287,11 +303,12 @@ func (b *BaseClass) AddBaseClass(c *gin.Context) {
}()
baseClass := &model.BaseClass{
ClassName: req.ClassName,
ClassStatus: 1,
ClassIcon: utils.RemoveOssDomain(req.ClassIcon),
ClassBrief: req.ClassBrief,
Sort: req.Sort,
ClassName: req.ClassName,
ClassStatus: 1,
ClassIcon: utils.RemoveOssDomain(req.ClassIcon),
ClassBrief: req.ClassBrief,
Sort: req.Sort,
IsRecommendSearch: *req.IsRecommendSearch,
}
baseClassDao := dao.BaseClassDao{}

View File

@ -125,6 +125,11 @@ func (r *BaseClassDao) GetBaseClassPageSearch(req requests.GetBaseClassPage, pag
query = query.Where("class_status = ?", req.ClassStatus)
}
// 是否推荐搜索
if req.IsRecommendSearch != nil {
query = query.Where("is_recommend_search = ?", req.IsRecommendSearch)
}
// 排序
if req.Order != nil {
if req.Order.Sort != "" {
@ -162,6 +167,11 @@ func (r *BaseClassDao) GetBaseClassListSearch(req requests.GetBaseClassList) (m
query = query.Where("class_status = ?", req.ClassStatus)
}
// 是否推荐搜索
if req.IsRecommendSearch != nil {
query = query.Where("is_recommend_search = ?", req.IsRecommendSearch)
}
// 排序
if req.Order != nil {
if req.Order.Sort != "" {

View File

@ -8,27 +8,29 @@ import (
// BaseClassDto 基础数据-分类表
type BaseClassDto struct {
ClassId string `json:"class_id"` // 主键id
ClassName string `json:"class_name"` // 分类名称
ClassStatus int `json:"class_status"` // 分类状态1:正常 2:隐藏)
ClassIcon string `json:"class_icon"` // 图标地址
ClassBrief string `json:"class_brief"` // 分类简介
Sort uint `json:"sort"` // 排序值(越大排名越靠前)
CreatedAt model.LocalTime `json:"created_at"` // 创建时间
UpdatedAt model.LocalTime `json:"updated_at"` // 更新时间
ClassId string `json:"class_id"` // 主键id
ClassName string `json:"class_name"` // 分类名称
ClassStatus int `json:"class_status"` // 分类状态1:正常 2:隐藏)
ClassIcon string `json:"class_icon"` // 图标地址
ClassBrief string `json:"class_brief"` // 分类简介
Sort uint `json:"sort"` // 排序值(越大排名越靠前)
IsRecommendSearch int `json:"is_recommend_search"` // 是否推荐搜索
CreatedAt model.LocalTime `json:"created_at"` // 创建时间
UpdatedAt model.LocalTime `json:"updated_at"` // 更新时间
}
// GetBaseClassDto 详情-基础数据-分类表
func GetBaseClassDto(m *model.BaseClass) *BaseClassDto {
return &BaseClassDto{
ClassId: fmt.Sprintf("%d", m.ClassId),
ClassName: m.ClassName,
ClassStatus: m.ClassStatus,
ClassIcon: utils.AddOssDomain(m.ClassIcon),
ClassBrief: m.ClassBrief,
Sort: m.Sort,
CreatedAt: m.CreatedAt,
UpdatedAt: m.UpdatedAt,
ClassId: fmt.Sprintf("%d", m.ClassId),
ClassName: m.ClassName,
ClassStatus: m.ClassStatus,
ClassIcon: utils.AddOssDomain(m.ClassIcon),
ClassBrief: m.ClassBrief,
Sort: m.Sort,
IsRecommendSearch: m.IsRecommendSearch,
CreatedAt: m.CreatedAt,
UpdatedAt: m.UpdatedAt,
}
}
@ -40,14 +42,15 @@ func GetBaseClassListDto(m []*model.BaseClass) []*BaseClassDto {
if len(m) > 0 {
for i, v := range m {
response := &BaseClassDto{
ClassId: fmt.Sprintf("%d", v.ClassId),
ClassName: v.ClassName,
ClassStatus: v.ClassStatus,
ClassIcon: utils.AddOssDomain(v.ClassIcon),
ClassBrief: v.ClassBrief,
Sort: v.Sort,
CreatedAt: v.CreatedAt,
UpdatedAt: v.UpdatedAt,
ClassId: fmt.Sprintf("%d", v.ClassId),
ClassName: v.ClassName,
ClassStatus: v.ClassStatus,
ClassIcon: utils.AddOssDomain(v.ClassIcon),
ClassBrief: v.ClassBrief,
Sort: v.Sort,
IsRecommendSearch: v.IsRecommendSearch,
CreatedAt: v.CreatedAt,
UpdatedAt: v.UpdatedAt,
}
// 将转换后的结构体添加到新切片中

View File

@ -8,12 +8,13 @@ import (
// BaseClass 基础数据-分类表
type BaseClass struct {
ClassId int64 `gorm:"column:class_id;type:bigint(19);primary_key;comment:主键id" json:"class_id"`
ClassName string `gorm:"column:class_name;type:varchar(100);comment:分类名称" json:"class_name"`
ClassStatus int `gorm:"column:class_status;type:tinyint(1);default:1;comment:分类状态1:正常 2:隐藏)" json:"class_status"`
ClassIcon string `gorm:"column:class_icon;type:varchar(255);comment:图标地址" json:"class_icon"`
ClassBrief string `gorm:"column:class_brief;type:text;comment:分类简介" json:"class_brief"`
Sort uint `gorm:"column:sort;type:int(10) unsigned;default:1;comment:排序值(越大排名越靠前)" json:"sort"`
ClassId int64 `gorm:"column:class_id;type:bigint(19);primary_key;comment:主键id" json:"class_id"`
ClassName string `gorm:"column:class_name;type:varchar(100);comment:分类名称" json:"class_name"`
ClassStatus int `gorm:"column:class_status;type:tinyint(1);default:1;comment:分类状态1:正常 2:隐藏)" json:"class_status"`
ClassIcon string `gorm:"column:class_icon;type:varchar(255);comment:图标地址" json:"class_icon"`
ClassBrief string `gorm:"column:class_brief;type:text;comment:分类简介" json:"class_brief"`
Sort uint `gorm:"column:sort;type:int(10) unsigned;default:1;comment:排序值(越大排名越靠前)" json:"sort"`
IsRecommendSearch int `gorm:"column:is_recommend_search;type:tinyint(1);default:0;comment:是否推荐搜索" json:"is_recommend_search"`
Model
}

View File

@ -10,11 +10,12 @@ type BaseClassRequest struct {
// GetBaseClassPage 获取基础分类列表-分页
type GetBaseClassPage struct {
Page int `json:"page" form:"page" label:"页码"`
PageSize int `json:"page_size" form:"page_size" label:"每页个数"`
ClassName string `json:"class_name" form:"class_name" label:"分类名称"`
ClassStatus *int `json:"class_status" form:"class_status" label:"分类状态"` // 1:正常 2:隐藏)
Order *GetBaseClassPageOrder `json:"order" form:"order" label:"排序"`
Page int `json:"page" form:"page" label:"页码"`
PageSize int `json:"page_size" form:"page_size" label:"每页个数"`
ClassName string `json:"class_name" form:"class_name" label:"分类名称"`
ClassStatus *int `json:"class_status" form:"class_status" label:"分类状态"` // 1:正常 2:隐藏)
IsRecommendSearch *int `json:"is_recommend_search" form:"is_recommend_search" label:"是否推荐搜索"`
Order *GetBaseClassPageOrder `json:"order" form:"order" label:"排序"`
}
// GetBaseClassPageOrder 获取基础分类列表-分页-排序条件
@ -24,9 +25,10 @@ type GetBaseClassPageOrder struct {
// GetBaseClassList 获取基础分类列表
type GetBaseClassList struct {
ClassName string `json:"class_name" form:"class_name" label:"分类名称"`
ClassStatus *int `json:"class_status" form:"class_status" label:"分类状态"` // 1:正常 2:隐藏)
Order *GetBaseClassListOrder `json:"order" form:"order" label:"排序"`
ClassName string `json:"class_name" form:"class_name" label:"分类名称"`
ClassStatus *int `json:"class_status" form:"class_status" label:"分类状态"` // 1:正常 2:隐藏)
IsRecommendSearch *int `json:"is_recommend_search" form:"is_recommend_search" label:"是否推荐搜索"`
Order *GetBaseClassListOrder `json:"order" form:"order" label:"排序"`
}
// GetBaseClassListOrder 获取基础分类列表-排序条件
@ -41,16 +43,18 @@ type PutBaseClassStatus struct {
// PutBaseClass 修改基础分类
type PutBaseClass struct {
ClassName string `json:"class_name" form:"class_name" label:"分类名称" validate:"required"`
ClassIcon string `json:"class_icon" form:"class_icon" label:"图标地址" validate:"required"`
ClassBrief string `json:"class_brief" form:"class_brief" label:"分类简介" validate:"required"`
Sort uint `json:"sort" form:"sort" label:"排序值" validate:"required,number,min=1"`
ClassName string `json:"class_name" form:"class_name" label:"分类名称" validate:"required"`
ClassIcon string `json:"class_icon" form:"class_icon" label:"图标地址" validate:"required"`
ClassBrief string `json:"class_brief" form:"class_brief" label:"分类简介" validate:"required"`
Sort uint `json:"sort" form:"sort" label:"排序值" validate:"required,number,min=1"`
IsRecommendSearch *int `json:"is_recommend_search" form:"is_recommend_search" label:"是否推荐搜索"`
}
// AddBaseClass 新增基础分类
type AddBaseClass struct {
ClassName string `json:"class_name" form:"class_name" label:"分类名称" validate:"required"`
ClassIcon string `json:"class_icon" form:"class_icon" label:"图标地址" validate:"required"`
ClassBrief string `json:"class_brief" form:"class_brief" label:"分类简介" validate:"required"`
Sort uint `json:"sort" form:"sort" label:"排序值" validate:"required,number,min=1"`
ClassName string `json:"class_name" form:"class_name" label:"分类名称" validate:"required"`
ClassIcon string `json:"class_icon" form:"class_icon" label:"图标地址" validate:"required"`
ClassBrief string `json:"class_brief" form:"class_brief" label:"分类简介" validate:"required"`
Sort uint `json:"sort" form:"sort" label:"排序值" validate:"required,number,min=1"`
IsRecommendSearch *int `json:"is_recommend_search" form:"is_recommend_search" label:"是否推荐搜索"`
}