2 Star 0 Fork 0

BOBO/创想视频核心服务

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
article.go 1.89 KB
一键复制 编辑 原始数据 按行查看 历史
zhouyp 提交于 2024-07-16 14:51 . init:初始化内框代码
package validate
import (
"context"
"gitee.com/bobo-rs/innovideo-services/framework/dao"
"gitee.com/bobo-rs/innovideo-services/framework/service"
"gitee.com/bobo-rs/innovideo-services/library/exception"
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/util/gvalid"
)
// RuleRegisterArticle 注册文章规则
func RuleRegisterArticle() {
gvalid.RegisterRuleByMap(map[string]gvalid.RuleFunc{
`article-exists-id`: RuleArticleExistsById,
`art-category-exists-id`: RuleArtCategoryExistsById,
`art-category-del-id`: RuleArtCategoryDeleteById,
})
}
// RuleArticleExistsById 通过文章ID检测文章是否存在
func RuleArticleExistsById(ctx context.Context, in gvalid.RuleFuncInput) error {
if in.Value.Uint() == 0 {
return nil
}
// 是否存在
if b, _ := service.Article().ArticleModel().ExistsPri(ctx, in.Value.Uint()); !b {
return exception.New(`文章数据不存在`)
}
return nil
}
// RuleArtCategoryExistsById 通过文章分类ID检测文章分类是否存在
func RuleArtCategoryExistsById(ctx context.Context, in gvalid.RuleFuncInput) error {
if in.Value.Uint() == 0 {
return nil
}
// 是否存在
if b, _ := service.Article().CategoryModel().ExistsPri(ctx, in.Value.Uint()); !b {
return exception.New(`文章分类不存在`)
}
return nil
}
// RuleArtCategoryDeleteById 根据文章类目ID验证文章类目删除
func RuleArtCategoryDeleteById(ctx context.Context, in gvalid.RuleFuncInput) error {
if in.Value.Uint() == 0 {
return nil
}
// 是否存在子级
if b, _ := service.Article().CategoryModel().Exists(ctx, g.Map{
dao.ArticleCategory.Columns().Pid: in.Value.Uint(),
}); !b {
return exception.New(`父级类目不允许删除`)
}
// 是否有文章
if b, _ := service.Article().ArticleModel().Exists(ctx, g.Map{
dao.Article.Columns().Cid: in.Value.Uint(),
}); !b {
return exception.New(`该类目下存在文章不允许删除`)
}
return nil
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/bobo-rs/innovideo-services.git
git@gitee.com:bobo-rs/innovideo-services.git
bobo-rs
innovideo-services
创想视频核心服务
v1.0.14

搜索帮助