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.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("/menu") 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(HttpServletRequest request) { Map parameters = WebUtils.getParametersStartingWith(request, null); ManageMenu manageMenu = JSON.parseObject(JSON.toJSONString(parameters), ManageMenu.class); Map resultMap = manageMenuService.insertManageMenu(manageMenu); String msg = resultMap.get("msg").toString(); boolean flag = Boolean.parseBoolean(resultMap.get("flag").toString()); if (flag){ return ResultMessage.ok(msg); } return ResultMessage.fail(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(HttpServletRequest request) { Map parameters = WebUtils.getParametersStartingWith(request, null); Map resultMap = manageMenuService.updateManageMenu(parameters); String msg = resultMap.get("msg").toString(); boolean flag = Boolean.parseBoolean(resultMap.get("flag").toString()); if (flag){ return ResultMessage.ok(msg); } return ResultMessage.fail(msg); } @ApiOperation(value = "删除角色", notes = "删除角色") @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "序号", required = true, paramType = "query", dataType = "int") }) @RequestMapping(value = "deleteManageMenu", method = RequestMethod.POST) public ResultMessage deleteManageMenu(HttpServletRequest request) { Map parameters = WebUtils.getParametersStartingWith(request, null); Map resultMap = manageMenuService.deleteManageMenu(parameters); String msg = resultMap.get("msg").toString(); boolean flag = Boolean.parseBoolean(resultMap.get("flag").toString()); if (flag){ return ResultMessage.ok(msg); } return ResultMessage.fail(msg); } @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 = "getAllManageMenu", method = RequestMethod.GET) public ResultMessage getAllManageMenu(HttpServletRequest request) { Map parameters = getParametersStartingWith(request, null); Map 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 result = manageMenuService.getAllWithPagingQuery(parameters); 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 parameters = getParametersStartingWith(request, null); Map resultMap = new HashMap<>(); if (parameters.get("name") == 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 re = manageMenuService.getManageMenuByNameFuzzy(parameters); return ResultMessage.ok(re); } }