package com.kidgrow.usercenter.controller;
import com.kidgrow.common.model.PageResult;
import com.kidgrow.common.model.ResultBody;
import com.kidgrow.common.model.SysRole;
import com.kidgrow.usercenter.service.ISysRoleService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.MapUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
/**
* 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020
*
* @Description: 角色管理
* @Project:
* @CreateDate: Created in 2020/2/13 15:50
* @Author: liuke
*/
@Slf4j
@RestController
@Api(tags = "角色模块api")
public class SysRoleController {
@Autowired
private ISysRoleService sysRoleService;
/**
* 后台管理查询角色
* @param params
* @return
*/
@ApiOperation(value = "后台管理查询角色")
@GetMapping("/roles")
public PageResult findRoles(@RequestParam Map params) {
return sysRoleService.findRoles(params);
}
/**
* 修改角色状态
*
* @param params
* @return
*/
@ApiOperation(value = "修改角色状态")
@GetMapping("/roles/updateEnabled")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "角色id", required = true, dataType = "Integer"),
@ApiImplicitParam(name = "enabled", value = "是否启用", required = true, dataType = "Boolean")
})
public ResultBody updateEnabled(@RequestParam Map params) {
Long id = MapUtils.getLong(params, "id");
return sysRoleService.updateEnabled(params);
}
/**
* 用户管理查询所有角色
* @return
*/
@ApiOperation(value = "后台管理查询角色")
@GetMapping("/allRoles")
public ResultBody> findAll() {
List result = sysRoleService.findAll();
return ResultBody.ok().data(result);
}
/**
* 用户管理根据条件查询角色
* @return
*/
@ApiOperation(value = "后台管理查询角色")
@GetMapping("/findByMap")
public ResultBody> findByMap(@RequestParam Map params) {
List result = sysRoleService.findByMap(params);
return ResultBody.ok().data(result);
}
/**
* 角色新增或者更新
*
* @param sysRole
* @return
*/
@PostMapping("/roles/saveOrUpdate")
public ResultBody saveOrUpdate(@RequestBody SysRole sysRole) {
return sysRoleService.saveOrUpdateRole(sysRole);
}
/**
* 后台管理删除角色
* delete /role/1
*
* @param id
*/
@ApiOperation(value = "后台管理删除角色")
@DeleteMapping("/roles/{id}")
public ResultBody deleteRole(@PathVariable Long id) {
try {
if (id == 1L) {
return ResultBody.failed().msg("管理员不可以删除");
}
sysRoleService.deleteRole(id);
return ResultBody.ok().msg("操作成功");
} catch (Exception e) {
log.error("role-deleteRole-error", e);
return ResultBody.failed().msg("操作失败");
}
}
}