// 获取用户列表. // @page: 从1开始的页数 // @return: users, total-count, err func User_GetList(page, pagesize int, order string) ([]User, int64, error) { var db *goku.MysqlDB = GetDB() defer db.Close() page, pagesize = utils.PageCheck(page, pagesize) qi := goku.SqlQueryInfo{} qi.Limit = pagesize qi.Offset = pagesize * page if order == "" { qi.Order = "id desc" } else { qi.Order = order } var users []User err := db.GetStructs(&users, qi) if err != nil { goku.Logger().Errorln(err.Error()) return nil, 0, err } total, err := db.Count("user", "") if err != nil { goku.Logger().Errorln(err.Error()) } return users, total, nil }
// @page: 从1开始 // @return: comments, total-count, err func Comment_GetByPage(page, pagesize int, order string) ([]Comment, int64, error) { var db *goku.MysqlDB = GetDB() defer db.Close() page, pagesize = utils.PageCheck(page, pagesize) qi := goku.SqlQueryInfo{} qi.Limit = pagesize qi.Offset = page * pagesize if order == "" { qi.Order = "id desc" } else { qi.Order = order } var comments []Comment err := db.GetStructs(&comments, qi) if err != nil { goku.Logger().Errorln(err.Error()) return nil, 0, err } total, err := db.Count("comment", "") if err != nil { goku.Logger().Errorln(err.Error()) } return comments, total, nil }
func admin_index(ctx *goku.HttpContext) goku.ActionResulter { var db *goku.MysqlDB = models.GetDB() defer db.Close() linkCount, err := db.Count("link", "") if err != nil { ctx.ViewData["errorMsg"] = err.Error() return ctx.Render("error", nil) } ctx.ViewData["linkCount"] = linkCount userCount, err := db.Count("user", "") if err != nil { ctx.ViewData["errorMsg"] = err.Error() return ctx.Render("error", nil) } ctx.ViewData["userCount"] = userCount topicCount, err := db.Count("topic", "") if err != nil { ctx.ViewData["errorMsg"] = err.Error() return ctx.Render("error", nil) } ctx.ViewData["topicCount"] = topicCount commentCount, err := db.Count("comment", "") if err != nil { ctx.ViewData["errorMsg"] = err.Error() return ctx.Render("error", nil) } ctx.ViewData["commentCount"] = commentCount return ctx.View(nil) }
// 获取收到的评论列表 // @page: 从1开始 // @return: comments, total-count, err func CommentForUser_GetByPage(userId int64, page, pagesize int, order string) ([]Comment, int64, error) { var db *goku.MysqlDB = GetDB() defer db.Close() page, pagesize = utils.PageCheck(page, pagesize) qi := goku.SqlQueryInfo{} qi.Limit = pagesize qi.Offset = page * pagesize qi.Where = "cfu.user_id=?" qi.Join = " cfu INNER JOIN `comment` c ON cfu.comment_id=c.id" qi.Fields = `c.id, c.user_id, c.link_id, c.parent_path, c.children_count, c.top_parent_id, c.parent_id, c.deep, c.status, c.content, c.create_time, c.vote_up, c.vote_down, c.reddit_score` if order == "" { qi.Order = "create_time desc" } else { qi.Order = order } qi.Params = []interface{}{userId} rows, err := db.Select("comment_for_user", qi) if err != nil { goku.Logger().Errorln(err.Error()) return nil, 0, err } defer rows.Close() comments := make([]Comment, 0) for rows.Next() { c := Comment{} err = rows.Scan(&c.Id, &c.UserId, &c.LinkId, &c.ParentPath, &c.ChildrenCount, &c.TopParentId, &c.ParentId, &c.Deep, &c.Status, &c.Content, &c.CreateTime, &c.VoteUp, &c.VoteDown, &c.RedditScore) if err != nil { goku.Logger().Errorln(err.Error()) return nil, 0, err } comments = append(comments, c) } total, err := db.Count("comment_for_user", "user_id=?", userId) if err != nil { goku.Logger().Errorln(err.Error()) } return comments, total, nil }