码农笔录博客源码
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

55 lines
1.0 KiB

пре 6 година
package service
import (
"github.com/astaxie/beego/orm"
"beeblog/models"
)
type BlogService struct {
}
func GetBlog(id int64) (*models.Blog, error) {
o := orm.NewOrm()
пре 6 година
blog := &models.Blog{Id: id}
пре 6 година
err := o.Read(blog)
if err != nil {
return nil, err
}
return blog, nil
}
func FindBlogs() ([]*models.Blog, error) {
o := orm.NewOrm()
qs := o.QueryTable(&models.Blog{})
var blogs []*models.Blog
_, err := qs.Filter("Delflag", 0).All(&blogs)
if err != nil {
return nil, err
}
return blogs, nil
}
пре 6 година
func SaveBlog(blog *models.Blog, strs []string) error {
пре 6 година
o := orm.NewOrm()
пре 6 година
o.Begin()
пре 6 година
id, eror := o.Insert(blog)
if eror != nil {
пре 6 година
o.Rollback()
пре 6 година
return eror
} else {
blog.Id = id
пре 6 година
if strs != nil && len(strs) > 0 {
пре 6 година
nlabels := make([]*models.NLabel, len(strs))
пре 6 година
for i := 0; i < len(strs); i++ {
пре 6 година
nlabels[i] = &models.NLabel{Title: strs[i], BlogId: id, UserId: blog.UserId}
}
if _, err := o.InsertMulti(len(nlabels), nlabels); err != nil {
o.Rollback()
return err
пре 6 година
}
}
пре 6 година
o.Commit()
}
return nil
}