// list images // if albumId == "" get default album images func (this *FileService) ListImagesWithPage(userId, albumId, key string, pageNumber, pageSize int) info.Page { skipNum, sortFieldR := parsePageAndSort(pageNumber, pageSize, "CreatedTime", false) files := []info.File{} q := bson.M{"UserId": bson.ObjectIdHex(userId), "Type": ""} // life if albumId != "" { q["AlbumId"] = bson.ObjectIdHex(albumId) } else { q["IsDefaultAlbum"] = true } if key != "" { q["Title"] = bson.M{"$regex": bson.RegEx{".*?" + key + ".*", "i"}} } // LogJ(q) count := db.Count(db.Files, q) db.Files. Find(q). Sort(sortFieldR). Skip(skipNum). Limit(pageSize). All(&files) return info.Page{Count: count, List: files} }
// 重新统计笔记本下的笔记数目 // noteSevice: AddNote, CopyNote, CopySharedNote, MoveNote // trashService: DeleteNote (recove不用, 都统一在MoveNote里了) func (this *NotebookService) ReCountNotebookNumberNotes(notebookId string) bool { notebookIdO := bson.ObjectIdHex(notebookId) count := db.Count(db.Notes, bson.M{"NotebookId": notebookIdO, "IsTrash": false, "IsDeleted": false}) Log(count) Log(notebookId) return db.UpdateByQField(db.Notebooks, bson.M{"_id": notebookIdO}, "NumberNotes", count) }
func (this *NoteService) CountBlog(userId string) int { q := bson.M{"IsBlog": true, "IsTrash": false, "IsDeleted": false} if userId != "" { q["UserId"] = bson.ObjectIdHex(userId) } return db.Count(db.Notes, q) }
// delete album // presupposition: has no images under this ablum func (this *AlbumService) DeleteAlbum(userId, albumId string) (bool, string) { if db.Count(db.Files, bson.M{"AlbumId": bson.ObjectIdHex(albumId), "UserId": bson.ObjectIdHex(userId), }) == 0 { return db.DeleteByIdAndUserId(db.Albums, albumId, userId), "" } return false, "has images" }
// 通过标签来查询 func (this *NoteService) CountNoteByTag(userId string, tag string) int { if tag == "" { return 0 } query := bson.M{"UserId": bson.ObjectIdHex(userId), // "IsTrash": false, "IsDeleted": false, "Tags": bson.M{"$in": []string{tag}}} return db.Count(db.Notes, query) }
// 查看是否有子notebook // 先查看该notebookId下是否有notes, 没有则删除 func (this *NotebookService) DeleteNotebook(userId, notebookId string) (bool, string) { if db.Count(db.Notebooks, bson.M{ "ParentNotebookId": bson.ObjectIdHex(notebookId), "UserId": bson.ObjectIdHex(userId), "IsDeleted": false, }) == 0 { // 无 if db.Count(db.Notes, bson.M{"NotebookId": bson.ObjectIdHex(notebookId), "UserId": bson.ObjectIdHex(userId), "IsTrash": false, "IsDeleted": false}) == 0 { // 不包含trash // 不是真删除 1/20, 为了同步笔记本 ok := db.UpdateByQMap(db.Notebooks, bson.M{"_id": bson.ObjectIdHex(notebookId)}, bson.M{"IsDeleted": true, "Usn": userService.IncrUsn(userId)}) return ok, "" // return db.DeleteByIdAndUserId(db.Notebooks, notebookId, userId), "" } return false, "笔记本下有笔记" } else { return false, "笔记本下有子笔记本" } }
// 更新笔记的附件个数 // addNum 1或-1 func (this *AttachService) updateNoteAttachNum(noteId bson.ObjectId, addNum int) bool { num := db.Count(db.Attachs, bson.M{"NoteId": noteId}) /* note := info.Note{} note = noteService.GetNoteById(noteId.Hex()) note.AttachNum += addNum if note.AttachNum < 0 { note.AttachNum = 0 } Log(note.AttachNum) */ return db.UpdateByQField(db.Notes, bson.M{"_id": noteId}, "AttachNum", num) }
// 是否存在该用户 username func (this *UserService) IsExistsUserByUsername(username string) bool { return db.Count(db.Users, bson.M{"Username": username}) >= 1 }
// 统计 func (this *UserService) CountUser() int { return db.Count(db.Users, bson.M{}) }