|
|
|
package controllers
|
|
|
|
|
|
|
|
import (
|
|
|
|
"beeblog/models"
|
|
|
|
"beeblog/service"
|
|
|
|
beego "github.com/beego/beego/v2/server/web"
|
|
|
|
"strconv"
|
|
|
|
)
|
|
|
|
|
|
|
|
type LikeController struct {
|
|
|
|
beego.Controller
|
|
|
|
}
|
|
|
|
|
|
|
|
func (this *LikeController) Save() {
|
|
|
|
likeService := service.LikeService{}
|
|
|
|
userService := service.UserService{}
|
|
|
|
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 := likeService.SaveLike(like); err != nil {
|
|
|
|
this.Data["json"] = models.ReurnError(500, "保存失败")
|
|
|
|
} else {
|
|
|
|
this.Data["json"] = models.ReurnSuccess("")
|
|
|
|
}
|
|
|
|
this.ServeJSON()
|
|
|
|
userService.CountLike(uid.(int64), id)
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
func (this *LikeController) Delete() {
|
|
|
|
likeService := service.LikeService{}
|
|
|
|
userService := service.UserService{}
|
|
|
|
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 := likeService.DelLike(like); err != nil {
|
|
|
|
this.Data["json"] = models.ReurnError(500, "保存失败")
|
|
|
|
} else {
|
|
|
|
this.Data["json"] = models.ReurnSuccess("")
|
|
|
|
}
|
|
|
|
this.ServeJSON()
|
|
|
|
userService.CountLike(uid.(int64), id)
|
|
|
|
return
|
|
|
|
}
|