mirror of
https://github.com/eiblog/eiblog.git
synced 2026-02-04 13:52:26 +08:00
fix gopkg.in/mgo import conflict
This commit is contained in:
10
api.go
10
api.go
@@ -11,8 +11,8 @@ import (
|
|||||||
|
|
||||||
"github.com/eiblog/eiblog/setting"
|
"github.com/eiblog/eiblog/setting"
|
||||||
"github.com/eiblog/utils/logd"
|
"github.com/eiblog/utils/logd"
|
||||||
|
"github.com/eiblog/utils/mgo"
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
"gopkg.in/mgo.v2/bson"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
@@ -66,7 +66,7 @@ func apiAccount(c *gin.Context) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
err := UpdateAccountField(bson.M{"$set": bson.M{"email": e, "phonen": pn, "address": ad}})
|
err := UpdateAccountField(mgo.M{"$set": mgo.M{"email": e, "phonen": pn, "address": ad}})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
responseNotice(c, NOTICE_NOTICE, err.Error(), "")
|
responseNotice(c, NOTICE_NOTICE, err.Error(), "")
|
||||||
return
|
return
|
||||||
@@ -89,7 +89,7 @@ func apiBlog(c *gin.Context) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
err := UpdateAccountField(bson.M{"$set": bson.M{"blogger.blogname": bn, "blogger.btitle": bt, "blogger.beian": ba, "blogger.subtitle": st, "blogger.seriessay": ss, "blogger.archivessay": as}})
|
err := UpdateAccountField(mgo.M{"$set": mgo.M{"blogger.blogname": bn, "blogger.btitle": bt, "blogger.beian": ba, "blogger.subtitle": st, "blogger.seriessay": ss, "blogger.archivessay": as}})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
responseNotice(c, NOTICE_NOTICE, err.Error(), "")
|
responseNotice(c, NOTICE_NOTICE, err.Error(), "")
|
||||||
return
|
return
|
||||||
@@ -124,7 +124,7 @@ func apiPassword(c *gin.Context) {
|
|||||||
}
|
}
|
||||||
newPwd := EncryptPasswd(Ei.Username, nw)
|
newPwd := EncryptPasswd(Ei.Username, nw)
|
||||||
|
|
||||||
err := UpdateAccountField(bson.M{"$set": bson.M{"password": newPwd}})
|
err := UpdateAccountField(mgo.M{"$set": mgo.M{"password": newPwd}})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
responseNotice(c, NOTICE_NOTICE, err.Error(), "")
|
responseNotice(c, NOTICE_NOTICE, err.Error(), "")
|
||||||
return
|
return
|
||||||
@@ -254,7 +254,7 @@ func apiPostAdd(c *gin.Context) {
|
|||||||
if CheckBool(update) {
|
if CheckBool(update) {
|
||||||
artc.UpdateTime = time.Now()
|
artc.UpdateTime = time.Now()
|
||||||
}
|
}
|
||||||
err = UpdateArticle(bson.M{"id": artc.ID}, artc)
|
err = UpdateArticle(mgo.M{"id": artc.ID}, artc)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logd.Error(err)
|
logd.Error(err)
|
||||||
return
|
return
|
||||||
|
|||||||
4
back.go
4
back.go
@@ -11,9 +11,9 @@ import (
|
|||||||
|
|
||||||
"github.com/eiblog/eiblog/setting"
|
"github.com/eiblog/eiblog/setting"
|
||||||
"github.com/eiblog/utils/logd"
|
"github.com/eiblog/utils/logd"
|
||||||
|
"github.com/eiblog/utils/mgo"
|
||||||
"github.com/gin-gonic/contrib/sessions"
|
"github.com/gin-gonic/contrib/sessions"
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
"gopkg.in/mgo.v2/bson"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// 是否登录
|
// 是否登录
|
||||||
@@ -73,7 +73,7 @@ func HandleLoginPost(c *gin.Context) {
|
|||||||
session.Save()
|
session.Save()
|
||||||
Ei.LoginIP = c.ClientIP()
|
Ei.LoginIP = c.ClientIP()
|
||||||
Ei.LoginTime = time.Now()
|
Ei.LoginTime = time.Now()
|
||||||
UpdateAccountField(bson.M{"$set": bson.M{"loginip": Ei.LoginIP, "logintime": Ei.LoginTime}})
|
UpdateAccountField(mgo.M{"$set": mgo.M{"loginip": Ei.LoginIP, "logintime": Ei.LoginTime}})
|
||||||
c.Redirect(http.StatusFound, "/admin/profile")
|
c.Redirect(http.StatusFound, "/admin/profile")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
105
db.go
105
db.go
@@ -13,9 +13,7 @@ import (
|
|||||||
"github.com/eiblog/blackfriday"
|
"github.com/eiblog/blackfriday"
|
||||||
"github.com/eiblog/eiblog/setting"
|
"github.com/eiblog/eiblog/setting"
|
||||||
"github.com/eiblog/utils/logd"
|
"github.com/eiblog/utils/logd"
|
||||||
db "github.com/eiblog/utils/mgo"
|
"github.com/eiblog/utils/mgo"
|
||||||
"gopkg.in/mgo.v2"
|
|
||||||
"gopkg.in/mgo.v2/bson"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// 数据库及表名
|
// 数据库及表名
|
||||||
@@ -62,40 +60,20 @@ var (
|
|||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
// 数据库加索引
|
// 数据库加索引
|
||||||
ms, c := db.Connect(DB, COLLECTION_ACCOUNT)
|
err := mgo.Index(DB, COLLECTION_ACCOUNT, []string{"username"})
|
||||||
index := mgo.Index{
|
if err != nil {
|
||||||
Key: []string{"username"},
|
|
||||||
Unique: true,
|
|
||||||
DropDups: true,
|
|
||||||
Background: true,
|
|
||||||
Sparse: true,
|
|
||||||
}
|
|
||||||
if err := c.EnsureIndex(index); err != nil {
|
|
||||||
logd.Fatal(err)
|
logd.Fatal(err)
|
||||||
}
|
}
|
||||||
ms.Close()
|
|
||||||
ms, c = db.Connect(DB, COLLECTION_ARTICLE)
|
err = mgo.Index(DB, COLLECTION_ARTICLE, []string{"id"})
|
||||||
index = mgo.Index{
|
if err != nil {
|
||||||
Key: []string{"id"},
|
|
||||||
Unique: true,
|
|
||||||
DropDups: true,
|
|
||||||
Background: true,
|
|
||||||
Sparse: true,
|
|
||||||
}
|
|
||||||
if err := c.EnsureIndex(index); err != nil {
|
|
||||||
logd.Fatal(err)
|
logd.Fatal(err)
|
||||||
}
|
}
|
||||||
index = mgo.Index{
|
|
||||||
Key: []string{"slug"},
|
err = mgo.Index(DB, COLLECTION_ARTICLE, []string{"slug"})
|
||||||
Unique: true,
|
if err != nil {
|
||||||
DropDups: true,
|
|
||||||
Background: true,
|
|
||||||
Sparse: true,
|
|
||||||
}
|
|
||||||
if err := c.EnsureIndex(index); err != nil {
|
|
||||||
logd.Fatal(err)
|
logd.Fatal(err)
|
||||||
}
|
}
|
||||||
ms.Close()
|
|
||||||
// 读取帐号信息
|
// 读取帐号信息
|
||||||
Ei = loadAccount()
|
Ei = loadAccount()
|
||||||
// 获取文章数据
|
// 获取文章数据
|
||||||
@@ -111,7 +89,7 @@ func init() {
|
|||||||
// 读取或初始化帐号信息
|
// 读取或初始化帐号信息
|
||||||
func loadAccount() (a *Account) {
|
func loadAccount() (a *Account) {
|
||||||
a = &Account{}
|
a = &Account{}
|
||||||
err := db.FindOne(DB, COLLECTION_ACCOUNT, bson.M{"username": setting.Conf.Account.Username}, a)
|
err := mgo.FindOne(DB, COLLECTION_ACCOUNT, mgo.M{"username": setting.Conf.Account.Username}, a)
|
||||||
// 初始化用户数据
|
// 初始化用户数据
|
||||||
if err == mgo.ErrNotFound {
|
if err == mgo.ErrNotFound {
|
||||||
a = &Account{
|
a = &Account{
|
||||||
@@ -127,7 +105,7 @@ func loadAccount() (a *Account) {
|
|||||||
a.BeiAn = setting.Conf.Blogger.BeiAn
|
a.BeiAn = setting.Conf.Blogger.BeiAn
|
||||||
a.BTitle = setting.Conf.Blogger.BTitle
|
a.BTitle = setting.Conf.Blogger.BTitle
|
||||||
a.Copyright = setting.Conf.Blogger.Copyright
|
a.Copyright = setting.Conf.Blogger.Copyright
|
||||||
err = db.Insert(DB, COLLECTION_ACCOUNT, a)
|
err = mgo.Insert(DB, COLLECTION_ACCOUNT, a)
|
||||||
generateTopic()
|
generateTopic()
|
||||||
} else if err != nil {
|
} else if err != nil {
|
||||||
logd.Fatal(err)
|
logd.Fatal(err)
|
||||||
@@ -139,7 +117,7 @@ func loadAccount() (a *Account) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func loadArticles() (artcs SortArticles) {
|
func loadArticles() (artcs SortArticles) {
|
||||||
err := db.FindAll(DB, COLLECTION_ARTICLE, bson.M{"isdraft": false, "deletetime": bson.M{"$eq": time.Time{}}}, &artcs)
|
err := mgo.FindAll(DB, COLLECTION_ARTICLE, mgo.M{"isdraft": false, "deletetime": mgo.M{"$eq": time.Time{}}}, &artcs)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logd.Fatal(err)
|
logd.Fatal(err)
|
||||||
}
|
}
|
||||||
@@ -209,7 +187,7 @@ func generateMarkdown() {
|
|||||||
// init account: generate blogroll and about page
|
// init account: generate blogroll and about page
|
||||||
func generateTopic() {
|
func generateTopic() {
|
||||||
about := &Article{
|
about := &Article{
|
||||||
ID: db.NextVal(DB, COUNTER_ARTICLE),
|
ID: mgo.NextVal(DB, COUNTER_ARTICLE),
|
||||||
Author: setting.Conf.Account.Username,
|
Author: setting.Conf.Account.Username,
|
||||||
Title: "关于",
|
Title: "关于",
|
||||||
Slug: "about",
|
Slug: "about",
|
||||||
@@ -217,18 +195,18 @@ func generateTopic() {
|
|||||||
UpdateTime: time.Time{},
|
UpdateTime: time.Time{},
|
||||||
}
|
}
|
||||||
blogroll := &Article{
|
blogroll := &Article{
|
||||||
ID: db.NextVal(DB, COUNTER_ARTICLE),
|
ID: mgo.NextVal(DB, COUNTER_ARTICLE),
|
||||||
Author: setting.Conf.Account.Username,
|
Author: setting.Conf.Account.Username,
|
||||||
Title: "友情链接",
|
Title: "友情链接",
|
||||||
Slug: "blogroll",
|
Slug: "blogroll",
|
||||||
CreateTime: time.Time{},
|
CreateTime: time.Time{},
|
||||||
UpdateTime: time.Time{},
|
UpdateTime: time.Time{},
|
||||||
}
|
}
|
||||||
err := db.Insert(DB, COLLECTION_ARTICLE, blogroll)
|
err := mgo.Insert(DB, COLLECTION_ARTICLE, blogroll)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logd.Fatal(err)
|
logd.Fatal(err)
|
||||||
}
|
}
|
||||||
err = db.Insert(DB, COLLECTION_ARTICLE, about)
|
err = mgo.Insert(DB, COLLECTION_ARTICLE, about)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logd.Fatal(err)
|
logd.Fatal(err)
|
||||||
}
|
}
|
||||||
@@ -307,7 +285,6 @@ func ManageSeriesArticle(artc *Article, s bool, do string) {
|
|||||||
Ei.Series[i].Articles = append(Ei.Series[i].Articles, artc)
|
Ei.Series[i].Articles = append(Ei.Series[i].Articles, artc)
|
||||||
if s {
|
if s {
|
||||||
sort.Sort(Ei.Series[i].Articles)
|
sort.Sort(Ei.Series[i].Articles)
|
||||||
Ei.CH <- SERIES_MD
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -318,7 +295,6 @@ func ManageSeriesArticle(artc *Article, s bool, do string) {
|
|||||||
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
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -340,7 +316,6 @@ func ManageArchivesArticle(artc *Article, s bool, do string) {
|
|||||||
Ei.Archives[i].Articles = append(Ei.Archives[i].Articles, artc)
|
Ei.Archives[i].Articles = append(Ei.Archives[i].Articles, artc)
|
||||||
if s {
|
if s {
|
||||||
sort.Sort(Ei.Archives[i].Articles)
|
sort.Sort(Ei.Archives[i].Articles)
|
||||||
Ei.CH <- ARCHIVE_MD
|
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -355,7 +330,9 @@ func ManageArchivesArticle(artc *Article, s bool, do string) {
|
|||||||
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:]...)
|
||||||
Ei.CH <- ARCHIVE_MD
|
if len(Ei.Archives[i].Articles) == 0 {
|
||||||
|
Ei.Archives = append(Ei.Archives[:i], Ei.Archives[i+1:]...)
|
||||||
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -401,14 +378,14 @@ func GenerateExcerptAndRender(artc *Article) {
|
|||||||
|
|
||||||
// 读取草稿箱
|
// 读取草稿箱
|
||||||
func LoadDraft() (artcs SortArticles, err error) {
|
func LoadDraft() (artcs SortArticles, err error) {
|
||||||
err = db.FindAll(DB, COLLECTION_ARTICLE, bson.M{"isdraft": true}, &artcs)
|
err = mgo.FindAll(DB, COLLECTION_ARTICLE, mgo.M{"isdraft": true}, &artcs)
|
||||||
sort.Sort(artcs)
|
sort.Sort(artcs)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// 读取回收箱
|
// 读取回收箱
|
||||||
func LoadTrash() (artcs SortArticles, err error) {
|
func LoadTrash() (artcs SortArticles, err error) {
|
||||||
err = db.FindAll(DB, COLLECTION_ARTICLE, bson.M{"deletetime": bson.M{"$ne": time.Time{}}}, &artcs)
|
err = mgo.FindAll(DB, COLLECTION_ARTICLE, mgo.M{"deletetime": mgo.M{"$ne": time.Time{}}}, &artcs)
|
||||||
sort.Sort(artcs)
|
sort.Sort(artcs)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@@ -417,7 +394,7 @@ func LoadTrash() (artcs SortArticles, err error) {
|
|||||||
func AddArticle(artc *Article) error {
|
func AddArticle(artc *Article) error {
|
||||||
// 分配ID, 占位至起始id
|
// 分配ID, 占位至起始id
|
||||||
for {
|
for {
|
||||||
if id := db.NextVal(DB, COUNTER_ARTICLE); id < setting.Conf.General.StartID {
|
if id := mgo.NextVal(DB, COUNTER_ARTICLE); id < setting.Conf.General.StartID {
|
||||||
continue
|
continue
|
||||||
} else {
|
} else {
|
||||||
artc.ID = id
|
artc.ID = id
|
||||||
@@ -440,7 +417,7 @@ func AddArticle(artc *Article) error {
|
|||||||
Ei.CH <- SERIES_MD
|
Ei.CH <- SERIES_MD
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return db.Insert(DB, COLLECTION_ARTICLE, artc)
|
return mgo.Insert(DB, COLLECTION_ARTICLE, artc)
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除文章,移入回收箱
|
// 删除文章,移入回收箱
|
||||||
@@ -455,7 +432,7 @@ func DelArticles(ids ...int32) error {
|
|||||||
ManageTagsArticle(artc, false, DELETE)
|
ManageTagsArticle(artc, false, DELETE)
|
||||||
ManageSeriesArticle(artc, false, DELETE)
|
ManageSeriesArticle(artc, false, DELETE)
|
||||||
ManageArchivesArticle(artc, false, DELETE)
|
ManageArchivesArticle(artc, false, DELETE)
|
||||||
err := UpdateArticle(bson.M{"id": id}, bson.M{"$set": bson.M{"deletetime": time.Now()}})
|
err := UpdateArticle(mgo.M{"id": id}, mgo.M{"$set": mgo.M{"deletetime": time.Now()}})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@@ -509,34 +486,34 @@ func timer() {
|
|||||||
delT := time.NewTicker(time.Duration(setting.Conf.General.Clean) * time.Hour)
|
delT := time.NewTicker(time.Duration(setting.Conf.General.Clean) * time.Hour)
|
||||||
for {
|
for {
|
||||||
<-delT.C
|
<-delT.C
|
||||||
db.Remove(DB, COLLECTION_ARTICLE, bson.M{"deletetime": bson.M{"$gt": time.Time{}, "$lt": time.Now().Add(time.Duration(setting.Conf.General.Trash) * time.Hour)}})
|
mgo.Remove(DB, COLLECTION_ARTICLE, mgo.M{"deletetime": mgo.M{"$gt": time.Time{}, "$lt": time.Now().Add(time.Duration(setting.Conf.General.Trash) * time.Hour)}})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 操作帐号字段
|
// 操作帐号字段
|
||||||
func UpdateAccountField(M bson.M) error {
|
func UpdateAccountField(M mgo.M) error {
|
||||||
return db.Update(DB, COLLECTION_ACCOUNT, bson.M{"username": Ei.Username}, M)
|
return mgo.Update(DB, COLLECTION_ACCOUNT, mgo.M{"username": Ei.Username}, M)
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除草稿箱或回收箱,永久删除
|
// 删除草稿箱或回收箱,永久删除
|
||||||
func RemoveArticle(id int32) error {
|
func RemoveArticle(id int32) error {
|
||||||
return db.Remove(DB, COLLECTION_ARTICLE, bson.M{"id": id})
|
return mgo.Remove(DB, COLLECTION_ARTICLE, mgo.M{"id": id})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 恢复删除文章到草稿箱
|
// 恢复删除文章到草稿箱
|
||||||
func RecoverArticle(id int32) error {
|
func RecoverArticle(id int32) error {
|
||||||
return db.Update(DB, COLLECTION_ARTICLE, bson.M{"id": id}, bson.M{"$set": bson.M{"deletetime": time.Time{}, "isdraft": true}})
|
return mgo.Update(DB, COLLECTION_ARTICLE, mgo.M{"id": id}, mgo.M{"$set": mgo.M{"deletetime": time.Time{}, "isdraft": true}})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 更新文章
|
// 更新文章
|
||||||
func UpdateArticle(query, update interface{}) error {
|
func UpdateArticle(query, update interface{}) error {
|
||||||
return db.Update(DB, COLLECTION_ARTICLE, query, update)
|
return mgo.Update(DB, COLLECTION_ARTICLE, query, update)
|
||||||
}
|
}
|
||||||
|
|
||||||
// 编辑文档
|
// 编辑文档
|
||||||
func QueryArticle(id int32) *Article {
|
func QueryArticle(id int32) *Article {
|
||||||
artc := &Article{}
|
artc := &Article{}
|
||||||
if err := db.FindOne(DB, COLLECTION_ARTICLE, bson.M{"id": id}, artc); err != nil {
|
if err := mgo.FindOne(DB, COLLECTION_ARTICLE, mgo.M{"id": id}, artc); err != nil {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
return artc
|
return artc
|
||||||
@@ -544,17 +521,17 @@ func QueryArticle(id int32) *Article {
|
|||||||
|
|
||||||
// 添加专题
|
// 添加专题
|
||||||
func AddSerie(name, slug, desc string) error {
|
func AddSerie(name, slug, desc string) error {
|
||||||
serie := &Serie{db.NextVal(DB, COUNTER_SERIE), name, slug, desc, time.Now(), nil}
|
serie := &Serie{mgo.NextVal(DB, COUNTER_SERIE), name, slug, desc, time.Now(), nil}
|
||||||
Ei.Series = append(Ei.Series, serie)
|
Ei.Series = append(Ei.Series, serie)
|
||||||
sort.Sort(Ei.Series)
|
sort.Sort(Ei.Series)
|
||||||
Ei.CH <- SERIES_MD
|
Ei.CH <- SERIES_MD
|
||||||
return UpdateAccountField(bson.M{"$addToSet": bson.M{"blogger.series": serie}})
|
return UpdateAccountField(mgo.M{"$addToSet": mgo.M{"blogger.series": serie}})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 更新专题
|
// 更新专题
|
||||||
func UpdateSerie(serie *Serie) error {
|
func UpdateSerie(serie *Serie) error {
|
||||||
Ei.CH <- SERIES_MD
|
Ei.CH <- SERIES_MD
|
||||||
return db.Update(DB, COLLECTION_ACCOUNT, bson.M{"username": Ei.Username, "blogger.series.id": serie.ID}, bson.M{"$set": bson.M{"blogger.series.$": serie}})
|
return mgo.Update(DB, COLLECTION_ACCOUNT, mgo.M{"username": Ei.Username, "blogger.series.id": serie.ID}, mgo.M{"$set": mgo.M{"blogger.series.$": serie}})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除专题
|
// 删除专题
|
||||||
@@ -564,7 +541,7 @@ func DelSerie(id int32) error {
|
|||||||
if len(serie.Articles) > 0 {
|
if len(serie.Articles) > 0 {
|
||||||
return fmt.Errorf("请删除该专题下的所有文章")
|
return fmt.Errorf("请删除该专题下的所有文章")
|
||||||
}
|
}
|
||||||
err := UpdateAccountField(bson.M{"$pull": bson.M{"blogger.series": bson.M{"id": id}}})
|
err := UpdateAccountField(mgo.M{"$pull": mgo.M{"blogger.series": mgo.M{"id": id}}})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@@ -588,24 +565,24 @@ func QuerySerie(id int32) *Serie {
|
|||||||
|
|
||||||
// 后台分页
|
// 后台分页
|
||||||
func PageListBack(se int, kw string, draft, del bool, p, n int) (max int, artcs []*Article) {
|
func PageListBack(se int, kw string, draft, del bool, p, n int) (max int, artcs []*Article) {
|
||||||
M := bson.M{}
|
M := mgo.M{}
|
||||||
if draft {
|
if draft {
|
||||||
M["isdraft"] = true
|
M["isdraft"] = true
|
||||||
} else if del {
|
} else if del {
|
||||||
M["deletetime"] = bson.M{"$ne": time.Time{}}
|
M["deletetime"] = mgo.M{"$ne": time.Time{}}
|
||||||
} else {
|
} else {
|
||||||
M["isdraft"] = false
|
M["isdraft"] = false
|
||||||
M["deletetime"] = bson.M{"$eq": time.Time{}}
|
M["deletetime"] = mgo.M{"$eq": time.Time{}}
|
||||||
if se > 0 {
|
if se > 0 {
|
||||||
M["serieid"] = se
|
M["serieid"] = se
|
||||||
}
|
}
|
||||||
if kw != "" {
|
if kw != "" {
|
||||||
M["title"] = bson.M{"$regex": kw, "$options": "$i"}
|
M["title"] = mgo.M{"$regex": kw, "$options": "$i"}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ms, c := db.Connect(DB, COLLECTION_ARTICLE)
|
ms, c := mgo.Connect(DB, COLLECTION_ARTICLE)
|
||||||
defer ms.Close()
|
defer ms.Close()
|
||||||
err := c.Find(M).Select(bson.M{"content": 0}).Sort("-createtime").Limit(n).Skip((p - 1) * n).All(&artcs)
|
err := c.Find(M).Select(mgo.M{"content": 0}).Sort("-createtime").Limit(n).Skip((p - 1) * n).All(&artcs)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logd.Error(err)
|
logd.Error(err)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user