12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- package yb
- import (
- "github.com/beego/beego/v2/client/orm"
- "time"
- )
- type Like struct {
- LikeId uint64 `orm:"column(like_id);pk" description:"消息序号"`
- UserId uint64 `orm:"column(user_id)" description:"用户id"`
- Enabled int8 `orm:"column(enabled)" description:"状态. 0-已取消赞 1-有效赞"`
- CreateTime time.Time `orm:"column(create_time)" description:"创建时间"`
- ModifyTime time.Time `orm:"column(modify_time)" description:"修改时间"`
- ReportId int `orm:"column(report_id)" description:"报告ID"`
- ReportChapterId int `orm:"column(report_chapter_id)" description:"报告章节ID"`
- SourceAgent int `orm:"column(source_agent)" description:"留言入口来源,1:小程序,2:小程序pc,4:web pc"`
- }
- type StatReportLikeItem struct {
- ReportId int `description:"报告ID"`
- ReportChapterId int `description:"报告章节ID"`
- LikeNum int `description:"点赞数"`
- ModifyTime time.Time `description:"最新点赞时间"`
- }
- // GetLikeReportIds 根据条件查询点赞相关的 report
- func GetLikeReportIds(orderType string) (list []*StatReportLikeItem, err error) {
- o := orm.NewOrm()
- sql := `SELECT
- count( * ) AS like_num,
- report_id,
- report_chapter_id,
- MAX(modify_time) as modify_time
- FROM
- yb_like
- WHERE
- enabled = 1
- GROUP BY
- report_id,
- report_chapter_id
- ORDER BY
- like_num`
- if orderType != "" {
- sql += ` `+orderType
- }else{
- sql += ` desc`
- }
- _, err = o.Raw(sql).QueryRows(&list)
- return
- }
- // GetLikeListByReportId 根据报告ID,查询点赞列表
- func GetLikeListByReportId(reportId, reportChapterId, startSize, pageSize int)(list []*Like, err error) {
- o := orm.NewOrm()
- sql := `SELECT *
- FROM
- yb_like
- WHERE report_id=? and report_chapter_id=? and enabled=1
- ORDER BY modify_time DESC , like_id DESC LIMIT ?,?`
- _, err = o.Raw(sql, reportId, reportChapterId, startSize, pageSize).QueryRows(&list)
- return
- }
- // GetLikeListTotalByReportId 根据报告ID,查询点赞列表总数
- func GetLikeListTotalByReportId(reportId, reportChapterId int)(total int64, err error) {
- o := orm.NewOrm()
- sql := `SELECT count(*)
- FROM
- yb_like
- WHERE report_id=? and report_chapter_id=? and enabled=1`
- err = o.Raw(sql, reportId, reportChapterId).QueryRow(&total)
- return
- }
|