yirenyishi
6 years ago
11 changed files with 153 additions and 24 deletions
@ -0,0 +1,52 @@ |
|||
package controllers |
|||
|
|||
import ( |
|||
"strconv" |
|||
"beeblog/service" |
|||
"github.com/astaxie/beego" |
|||
"beeblog/models" |
|||
) |
|||
|
|||
type LikeController struct { |
|||
beego.Controller |
|||
} |
|||
|
|||
func (this *LikeController) Save() { |
|||
uid := this.GetSession("userid") |
|||
if uid == nil { |
|||
this.Data["json"] = models.ReurnError(401, "") |
|||
this.ServeJSON() |
|||
return |
|||
} |
|||
idStr := this.Ctx.Input.Param(":id") |
|||
id, _ := strconv.ParseInt(idStr, 10, 64) |
|||
like := &models.Like{BlogId: id, UserId: uid.(int64)} |
|||
if _, err := service.SaveLike(like); err != nil { |
|||
this.Data["json"] = models.ReurnError(500, "保存失败") |
|||
}else{ |
|||
this.Data["json"] = models.ReurnSuccess("") |
|||
} |
|||
this.ServeJSON() |
|||
service.CountLike(uid.(int64)) |
|||
return |
|||
} |
|||
|
|||
func (this *LikeController) Delete() { |
|||
uid := this.GetSession("userid") |
|||
if uid == nil { |
|||
this.Data["json"] = models.ReurnError(401, "") |
|||
this.ServeJSON() |
|||
return |
|||
} |
|||
idStr := this.Ctx.Input.Param(":id") |
|||
id, _ := strconv.ParseInt(idStr, 10, 64) |
|||
like := &models.Like{BlogId: id, UserId: uid.(int64)} |
|||
if _, err := service.DelLike(like); err != nil { |
|||
this.Data["json"] = models.ReurnError(500, "保存失败") |
|||
}else{ |
|||
this.Data["json"] = models.ReurnSuccess("") |
|||
} |
|||
this.ServeJSON() |
|||
service.CountLike(uid.(int64)) |
|||
return |
|||
} |
Binary file not shown.
@ -0,0 +1,11 @@ |
|||
package routers |
|||
|
|||
import ( |
|||
"beeblog/controllers" |
|||
"github.com/astaxie/beego" |
|||
) |
|||
|
|||
func init() { |
|||
beego.Router("/like/:id([0-9]+)", &controllers.LikeController{}, "get:Save") |
|||
beego.Router("/unlike/:id([0-9]+)", &controllers.LikeController{}, "get:Delete") |
|||
} |
@ -0,0 +1,29 @@ |
|||
package service |
|||
|
|||
import ( |
|||
"beeblog/models" |
|||
"github.com/astaxie/beego/orm" |
|||
"fmt" |
|||
) |
|||
|
|||
func SaveLike(like *models.Like) (int64, error) { |
|||
return orm.NewOrm().Insert(like) |
|||
} |
|||
func DelLike(like *models.Like) (int64, error) { |
|||
return orm.NewOrm().QueryTable(models.Like{}).Filter("BlogId",like.BlogId).Filter("UserId", like.UserId).Delete() |
|||
} |
|||
|
|||
func IsLike(bid int64, uid int64) (bool, error) { |
|||
totalCount, err := orm.NewOrm().QueryTable(&models.Like{}).Filter("BlogId", bid).Filter("UserId", uid).Count() |
|||
if err == nil { |
|||
fmt.Println(totalCount,"like count") |
|||
if totalCount > 0 { |
|||
return true, nil |
|||
} else { |
|||
return false, nil |
|||
} |
|||
}else{ |
|||
fmt.Println(err) |
|||
return false,err |
|||
} |
|||
} |
After Width: | Height: | Size: 600 B |
Loading…
Reference in new issue