2017-09-25 10:06:58 +08:00
|
|
|
package route
|
|
|
|
|
|
2017-09-27 15:52:50 +08:00
|
|
|
import com.jfinal.kit.JsonKit
|
2017-09-25 10:06:58 +08:00
|
|
|
import model.JSONResponse
|
|
|
|
|
import model.ModelPerm
|
|
|
|
|
import ro.pippo.controller.*
|
|
|
|
|
import ro.pippo.controller.extractor.Param
|
|
|
|
|
import service.Service
|
|
|
|
|
import util.responseInvalidParams
|
|
|
|
|
import util.responseNotFoundById
|
|
|
|
|
import util.responseOperationFailed
|
|
|
|
|
import util.responseSuccess
|
|
|
|
|
|
|
|
|
|
@Path("/perm")
|
|
|
|
|
class CtrlPerm : Controller() {
|
|
|
|
|
private val service = Service()
|
|
|
|
|
|
|
|
|
|
@GET("/{id: [0-9]+}")
|
|
|
|
|
@Produces(Produces.JSON)
|
2017-09-25 11:56:47 +08:00
|
|
|
fun getPermById(@Param("id") id: Int): JSONResponse {
|
2017-09-25 10:06:58 +08:00
|
|
|
val perm = service.getPermById(id)
|
|
|
|
|
return if (perm == null) {
|
|
|
|
|
responseNotFoundById()
|
|
|
|
|
} else {
|
|
|
|
|
responseSuccess(perm)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2017-09-26 00:42:38 +08:00
|
|
|
@GET("/{page: [0-9]+}/{size: [0-9]+}")
|
|
|
|
|
@Produces(Produces.JSON)
|
2017-09-27 15:52:50 +08:00
|
|
|
fun pagi(@Param("page") num:Int, @Param("size") size:Int) :String {
|
|
|
|
|
val page = service.pagiPerm(num,size)
|
|
|
|
|
return JsonKit.toJson(responseSuccess(page))
|
2017-09-26 00:42:38 +08:00
|
|
|
}
|
|
|
|
|
|
2017-09-25 10:06:58 +08:00
|
|
|
@POST("/byRole/{roleId: [0-9]+}")
|
|
|
|
|
@Produces(Produces.JSON)
|
2017-09-25 11:56:47 +08:00
|
|
|
fun getPermByRoleId(@Param("roleId") roleId: Int): JSONResponse {
|
2017-09-25 10:06:58 +08:00
|
|
|
val role = service.getRoleById(roleId)
|
|
|
|
|
if (role == null) {
|
|
|
|
|
return responseNotFoundById()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
val perms = service.getPermByRoleId(roleId)
|
|
|
|
|
return responseSuccess(perms)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@POST("/")
|
|
|
|
|
@Produces(Produces.JSON)
|
|
|
|
|
fun addPerm(): JSONResponse {
|
|
|
|
|
val perm: ModelPerm? = request.createEntityFromBody(ModelPerm::class.java)
|
|
|
|
|
if (perm == null) {
|
|
|
|
|
return responseInvalidParams()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
val isSuccess = service.savePerm(perm)
|
|
|
|
|
return if (isSuccess) {
|
|
|
|
|
responseSuccess(perm)
|
|
|
|
|
} else {
|
|
|
|
|
responseOperationFailed()
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@POST("/{id: [0-9]+}")
|
|
|
|
|
@Produces(Produces.JSON)
|
|
|
|
|
fun updatePerm(): JSONResponse {
|
2017-09-25 11:56:47 +08:00
|
|
|
val perm: ModelPerm? = request.createEntityFromParameters(ModelPerm::class.java)
|
2017-09-25 10:06:58 +08:00
|
|
|
if (perm == null) {
|
|
|
|
|
return responseInvalidParams()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
val isSuccess = service.updatePerm(perm)
|
|
|
|
|
return if (isSuccess) {
|
|
|
|
|
responseSuccess(perm)
|
|
|
|
|
} else {
|
|
|
|
|
responseOperationFailed()
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@POST("/del/{id: [0-9]+}")
|
|
|
|
|
@Produces(Produces.JSON)
|
2017-09-25 11:56:47 +08:00
|
|
|
fun deletePerm(@Param("id") id: Int): JSONResponse {
|
2017-09-25 10:06:58 +08:00
|
|
|
val perm = service.getPermById(id)
|
|
|
|
|
if (perm == null) {
|
|
|
|
|
return responseNotFoundById()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
val isSuccess = service.deletePerm(id)
|
|
|
|
|
return if (isSuccess) {
|
|
|
|
|
responseSuccess(id)
|
|
|
|
|
} else {
|
|
|
|
|
responseOperationFailed()
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@POST("/bindRole/{permId: [0-9]+}/{roleId: [0-9]+}")
|
|
|
|
|
@Produces(Produces.JSON)
|
2017-09-25 11:56:47 +08:00
|
|
|
fun bindPermToRole(@Param("permId") permId: Int, @Param("roleId") roleId: Int): JSONResponse {
|
2017-09-25 10:06:58 +08:00
|
|
|
val perm = service.getPermById(permId)
|
|
|
|
|
val role = service.getRoleById(roleId)
|
|
|
|
|
|
|
|
|
|
if (perm == null || role == null) {
|
|
|
|
|
return responseNotFoundById()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
val isSuccess = service.bindPermToRole(permId, roleId)
|
|
|
|
|
return if (isSuccess) {
|
|
|
|
|
responseSuccess(true)
|
|
|
|
|
} else {
|
|
|
|
|
responseOperationFailed()
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@POST("/unbindRole/{permId: [0-9]+}/{roleId: [0-9]+}")
|
|
|
|
|
@Produces(Produces.JSON)
|
2017-09-25 11:56:47 +08:00
|
|
|
fun unbindPermToRole(@Param("permId") permId: Int, @Param("roleId") roleId: Int): JSONResponse {
|
2017-09-25 10:06:58 +08:00
|
|
|
val perm = service.getPermById(permId)
|
|
|
|
|
val role = service.getRoleById(roleId)
|
|
|
|
|
|
|
|
|
|
if (perm == null || role == null) {
|
|
|
|
|
return responseNotFoundById()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
val isSuccess = service.unbindPermToRole(permId, roleId)
|
|
|
|
|
return if (isSuccess) {
|
|
|
|
|
responseSuccess(true)
|
|
|
|
|
} else {
|
|
|
|
|
responseOperationFailed()
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|