| package com.moral.api.controller; | 
|   | 
| import com.alibaba.fastjson.JSON; | 
| import com.moral.api.entity.ManageMenu; | 
| import com.moral.api.entity.ManageRole; | 
| import com.moral.api.service.ManageMenuService; | 
| import com.moral.api.service.ManageRoleService; | 
| import com.moral.constant.ResponseCodeEnum; | 
| 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.web.bind.annotation.RequestBody; | 
| import org.springframework.web.bind.annotation.RequestMapping; | 
| import org.springframework.web.bind.annotation.RequestMethod; | 
| import org.springframework.web.bind.annotation.RestController; | 
|   | 
| import javax.servlet.http.HttpServletRequest; | 
| import java.util.ArrayList; | 
| import java.util.HashMap; | 
| import java.util.List; | 
| import java.util.Map; | 
|   | 
| import static org.springframework.web.util.WebUtils.getParametersStartingWith; | 
|   | 
| @Slf4j | 
| @Api(tags = {"菜单"}) | 
| @RestController | 
| @RequestMapping("/manageMenu") | 
| public class ManageMenuController { | 
|   | 
|     @Autowired | 
|     private ManageMenuService manageMenuService; | 
|   | 
|   | 
|     @ApiOperation(value = "新增菜单", notes = "新增菜单") | 
|     @ApiImplicitParams({ | 
|             @ApiImplicitParam(name = "name", value = "名称", required = true, paramType = "query", dataType = "String"), | 
|             @ApiImplicitParam(name = "url", value = "url地址", required = true, paramType = "query", dataType = "String"), | 
|             @ApiImplicitParam(name = "icon", value = "图标地址", required = true, paramType = "query", dataType = "String"), | 
|             @ApiImplicitParam(name = "parent_id", value = "父菜单", required = true, paramType = "query", dataType = "String"), | 
|             @ApiImplicitParam(name = "order", value = "同级菜单顺序", required = true, paramType = "query", dataType = "String") | 
|     }) | 
|     @RequestMapping(value = "insertOneManageMenu", method = RequestMethod.POST) | 
|     public ResultMessage insertOneManageMenu(@RequestBody Map<String, Object> parameters) { | 
|         ManageMenu manageMenu = JSON.parseObject(JSON.toJSONString(parameters), ManageMenu.class); | 
|         Map<String,Object> resultMap = manageMenuService.insertManageMenu(manageMenu); | 
|         String msg = resultMap.get("msg").toString(); | 
|         int code = Integer.parseInt(resultMap.get("code").toString()); | 
|         if (code == 0){ | 
|             return ResultMessage.ok(code,msg); | 
|         } | 
|         return ResultMessage.fail(code,msg); | 
|     } | 
|   | 
|     @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 = "url", value = "url地址", required = true, paramType = "query", dataType = "String") | 
|     }) | 
|     @RequestMapping(value = "updateManageMenuById", method = RequestMethod.POST) | 
|     public ResultMessage updateManageMenuById(@RequestBody Map<String, Object> parameters) { | 
|         System.out.println("parameters:"+parameters); | 
|         Map<String,Object> resultMap = manageMenuService.updateManageMenu(parameters); | 
|         String msg = resultMap.get("msg").toString(); | 
|         int code = Integer.parseInt(resultMap.get("code").toString()); | 
|         if (code == 0){ | 
|             return ResultMessage.ok(code,msg); | 
|         } | 
|         return ResultMessage.fail(code,msg); | 
|     } | 
|   | 
|     @ApiOperation(value = "删除菜单", notes = "删除菜单") | 
|     @ApiImplicitParams({ | 
|             @ApiImplicitParam(name = "id", value = "序号", required = true, paramType = "query", dataType = "int") | 
|     }) | 
|     @RequestMapping(value = "deleteManageMenu", method = RequestMethod.POST) | 
|     public ResultMessage deleteManageMenu(@RequestBody Map<String, Object> parameters) { | 
|         Map<String,Object> resultMap = manageMenuService.deleteManageMenu(parameters); | 
|         String msg = resultMap.get("msg").toString(); | 
|         int code = Integer.parseInt(resultMap.get("code").toString()); | 
|         if (code == 0){ | 
|             return ResultMessage.ok(code,msg); | 
|         } | 
|         return ResultMessage.fail(code,msg); | 
|     } | 
|   | 
|     @ApiOperation(value = "查询所有菜单", notes = "查询所有菜单") | 
|     @ApiImplicitParams({ | 
|     }) | 
|     @RequestMapping(value = "getAllManageMenu", method = RequestMethod.GET) | 
|     public ResultMessage getAllManageMenu(HttpServletRequest request) { | 
|         Map<String, Object> parameters = getParametersStartingWith(request, null); | 
|         /*Map<String,Object> resultMap = new HashMap<>(); | 
|         if (parameters.get("current") == null || parameters.get("size") == null){ | 
|             resultMap.put("code",ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode()); | 
|             resultMap.put("msg",ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); | 
|             return ResultMessage.fail(resultMap); | 
|         } | 
|         if (Integer.parseInt(parameters.get("current").toString())<1 || Integer.parseInt(parameters.get("size").toString())<1){ | 
|             resultMap.put("code",ResponseCodeEnum.PARAMETERS_NOT_REQUIREMENT.getCode()); | 
|             resultMap.put("msg",ResponseCodeEnum.PARAMETERS_NOT_REQUIREMENT.getMsg()); | 
|             return ResultMessage.fail(resultMap); | 
|         }*/ | 
|         List<ManageMenu> result = manageMenuService.getAllMenus(); | 
|         return ResultMessage.ok(result); | 
|     } | 
|   | 
|     @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 = "getManageMenuByNameFuzzy", method = RequestMethod.GET) | 
|     public ResultMessage getManageMenuByNameFuzzy(HttpServletRequest request) { | 
|         Map<String,Object> parameters = getParametersStartingWith(request,null); | 
|         Map<String,Object> resultMap = new HashMap<>(); | 
|         if (Integer.parseInt(parameters.get("current").toString())<1 || Integer.parseInt(parameters.get("size").toString())<1){ | 
|             resultMap.put("code",ResponseCodeEnum.PARAMETERS_NOT_REQUIREMENT.getCode()); | 
|             resultMap.put("msg",ResponseCodeEnum.PARAMETERS_NOT_REQUIREMENT.getMsg()); | 
|             return ResultMessage.fail(resultMap); | 
|         } | 
|         Map<String,Object> re = manageMenuService.getManageMenuByCondition(parameters); | 
|         return ResultMessage.ok(re); | 
|     } | 
|   | 
|     @ApiOperation(value = "通过roleId查询菜单", notes = "通过roleId查询菜单") | 
|     @ApiImplicitParams({ | 
|             @ApiImplicitParam(name = "roleId", value = "角色id", required = true, paramType = "query", dataType = "int") | 
|     }) | 
|     @RequestMapping(value = "getManageMenuByRoleId", method = RequestMethod.GET) | 
|     public ResultMessage getManageMenuByRoleId(HttpServletRequest request) { | 
|         Map<String, Object> parameters = getParametersStartingWith(request, null); | 
|         List<ManageMenu> result = manageMenuService.getManageMenuByRoleId(Integer.parseInt(parameters.get("roleId").toString())); | 
|         return ResultMessage.ok(result); | 
|     } | 
|   | 
|     @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 = "getManageMenuList", method = RequestMethod.GET) | 
|     public ResultMessage getManageMenuList(HttpServletRequest request) { | 
|         Map<String, Object> parameters = getParametersStartingWith(request, null); | 
|         List<Map<String,Object>> result = manageMenuService.getAllWithPagingQuery(parameters); | 
|         return ResultMessage.ok(result); | 
|     } | 
|   | 
|     @ApiOperation(value = "通过父菜单查询子菜单", notes = "通过父菜单查询子菜单") | 
|     @ApiImplicitParams({ | 
|             @ApiImplicitParam(name = "parent_id", value = "父菜单id", required = true, paramType = "query", dataType = "int"), | 
|             @ApiImplicitParam(name = "current", value = "页码", required = true, paramType = "query", dataType = "int"), | 
|             @ApiImplicitParam(name = "size", value = "每页数量", required = true, paramType = "query", dataType = "int") | 
|     }) | 
|     @RequestMapping(value = "getManageMenuByParentId", method = RequestMethod.GET) | 
|     public ResultMessage getManageMenuByParentId(HttpServletRequest request) { | 
|         Map<String,Object> parameters = getParametersStartingWith(request,null); | 
|         Map<String,Object> resultMap = new HashMap<>(); | 
|         if (parameters.get("parent_id") == null || parameters.get("current") == null || parameters.get("size") == null){ | 
|             resultMap.put("code",ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode()); | 
|             resultMap.put("msg",ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); | 
|             return ResultMessage.fail(resultMap); | 
|         } | 
|         if (Integer.parseInt(parameters.get("current").toString())<1 || Integer.parseInt(parameters.get("size").toString())<1){ | 
|             resultMap.put("code",ResponseCodeEnum.PARAMETERS_NOT_REQUIREMENT.getCode()); | 
|             resultMap.put("msg",ResponseCodeEnum.PARAMETERS_NOT_REQUIREMENT.getMsg()); | 
|             return ResultMessage.fail(resultMap); | 
|         } | 
|         List<Map<String,Object>> re = manageMenuService.getManageMenuByParentId(parameters); | 
|         return ResultMessage.ok(re); | 
|     } | 
|   | 
|     @ApiOperation(value = "通过roleId查询菜单", notes = "通过roleId查询菜单") | 
|     @ApiImplicitParams({ | 
|             @ApiImplicitParam(name = "roleId", value = "角色id", required = true, paramType = "query", dataType = "int") | 
|     }) | 
|     @RequestMapping(value = "getManageChildMenuByRoleId", method = RequestMethod.GET) | 
|     public ResultMessage getManageChildMenuByRoleId(HttpServletRequest request) { | 
|         Map<String, Object> parameters = getParametersStartingWith(request, null); | 
|         List<ManageMenu> result = manageMenuService.getManageChildMenuByRoleId(Integer.parseInt(parameters.get("roleId").toString())); | 
|         return ResultMessage.ok(result); | 
|     } | 
|   | 
|     @ApiOperation(value = "查询所有父菜单", notes = "查询所有父菜单") | 
|     @RequestMapping(value = "getManageParentMenu", method = RequestMethod.GET) | 
|     public ResultMessage getManageParentMenu(HttpServletRequest request) { | 
|         Map<String, Object> parameters = getParametersStartingWith(request, null); | 
|         Map<String,Object> result = manageMenuService.getManageParentMenu(parameters); | 
|         return ResultMessage.ok(result); | 
|     } | 
| } |