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
}