码农笔录博客源码
25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.

72 satır
1.8 KiB

6 yıl önce
package service
import (
"beeblog/models"
"github.com/astaxie/beego/orm"
"fmt"
6 yıl önce
"beeblog/utils"
6 yıl önce
)
6 yıl önce
type LikeService struct {
}
func (this *LikeService) SaveLike(like *models.Like) (int64, error) {
6 yıl önce
return orm.NewOrm().Insert(like)
}
6 yıl önce
func (this *LikeService) DelLike(like *models.Like) (int64, error) {
6 yıl önce
return orm.NewOrm().QueryTable(models.Like{}).Filter("BlogId", like.BlogId).Filter("UserId", like.UserId).Delete()
6 yıl önce
}
6 yıl önce
func (this *LikeService) IsLike(bid int64, uid int64) (bool, error) {
6 yıl önce
totalCount, err := orm.NewOrm().QueryTable(&models.Like{}).Filter("BlogId", bid).Filter("UserId", uid).Count()
if err == nil {
6 yıl önce
fmt.Println(totalCount, "like count")
6 yıl önce
if totalCount > 0 {
return true, nil
} else {
return false, nil
}
6 yıl önce
} else {
6 yıl önce
fmt.Println(err)
6 yıl önce
return false, err
6 yıl önce
}
}
6 yıl önce
6 yıl önce
func (this *LikeService) MeLikes(num int, size int, uid int64) (*utils.Page, error) {
page, err := this.countLike(num, size, uid)
6 yıl önce
if err != nil {
return nil, err
}
var likes []*models.Like
o := orm.NewOrm()
qs := o.QueryTable(&models.Like{})
qs = qs.Filter("UserId", uid)
qs = qs.Limit(size, (page.PageNo-1)*size)
if _, err = qs.All(&likes); err != nil {
return nil, err
}
if len(likes) > 0 {
for i := 0; i < len(likes); i++ {
blog := &models.Blog{Id: likes[i].BlogId}
if err := o.Read(blog); err == nil {
likes[i].Blog = blog
}
}
}
page.List = likes
return page, nil
}
6 yıl önce
func (this *LikeService) countLike(num int, size int, uid int64) (*utils.Page, error) {
6 yıl önce
o := orm.NewOrm()
qs := o.QueryTable(&models.Like{})
totalCount, err := qs.Filter("UserId", uid).Count()
if err != nil {
return nil, err
}
return utils.PageUtil(totalCount, num, size), nil
}
6 yıl önce
func (likeService LikeService) DelLikeByBlog(id int64) {
orm.NewOrm().QueryTable(models.Like{}).Filter("BlogId", id).Delete()
}