内容替换
(bookId int, src, dst string)
| 644 | |
| 645 | // 内容替换 |
| 646 | func (m *Book) Replace(bookId int, src, dst string) { |
| 647 | var docs []Document |
| 648 | o := orm.NewOrm() |
| 649 | o.QueryTable(NewDocument()).Filter("book_id", bookId).Limit(10000).All(&docs, "document_id") |
| 650 | if len(docs) > 0 { |
| 651 | for _, doc := range docs { |
| 652 | ds := new(DocumentStore) |
| 653 | o.QueryTable(ds).Filter("document_id", doc.DocumentId).One(ds) |
| 654 | if ds.DocumentId > 0 { |
| 655 | if count := strings.Count(ds.Markdown, src); count > 0 { // 如果没找到内容,则不更新这篇文章 |
| 656 | ds.Markdown = strings.Replace(ds.Markdown, src, dst, count) |
| 657 | ds.Content = "" |
| 658 | ds.UpdatedAt = time.Now() |
| 659 | o.Update(ds) |
| 660 | } |
| 661 | } |
| 662 | } |
| 663 | } |
| 664 | } |
| 665 | |
| 666 | // 根据书籍id获取(公开的)书籍 |
| 667 | func (m *Book) GetBooksById(id []int, fields ...string) (books []Book, err error) { |
no test coverage detected