fix page archive unable auto update

This commit is contained in:
henry.chen
2018-01-14 02:40:11 +08:00
parent 2ed9db5c7b
commit ef63ae9598

32
db.go
View File

@@ -308,16 +308,14 @@ func upArticle(artc *Article, needSort bool) {
} }
} }
// serie // serie
if artc.SerieID > 0 { for i, serie := range Ei.Series {
for i, serie := range Ei.Series { if serie.ID == artc.SerieID {
if serie.ID == artc.SerieID { Ei.Series[i].Articles = append(Ei.Series[i].Articles, artc)
Ei.Series[i].Articles = append(Ei.Series[i].Articles, artc) if needSort {
if needSort { sort.Sort(Ei.Series[i].Articles)
sort.Sort(Ei.Series[i].Articles) Ei.CH <- SERIES_MD
Ei.CH <- SERIES_MD
}
break
} }
break
} }
} }
// archive // archive
@@ -329,9 +327,13 @@ func upArticle(artc *Article, needSort bool) {
sort.Sort(Ei.Archives[i].Articles) sort.Sort(Ei.Archives[i].Articles)
Ei.CH <- ARCHIVE_MD Ei.CH <- ARCHIVE_MD
} }
break return
} }
} }
Ei.Archives = append(Ei.Archives, &Archive{Time: artc.CreateTime, Articles: SortArticles{artc}})
if needSort {
Ei.CH <- ARCHIVE_MD
}
} }
// 删除文章从tag、serie、archive // 删除文章从tag、serie、archive
@@ -352,7 +354,9 @@ func dropArticle(artc *Article) {
if serie.ID == artc.SerieID { if serie.ID == artc.SerieID {
for j, v := range serie.Articles { for j, v := range serie.Articles {
if v == artc { if v == artc {
Ei.Series[i].Articles = append(Ei.Series[i].Articles[0:j], Ei.Series[i].Articles[j+1:]...) Ei.Series[i].Articles = append(Ei.Series[i].Articles[0:j],
Ei.Series[i].Articles[j+1:]...)
Ei.CH <- SERIES_MD
break break
} }
} }
@@ -364,10 +368,12 @@ func dropArticle(artc *Article) {
if y, m, _ := artc.CreateTime.Date(); ay == y && am == m { if y, m, _ := artc.CreateTime.Date(); ay == y && am == m {
for j, v := range archive.Articles { for j, v := range archive.Articles {
if v == artc { if v == artc {
Ei.Archives[i].Articles = append(Ei.Archives[i].Articles[0:j], Ei.Archives[i].Articles[j+1:]...) Ei.Archives[i].Articles = append(Ei.Archives[i].Articles[0:j],
Ei.Archives[i].Articles[j+1:]...)
if len(Ei.Archives[i].Articles) == 0 { if len(Ei.Archives[i].Articles) == 0 {
Ei.Archives = append(Ei.Archives[:i], Ei.Archives[i+1:]...) Ei.Archives = append(Ei.Archives[:i], Ei.Archives[i+1:]...)
} }
Ei.CH <- ARCHIVE_MD
break break
} }
} }
@@ -442,8 +448,6 @@ func DelArticles(ids ...int32) error {
} }
dropArticle(artc) dropArticle(artc)
} }
Ei.CH <- ARCHIVE_MD
Ei.CH <- SERIES_MD
return nil return nil
} }