添加或移除书签(如果书签不存在,则添加书签,如果书签存在,则移除书签)
(uid, docId int)
| 46 | |
| 47 | //添加或移除书签(如果书签不存在,则添加书签,如果书签存在,则移除书签) |
| 48 | func (m *Bookmark) InsertOrDelete(uid, docId int) (insert bool, err error) { |
| 49 | if uid*docId == 0 { |
| 50 | err = errors.New("用户id和文档id均不能为空") |
| 51 | return |
| 52 | } |
| 53 | |
| 54 | o := orm.NewOrm() |
| 55 | |
| 56 | var ( |
| 57 | bookmark Bookmark |
| 58 | doc = new(Document) |
| 59 | ) |
| 60 | |
| 61 | o.QueryTable(tableBookmark).Filter("uid", uid).Filter("doc_id", docId).One(&bookmark, "id") |
| 62 | if bookmark.Id > 0 { //删除书签 |
| 63 | _, err = o.QueryTable(tableBookmark).Filter("id", bookmark.Id).Delete() |
| 64 | return |
| 65 | } |
| 66 | |
| 67 | //新增书签 |
| 68 | //查询文档id是属于哪个书籍 |
| 69 | o.QueryTable(doc).Filter("document_id", docId).One(doc, "book_id") |
| 70 | bookmark.BookId = doc.BookId |
| 71 | bookmark.CreateAt = int(time.Now().Unix()) |
| 72 | bookmark.Uid = uid |
| 73 | bookmark.DocId = docId |
| 74 | _, err = o.Insert(&bookmark) |
| 75 | insert = true |
| 76 | return |
| 77 | } |
| 78 | |
| 79 | //查询书签是否存在 |
| 80 | func (m *Bookmark) Exist(uid, docId int) (exist bool) { |
no test coverage detected