| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140 |
- package cms_service
- import (
- "gfast/app/model/admin/cms_category"
- "gfast/app/service/cache_service"
- "github.com/gogf/gf/errors/gerror"
- "github.com/gogf/gf/frame/g"
- "github.com/gogf/gf/text/gstr"
- "github.com/gogf/gf/util/gconv"
- )
- //获取频道列表
- func GetMenuListChannel() (list []*cms_category.Entity, err error) {
- listAll, err := GetMenuList()
- if err != nil {
- return
- }
- list = make([]*cms_category.Entity, 0, len(listAll))
- for _, v := range listAll {
- if v.Status == 1 && v.CateType == cms_category.ChannelCateType {
- list = append(list, v)
- }
- }
- return
- }
- //获取所有菜单列表
- func GetMenuList() (list []*cms_category.Entity, err error) {
- cache := cache_service.New()
- //从缓存获取数据
- iList := cache.Get(cache_service.AdminCmsMenu)
- if iList != nil {
- list = iList.([]*cms_category.Entity)
- return
- }
- list, err = cms_category.Model.Order("list_order ASC,id ASC").All()
- if err != nil {
- g.Log().Error()
- err = gerror.New("获取菜单数据失败")
- }
- //缓存数据
- cache.Set(cache_service.AdminCmsMenu, list, 0, cache_service.AdminCmsTag)
- return
- }
- //保存栏目操作
- func AddSave(req *cms_category.ReqAdd) (id int64, err error) {
- var entity cms_category.Entity
- entity.ParentId = req.ParentId
- entity.CateType = req.CateType
- entity.Status = req.Status
- entity.Name = req.Name
- entity.Description = req.Description
- entity.SeoTitle = req.InputSeoTitle
- entity.SeoKeywords = req.InputSeoKeywords
- entity.SeoDescription = req.InputSeoDescription
- entity.CateAddress = req.CateAddress
- entity.CateContent = req.CateContent
- res, err := entity.Insert()
- if err != nil {
- g.Log().Error(err)
- err = gerror.New("保存失败")
- return
- }
- id, err = res.LastInsertId()
- if err != nil {
- g.Log().Error(err)
- err = gerror.New("保存失败")
- return
- }
- return
- }
- //修改栏目操作
- func EditSave(req *cms_category.ReqEdit) (id int64, err error) {
- entity, err := GetMenuInfoById(req.Id)
- if err != nil {
- return
- }
- if entity == nil {
- err = gerror.New("栏目信息不存在")
- return
- }
- entity.Id = gconv.Uint64(req.Id)
- entity.ParentId = req.ParentId
- entity.CateType = req.CateType
- entity.Status = req.Status
- entity.Name = req.Name
- entity.Description = req.Description
- entity.SeoTitle = req.InputSeoTitle
- entity.SeoKeywords = req.InputSeoKeywords
- entity.SeoDescription = req.InputSeoDescription
- entity.CateAddress = req.CateAddress
- entity.CateContent = req.CateContent
- res, err := entity.Update()
- if err != nil {
- g.Log().Error(err)
- err = gerror.New("修改保存失败")
- return
- }
- id, err = res.RowsAffected()
- if err != nil {
- g.Log().Error(err)
- err = gerror.New("修改保存失败")
- return
- }
- return
- }
- //获取搜索栏目结果
- func GetMenuListSearch(req *cms_category.ReqSearchList) (menus []*cms_category.Entity, err error) {
- menus, err = GetMenuList()
- if req != nil {
- searchMenus := make([]*cms_category.Entity, 0, len(menus))
- if req.Name != "" {
- for _, entity := range menus {
- if gstr.Contains(entity.Name, req.Name) {
- searchMenus = append(searchMenus, entity)
- }
- }
- }
- menus = searchMenus
- }
- return
- }
- //根据栏目ID获取栏目信息
- func GetMenuInfoById(id int) (menu *cms_category.Entity, err error) {
- menus, err := GetMenuList()
- if err != nil {
- return
- }
- for _, entity := range menus {
- if entity.Id == gconv.Uint64(id) {
- menu = entity
- break
- }
- }
- return
- }
|