package service import ( "gorm.io/gorm" "website-nav/global/client" "website-nav/http/param" "website-nav/http/vo" "website-nav/model" ) type navigationType struct { *gorm.DB } func NavigationType() navigationType { return navigationType{DB: client.DB} } // List // @description: 分页列表 // @receiver s // @return list // @return err func (s navigationType) List(p param.Page) (list []vo.NavigationTypeItem, total int64, err error) { err = s.Model(&model.NavigationType{}).Scopes(Paginate(p.Current, p.Size)).Find(&list).Offset(-1).Limit(-1).Count(&total).Error return } // CreateType // @description: 新增/编辑分类 // @receiver s // @param p // @return error func (s navigationType) CreateType(p param.SaveNavigationType) error { if p.Id != "" { return s.Model(&model.NavigationType{}).Where("id = ?", p.Id).Updates(map[string]any{ "name": p.Name, "icon": p.Icon, }).Error } return s.Create(&model.NavigationType{ Name: p.Name, Icon: p.Icon, }).Error } // Delete // @description: 删除分类 // @receiver s // @param id // @return error func (s navigationType) Delete(id string) error { return s.Model(&model.NavigationType{}).Where("id = ?", id).Delete(&model.NavigationType{}).Error }