cowr_upgram/src/main/java/route/CrtlGroup.kt

83 lines
2.2 KiB
Kotlin

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()
}
}
}