beta2 preNextBlog fixed
This commit is contained in:
@ -581,7 +581,8 @@ func (c Blog) Post(userIdOrEmail, noteId string) (re revel.Result) {
|
|||||||
return c.e404(userBlog.ThemePath) // 404 TODO 使用用户的404
|
return c.e404(userBlog.ThemePath) // 404 TODO 使用用户的404
|
||||||
}
|
}
|
||||||
|
|
||||||
c.RenderArgs["post"] = blogService.FixBlog(blogInfo)
|
post := blogService.FixBlog(blogInfo)
|
||||||
|
c.RenderArgs["post"] = post
|
||||||
// c.RenderArgs["userInfo"] = userInfo
|
// c.RenderArgs["userInfo"] = userInfo
|
||||||
c.RenderArgs["curIsPost"] = true
|
c.RenderArgs["curIsPost"] = true
|
||||||
|
|
||||||
@ -597,7 +598,7 @@ func (c Blog) Post(userIdOrEmail, noteId string) (re revel.Result) {
|
|||||||
baseTime = blogInfo.Title
|
baseTime = blogInfo.Title
|
||||||
}
|
}
|
||||||
|
|
||||||
prePost, nextPost := blogService.PreNextBlog(userId, userBlog.SortField, userBlog.IsAsc, baseTime)
|
prePost, nextPost := blogService.PreNextBlog(userId, userBlog.SortField, userBlog.IsAsc, post.NoteId, baseTime)
|
||||||
if prePost.NoteId != "" {
|
if prePost.NoteId != "" {
|
||||||
c.RenderArgs["prePost"] = prePost
|
c.RenderArgs["prePost"] = prePost
|
||||||
}
|
}
|
||||||
|
@ -353,7 +353,7 @@ func (this *BlogService) SearchBlog(key, userId string, page, pageSize int, sort
|
|||||||
// 上一篇文章, 下一篇文章
|
// 上一篇文章, 下一篇文章
|
||||||
// sorterField, baseTime是基准, sorterField=PublicTime, title
|
// sorterField, baseTime是基准, sorterField=PublicTime, title
|
||||||
// isAsc是用户自定义的排序方式
|
// isAsc是用户自定义的排序方式
|
||||||
func (this *BlogService) PreNextBlog(userId string, sorterField string, isAsc bool, baseTime interface{}) (info.Post, info.Post) {
|
func (this *BlogService) PreNextBlog(userId string, sorterField string, isAsc bool, noteId string, baseTime interface{}) (info.Post, info.Post) {
|
||||||
userIdO := bson.ObjectIdHex(userId)
|
userIdO := bson.ObjectIdHex(userId)
|
||||||
|
|
||||||
var sortFieldT1, sortFieldT2 bson.M
|
var sortFieldT1, sortFieldT2 bson.M
|
||||||
@ -367,10 +367,10 @@ func (this *BlogService) PreNextBlog(userId string, sorterField string, isAsc bo
|
|||||||
--
|
--
|
||||||
*/
|
*/
|
||||||
// 上一篇时间要比它大, 找最小的
|
// 上一篇时间要比它大, 找最小的
|
||||||
sortFieldT1 = bson.M{"$gt": baseTime}
|
sortFieldT1 = bson.M{"$gte": baseTime} // 为什么要相等, 因为将notebook发布成博客, 会统一修改note的publicTime, 此时所有notes都一样
|
||||||
sortFieldR1 = sorterField
|
sortFieldR1 = sorterField
|
||||||
// 下一篇时间要比它小
|
// 下一篇时间要比它小
|
||||||
sortFieldT2 = bson.M{"$lt": baseTime}
|
sortFieldT2 = bson.M{"$lte": baseTime}
|
||||||
sortFieldR2 = "-" + sorterField
|
sortFieldR2 = "-" + sorterField
|
||||||
} else {
|
} else {
|
||||||
// 升序
|
// 升序
|
||||||
@ -381,22 +381,28 @@ func (this *BlogService) PreNextBlog(userId string, sorterField string, isAsc bo
|
|||||||
---------
|
---------
|
||||||
*/
|
*/
|
||||||
// 上一篇要比它小, 找最大的
|
// 上一篇要比它小, 找最大的
|
||||||
sortFieldT1 = bson.M{"$lt": baseTime}
|
sortFieldT1 = bson.M{"$lte": baseTime}
|
||||||
sortFieldR1 = "-" + sorterField
|
sortFieldR1 = "-" + sorterField
|
||||||
// 下一篇, 找最小的
|
// 下一篇, 找最小的
|
||||||
sortFieldT2 = bson.M{"$gt": baseTime}
|
sortFieldT2 = bson.M{"$gte": baseTime}
|
||||||
sortFieldR2 = sorterField
|
sortFieldR2 = sorterField
|
||||||
}
|
}
|
||||||
|
|
||||||
// 上一篇, 比基时间要小, 但是是最后一篇, 所以是降序
|
// 上一篇, 比基时间要小, 但是是最后一篇, 所以是降序
|
||||||
note := info.Note{}
|
note := info.Note{}
|
||||||
query := bson.M{"UserId": userIdO, "IsTrash": false, "IsBlog": true,
|
query := bson.M{"UserId": userIdO,
|
||||||
|
"IsTrash": false,
|
||||||
|
"IsBlog": true,
|
||||||
|
"_id": bson.M{"$ne": bson.ObjectIdHex(noteId)},
|
||||||
sorterField: sortFieldT1,
|
sorterField: sortFieldT1,
|
||||||
}
|
}
|
||||||
q := db.Notes.Find(query)
|
q := db.Notes.Find(query)
|
||||||
q.Sort(sortFieldR1).Limit(1).One(¬e)
|
q.Sort(sortFieldR1).Limit(1).One(¬e)
|
||||||
|
|
||||||
// 下一篇, 比基时间要大, 但是是第一篇, 所以是升序
|
// 下一篇, 比基时间要大, 但是是第一篇, 所以是升序
|
||||||
|
if note.NoteId != "" {
|
||||||
|
query["_id"] = bson.M{"$nin": []bson.ObjectId{bson.ObjectIdHex(noteId), note.NoteId}}
|
||||||
|
}
|
||||||
note2 := info.Note{}
|
note2 := info.Note{}
|
||||||
query[sorterField] = sortFieldT2
|
query[sorterField] = sortFieldT2
|
||||||
// Log(isAsc)
|
// Log(isAsc)
|
||||||
|
@ -279,7 +279,7 @@ a:hover {
|
|||||||
color: #000000;
|
color: #000000;
|
||||||
}
|
}
|
||||||
#header h1 a img {
|
#header h1 a img {
|
||||||
height: 40px;
|
max-height: 40px;
|
||||||
}
|
}
|
||||||
#header #blogDesc {
|
#header #blogDesc {
|
||||||
font-size: 32px;
|
font-size: 32px;
|
||||||
|
Reference in New Issue
Block a user