package com.moral.api.controller;
|
|
import com.alibaba.fastjson.JSON;
|
import com.moral.api.entity.ManageRole;
|
import com.moral.api.service.ManageRoleMenuService;
|
import com.moral.api.service.ManageRoleService;
|
import com.moral.constant.ResultMessage;
|
import com.moral.util.WebUtils;
|
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.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.data.redis.core.RedisTemplate;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.servlet.http.HttpServletRequest;
|
import java.util.ArrayList;
|
import java.util.Arrays;
|
import java.util.List;
|
import java.util.Map;
|
|
import static org.springframework.web.util.WebUtils.getParametersStartingWith;
|
|
@Slf4j
|
@Api(tags = {"角色"})
|
@RestController
|
@RequestMapping("/manageRole")
|
public class ManageRoleController {
|
|
@Autowired
|
private ManageRoleService manageRoleService;
|
|
@Autowired
|
private ManageRoleMenuService manageRoleMenuService;
|
|
@Autowired
|
private RedisTemplate redisTemplate;
|
|
@ApiOperation(value = "获取所有角色", notes = "获取所有角色")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "current", value = "页码", required = true, paramType = "query", dataType = "int"),
|
@ApiImplicitParam(name = "size", value = "每页数量", required = true, paramType = "query", dataType = "int")
|
})
|
@RequestMapping(value = "getAllManageRole", method = RequestMethod.GET)
|
public ResultMessage getAllManageRole(HttpServletRequest request) {
|
Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null);
|
Map<String,Object> re = manageRoleService.getAllWithPagingQuery(parameters);
|
return ResultMessage.ok(re);
|
}
|
|
@ApiOperation(value = "新增角色", notes = "新增角色")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "name", value = "名称", required = true, paramType = "query", dataType = "String"),
|
@ApiImplicitParam(name = "desc", value = "备注", required = true, paramType = "query", dataType = "String"),
|
@ApiImplicitParam(name = "menuIds", value = "菜单集合", required = true, paramType = "query", dataType = "String")
|
})
|
@RequestMapping(value = "insertOneManageRole", method = RequestMethod.POST)
|
@ResponseBody
|
public ResultMessage insertOneManageRole(@RequestBody Map<String, Object> parameters,HttpServletRequest request) {
|
List list = new ArrayList();
|
if (parameters.get("menuIds") != null){
|
String menuIdsStr = parameters.get("menuIds").toString();
|
menuIdsStr = menuIdsStr.replace(" ","");
|
if (menuIdsStr.length() > 2){
|
menuIdsStr = menuIdsStr.substring(1,menuIdsStr.length()-1);
|
String[] menuIdsArray = menuIdsStr.split(",");
|
list = Arrays.asList(menuIdsArray);
|
}
|
parameters.remove("menuIds");
|
}
|
ManageRole manageRole = JSON.parseObject(JSON.toJSONString(parameters), ManageRole.class);
|
Map<String,Object> resultMap = manageRoleService.insertOne(manageRole,list);
|
String msg = resultMap.get("msg").toString();
|
int code = Integer.parseInt(resultMap.get("code").toString());
|
if (code == 0){
|
return ResultMessage.ok(msg);
|
}
|
return ResultMessage.fail(msg);
|
//return null;
|
}
|
|
@ApiOperation(value = "更新角色", notes = "更新角色")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "id", value = "序号", required = true, paramType = "query", dataType = "int"),
|
@ApiImplicitParam(name = "name", value = "名称", required = true, paramType = "query", dataType = "String"),
|
@ApiImplicitParam(name = "desc", value = "备注", required = true, paramType = "query", dataType = "String")
|
})
|
@RequestMapping(value = "updateManageRole", method = RequestMethod.POST)
|
public ResultMessage updateManageRole(@RequestBody Map<String, Object> parameters) {
|
Map<String,Object> resultMap = manageRoleService.updateManageRole(parameters);
|
String msg = resultMap.get("msg").toString();
|
int code = Integer.parseInt(resultMap.get("code").toString());
|
if (code == 0){
|
return ResultMessage.ok(msg);
|
}
|
return ResultMessage.fail(msg);
|
}
|
|
@ApiOperation(value = "删除角色", notes = "删除角色")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "id", value = "序号", required = true, paramType = "query", dataType = "int")
|
})
|
@RequestMapping(value = "deleteManageRole", method = RequestMethod.POST)
|
public ResultMessage deleteManageRole(@RequestBody Map<String, Object> parameters) {
|
Map<String,Object> resultMap = manageRoleService.deleteManageRole(parameters);
|
String msg = resultMap.get("msg").toString();
|
int code = Integer.parseInt(resultMap.get("code").toString());
|
if (code == 0){
|
return ResultMessage.ok(msg);
|
}
|
return ResultMessage.fail(msg);
|
}
|
|
@ApiOperation(value = "角色模糊查询", notes = "角色模糊查询")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "name", value = "名称", required = true, paramType = "query", dataType = "String"),
|
@ApiImplicitParam(name = "current", value = "页码", required = true, paramType = "query", dataType = "int"),
|
@ApiImplicitParam(name = "size", value = "每页数量", required = true, paramType = "query", dataType = "int")
|
})
|
@RequestMapping(value = "getManageRoleByNameFuzzy", method = RequestMethod.GET)
|
public ResultMessage getManageRoleByNameFuzzy(HttpServletRequest request) {
|
Map<String, Object> parameters = getParametersStartingWith(request, null);
|
Map<String,Object> re = manageRoleService.getManageRoleByNameFuzzy(parameters);
|
return ResultMessage.ok(re);
|
}
|
|
@ApiOperation(value = "更新角色菜单", notes = "更新角色菜单")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "id", value = "序号", required = true, paramType = "query", dataType = "int")
|
})
|
@RequestMapping(value = "updateRoleMenu", method = RequestMethod.POST)
|
public ResultMessage updateRoleMenu(@RequestBody Map<String, Object> parameters) {
|
List list = new ArrayList();
|
if (parameters.get("menuIds") != null){
|
String menuIdsStr = parameters.get("menuIds").toString();
|
menuIdsStr = menuIdsStr.replace(" ","");
|
if (menuIdsStr.length() > 2){
|
menuIdsStr = menuIdsStr.substring(1,menuIdsStr.length()-1);
|
String[] menuIdsArray = menuIdsStr.split(",");
|
list = Arrays.asList(menuIdsArray);
|
}
|
parameters.remove("menuIds");
|
}
|
int id = Integer.parseInt(parameters.get("id").toString());
|
Map<String,Object> re = manageRoleMenuService.updateRoleMenu(list,id);
|
return ResultMessage.ok(re);
|
}
|
}
|