package service import ( // "fmt" "github.com/leanote/leanote/app/db" "github.com/leanote/leanote/app/info" . "github.com/leanote/leanote/app/lea" "gopkg.in/mgo.v2/bson" "sort" "strings" "time" // "html" ) // 笔记本 type NotebookService struct { } // 排序 func sortSubNotebooks(eachNotebooks info.SubNotebooks) info.SubNotebooks { // 遍历子, 则子往上进行排序 for _, eachNotebook := range eachNotebooks { if eachNotebook.Subs != nil && len(eachNotebook.Subs) > 0 { eachNotebook.Subs = sortSubNotebooks(eachNotebook.Subs) } } // 子排完了, 本层排 sort.Sort(&eachNotebooks) return eachNotebooks } // 整理(成有关系)并排序 // GetNotebooks()调用 // ShareService调用 func ParseAndSortNotebooks(userNotebooks []info.Notebook, noParentDelete, needSort bool) info.SubNotebooks { // 整理成info.Notebooks // 第一遍, 建map // notebookId => info.Notebooks userNotebooksMap := make(map[bson.ObjectId]*info.Notebooks, len(userNotebooks)) for _, each := range userNotebooks { newNotebooks := info.Notebooks{Subs: info.SubNotebooks{}} newNotebooks.NotebookId = each.NotebookId newNotebooks.Title = each.Title // newNotebooks.Title = html.EscapeString(each.Title) newNotebooks.Title = strings.Replace(strings.Replace(each.Title, "