package route import com.jfinal.kit.JsonKit import com.jfinal.plugin.activerecord.Db import com.jfinal.plugin.activerecord.Record import model.JSONResponse import model.ModelPerm import ro.pippo.controller.* import ro.pippo.controller.extractor.Param import service.Service import util.* @Path("/perm") class CtrlPerm : Controller() { private val service = Service() @GET("/{id: [0-9]+}") @Produces(Produces.JSON) fun getPermById(@Param("id") id: Int): JSONResponse { val perm = service.getPermById(id) return if (perm == null) { responseNotFoundById() } else { responseSuccess(perm) } } //校验用户名是否存在 @POST("/checkName/{name}") @Produces(Produces.JSON) fun checkName(@Param("name") name : String ) :JSONResponse{ if ( null == name || "" == name.trim()){ responseCheckNameFailed() } service.getPremByName(name) ?: return responseCheckNameFailed() return responseSuccess(true) } @GET("/{page: [0-9]+}/{size: [0-9]+}") @Produces(Produces.JSON) fun pagi(@Param("page") num:Int, @Param("size") size:Int) :String { val page = service.pagiPerm(num,size) return JsonKit.toJson(responseSuccess(page)) } @POST("/byRole/{roleId: [0-9]+}") @Produces(Produces.JSON) fun getPermByRoleId(@Param("roleId") roleId: Int): JSONResponse { 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.createEntityFromParameters(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 { val perm: ModelPerm? = request.createEntityFromParameters(ModelPerm::class.java) if (perm == null) { return responseInvalidParams() } val isSuccess = service.updatePerm(perm) return if (isSuccess) { responseSuccess(perm) } else { responseOperationFailed() } } //更新 @POST("/update") @Produces(Produces.JSON) fun updatePer() :JSONResponse { if (request.parameters["id"] != null) { val record = Record() updateUtil(record,request) val isSuccess = Db.update("perm","id",record) return if (isSuccess){ responseSuccess(true) } else{ responseUpdatePermFailed() } }else { return responseUpdatePermFailed() } } @POST("/del/{id: [0-9]+}") @Produces(Produces.JSON) fun deletePerm(@Param("id") id: Int): JSONResponse { 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) fun bindPermToRole(@Param("permId") permId: Int, @Param("roleId") roleId: Int): JSONResponse { 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) fun unbindPermToRole(@Param("permId") permId: Int, @Param("roleId") roleId: Int): JSONResponse { 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() } } }