2.7.9beta (#1993)
* 媒体库增加分类,图库多选择时优化。 * 重构 JWT token 生成,使用 `New()` 函数代替直接创建实例 * 上传组件支持查看大图 (#1982) * 将参数缓存,媒体库增加分类,图库多选择时优化。 (#1978) * 媒体库增加分类,图库多选择时优化。 *修复文件上传进度显示bug&按钮样式优化 (#1986) * fix:添加内部 iframe 展示网页,优化 permission 代码 * 俩个uuid库合并一个,更新库到当前版本。 * 优化关于我们界面 * feat: 个人中心头像调整,媒体库兼容性调整。 * feat: 自动化代码前端页面美化,多余按钮收入专家模式 * feat: 增加单独生成server功能 * feat: 限制单独生成前后端的情况下的细节配置 * feat: 修复全选失败报错的问题 --------- Co-authored-by: task <121913992@qq.com> Co-authored-by: Feng.YJ <32027253+huiyifyj@users.noreply.github.com> Co-authored-by: will0523 <dygsunshine@163.com> Co-authored-by: task <ms.yangdan@gmail.com> Co-authored-by: sslee <57312216+GIS142857@users.noreply.github.com> Co-authored-by: bypanghu <bypanghu@163.com> Co-authored-by: Azir <2075125282@qq.com> Co-authored-by: piexlMax(奇淼 <qimiaojiangjizhao@gmail.com> Co-authored-by: krank <emosick@qq.com>
This commit is contained in:
co-authored by
task
Feng.YJ
will0523
task
sslee
bypanghu
Azir
piexlMax(奇淼
krank
parent
ea39d83907
commit
d40c815760
@@ -0,0 +1,66 @@
|
||||
package example
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"github.com/flipped-aurora/gin-vue-admin/server/global"
|
||||
"github.com/flipped-aurora/gin-vue-admin/server/model/example"
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
type AttachmentCategoryService struct{}
|
||||
|
||||
// AddCategory 创建/更新的分类
|
||||
func (a *AttachmentCategoryService) AddCategory(req *example.ExaAttachmentCategory) (err error) {
|
||||
// 检查是否已存在相同名称的分类
|
||||
if (!errors.Is(global.GVA_DB.Take(&example.ExaAttachmentCategory{}, "name = ? and pid = ?", req.Name, req.Pid).Error, gorm.ErrRecordNotFound)) {
|
||||
return errors.New("分类名称已存在")
|
||||
}
|
||||
if req.ID > 0 {
|
||||
if err = global.GVA_DB.Model(&example.ExaAttachmentCategory{}).Where("id = ?", req.ID).Updates(&example.ExaAttachmentCategory{
|
||||
Name: req.Name,
|
||||
Pid: req.Pid,
|
||||
}).Error; err != nil {
|
||||
return err
|
||||
}
|
||||
} else {
|
||||
if err = global.GVA_DB.Create(&example.ExaAttachmentCategory{
|
||||
Name: req.Name,
|
||||
Pid: req.Pid,
|
||||
}).Error; err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// DeleteCategory 删除分类
|
||||
func (a *AttachmentCategoryService) DeleteCategory(id *int) error {
|
||||
var childCount int64
|
||||
global.GVA_DB.Model(&example.ExaAttachmentCategory{}).Where("pid = ?", id).Count(&childCount)
|
||||
if childCount > 0 {
|
||||
return errors.New("请先删除子级")
|
||||
}
|
||||
return global.GVA_DB.Where("id = ?", id).Unscoped().Delete(&example.ExaAttachmentCategory{}).Error
|
||||
}
|
||||
|
||||
// GetCategoryList 分类列表
|
||||
func (a *AttachmentCategoryService) GetCategoryList() (res []*example.ExaAttachmentCategory, err error) {
|
||||
var fileLists []example.ExaAttachmentCategory
|
||||
err = global.GVA_DB.Model(&example.ExaAttachmentCategory{}).Find(&fileLists).Error
|
||||
if err != nil {
|
||||
return res, err
|
||||
}
|
||||
return a.getChildrenList(fileLists, 0), nil
|
||||
}
|
||||
|
||||
// getChildrenList 子类
|
||||
func (a *AttachmentCategoryService) getChildrenList(categories []example.ExaAttachmentCategory, parentID uint) []*example.ExaAttachmentCategory {
|
||||
var tree []*example.ExaAttachmentCategory
|
||||
for _, category := range categories {
|
||||
if category.Pid == parentID {
|
||||
category.Children = a.getChildrenList(categories, category.ID)
|
||||
tree = append(tree, &category)
|
||||
}
|
||||
}
|
||||
return tree
|
||||
}
|
||||
Reference in New Issue
Block a user