码农笔录博客源码
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.

106 lines
2.2 KiB

преди 6 години
package service
import (
"beeblog/models"
преди 6 години
"errors"
преди 4 години
"github.com/beego/beego/v2/client/orm"
преди 6 години
)
type NoteService struct {
}
преди 6 години
func (this *NoteService) EditNote(note *models.Note) error {
преди 6 години
o := orm.NewOrm()
id, err := o.Update(note)
if err == nil {
note.Id = id
}
return err
}
преди 6 години
func (this *NoteService) SaveNote(note *models.Note) error {
преди 6 години
o := orm.NewOrm()
id, err := o.Insert(note)
if err == nil {
note.Id = id
}
return err
}
преди 6 години
func (this *NoteService) GetNote(note *models.Note) error {
преди 6 години
o := orm.NewOrm()
return o.Read(note)
}
преди 6 години
func (this *NoteService) DelNote(note *models.Note) error {
преди 6 години
o := orm.NewOrm()
преди 6 години
_, err := o.Delete(note)
преди 6 години
return err
}
преди 6 години
func (this *NoteService) GetNoteByPid(pid int64) ([]*models.Note, error) {
преди 6 години
var notes []*models.Note
o := orm.NewOrm()
qs := o.QueryTable(models.Note{})
преди 6 години
_, err := qs.Filter("Pid", pid).All(&notes)
преди 6 години
return notes, err
преди 6 години
}
преди 6 години
func (this *NoteService) CountNote(pid int64) (int64, error) {
преди 6 години
o := orm.NewOrm()
totalCount, err := o.QueryTable(&models.Note{}).Filter("Pid", pid).Count()
if err != nil {
преди 6 години
return 0, err
преди 6 години
}
return totalCount, nil
}
преди 6 години
func (this *NoteService) SaveNoteColl(note *models.NoteColl) error {
преди 6 години
o := orm.NewOrm()
id, err := o.Insert(note)
if err == nil {
note.Id = id
}
return err
}
преди 6 години
func (this *NoteService) EditNoteColl(title string, id int64, uid int64) error {
преди 6 години
o := orm.NewOrm()
noteColl := &models.NoteColl{Id: id}
if err := o.Read(noteColl); err != nil {
return err
}
if noteColl.UserId != uid {
return errors.New("403")
}
noteColl.Title = title
_, err := o.Update(noteColl, "Title")
return err
}
преди 6 години
func (this *NoteService) GetNoteColl(uid int64) ([]*models.NoteColl, error) {
преди 6 години
var notes []*models.NoteColl
o := orm.NewOrm()
qs := o.QueryTable(models.NoteColl{})
преди 6 години
_, err := qs.Filter("UserId", uid).All(&notes)
преди 6 години
return notes, err
}
преди 6 години
преди 6 години
func (this *NoteService) DelNoteColl(id int64, uid int64) error {
преди 6 години
o := orm.NewOrm()
noteColl := &models.NoteColl{Id: id}
if err := o.Read(noteColl); err != nil {
return err
}
if uid != noteColl.UserId {
return errors.New("403")
}
_, err := o.QueryTable(models.Note{}).Filter("Pid", id).Delete()
if err == nil {
_, err = o.Delete(noteColl)
}
return err
}