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 }