package route import config.Const import model.JSONResponse import model.ModelGroup 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("/group") class CrtlGroup : Controller() { private val service: Service = Service() @GET("/{userId: [0-9]+}") @Produces(Produces.JSON) fun getGroupByUser(@Param userId: Int): JSONResponse { val user = service.getUserById(userId) return if (user == null) { responseNotFoundById() } else { val group = service.getGroupByUserId(userId) if (group == null) { JSONResponse(Const.codeResourceNotFound, "用户没有绑定角色", null) } else { responseSuccess(group) } } } @POST("/") @Produces(Produces.JSON) fun addGroup(): JSONResponse { val group: ModelGroup? = request.createEntityFromBody(ModelGroup::class.java) if (group == null) { return responseInvalidParams() } val isSuccess = service.saveGroup(group) return if (isSuccess) { responseSuccess(isSuccess) } else { responseOperationFailed() } } @POST("/{groupId: [0-9]+}") @Produces(Produces.JSON) fun updateGroup(@Param groupId: Int): JSONResponse { val group: ModelGroup? = request.createEntityFromBody(ModelGroup::class.java) if (group == null) { return responseInvalidParams() } val isSuccess = service.updateGroup(group) return if (isSuccess) { responseSuccess(group) } else { responseOperationFailed() } } @POST("/del/{id: [0-9]+}") @Produces(Produces.JSON) fun delGroup(@Param id: Int): JSONResponse { val group = service.getGroupById(id) if (group == null) { responseNotFoundById() } val isSuccess = service.deleteGroup(id) return if (isSuccess) { responseSuccess(id) } else { responseOperationFailed() } } }