83 lines
2.2 KiB
Kotlin
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()
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|