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