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