| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159 |
- package cn.com.goldenwater.dcproj.controller.system;
- import cn.com.goldenwater.core.web.BaseController;
- import cn.com.goldenwater.core.web.BaseResponse;
- import cn.com.goldenwater.dcproj.param.GetMenuByUserIdParam;
- import cn.com.goldenwater.dcproj.param.InsertMenuParam;
- import cn.com.goldenwater.dcproj.param.UpdateMenuParam;
- import cn.com.goldenwater.dcproj.target.Authority;
- import cn.com.goldenwater.dcproj.target.VerifyBean;
- import cn.com.goldenwater.id.util.UuidUtil;
- import cn.com.goldenwater.dcproj.dto.MenuDto;
- import cn.com.goldenwater.dcproj.model.Menu;
- import cn.com.goldenwater.dcproj.param.MenuParam;
- import cn.com.goldenwater.dcproj.service.MenuService;
- import com.github.pagehelper.PageInfo;
- import io.swagger.annotations.Api;
- import io.swagger.annotations.ApiOperation;
- import io.swagger.annotations.ApiParam;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.util.Assert;
- import org.springframework.web.bind.annotation.*;
- import java.util.ArrayList;
- import java.util.List;
- /**
- * @author lune
- * @date 2018-2-13
- */
- @Api(value = "菜单管理", tags = "001菜单管理")
- @RestController
- @RequestMapping("/sys/menus")
- public class MenuController extends BaseController {
- private Logger logger = LoggerFactory.getLogger(getClass());
- @Autowired
- private MenuService menuService;
- @ApiOperation(value = "添加菜单")
- @RequestMapping(value = "insert", method = RequestMethod.POST)
- public BaseResponse<String> insert(@ApiParam(name = "menu", value = "Menu", required = true) @RequestBody Menu menu) {
- String uuid = UuidUtil.uuid(); // 生成uuid
- menu.setId(uuid);
- int ret = menuService.insert(menu);
- return buildSuccessResponse(uuid);
- }
- @ApiOperation(value = "根据ID删除菜单")
- @RequestMapping(value = "/{id}", method = RequestMethod.POST)
- public BaseResponse delete(@ApiParam(name = "id", value = "id", required = true) @PathVariable String id) {
- int ret = menuService.delete(id);
- return buildSuccessResponse();
- }
- @ApiOperation(value = "更新菜单信息")
- @RequestMapping(value = "/update", method = RequestMethod.POST)
- public BaseResponse update(@ApiParam(name = "menu", value = "Menu", required = true) @RequestBody Menu menu) {
- Assert.notNull(menu.getId(), "主键id为必填参数");
- int ret = menuService.update(menu);
- return buildSuccessResponse();
- }
- @ApiOperation(value = "根据ID获取菜单(单表)")
- @RequestMapping(value = "/{id}", method = RequestMethod.GET)
- public BaseResponse<Menu> get(@ApiParam(name = "id", value = "id", required = true) @PathVariable String id) {
- Menu menu = menuService.get(id);
- return buildSuccessResponse(menu);
- }
- @ApiOperation(value = "根据ID获取子菜单")
- @RequestMapping(value = "/list-by-parent/{id}", method = RequestMethod.GET)
- public BaseResponse<List<Menu>> getChildren(@ApiParam(name = "id", value = "id", required = true) @PathVariable String id) {
- Assert.notNull(id, "ID为必填参数");
- MenuParam param = new MenuParam();
- param.setParentId(id);
- List<Menu> list = menuService.findList(param);
- return buildSuccessResponse(list);
- }
- @Authority
- @VerifyBean
- @ApiOperation(value = "根据用户ID获取菜单(列表、树)")
- @RequestMapping(value = "list-by-user", method = RequestMethod.POST)
- public BaseResponse<PageInfo<Menu>> getMenuByUserId(@RequestBody GetMenuByUserIdParam p) throws Exception {
- PageInfo<Menu> list = menuService.getMenuByUserId(p);
- return buildSuccessResponse(list);
- }
- @VerifyBean
- @ApiOperation(value = "添加菜单(级联添加权限表)")
- @RequestMapping(value = "insert-menu-priv", method = RequestMethod.POST)
- public BaseResponse<Menu> add(@ApiParam(name = "menuParam", value = "menuParam", required = true) @RequestBody InsertMenuParam menuParam) throws Exception {
- Menu menu = menuService.addMenuAndPriv(menuParam);
- return buildSuccessResponse(menu);
- }
- @VerifyBean
- @ApiOperation(value = "更新菜单(级联更新权限表)")
- @RequestMapping(value = "update-menu-priv", method = RequestMethod.POST)
- public BaseResponse<Menu> updateWithPriv(@ApiParam(name = "menu", value = "menu", required = true) @RequestBody UpdateMenuParam menu) throws Exception {
- Menu m = menuService.updateWithPriv(menu);
- return buildSuccessResponse(m);
- }
- @ApiOperation(value = "删除菜单(级联删除权限表)")
- @RequestMapping(value = "/delete-menu-priv/{id}", method = RequestMethod.POST)
- public BaseResponse deleteWithPriv(@ApiParam(name = "id", value = "id", required = true) @PathVariable String id) throws Exception {
- Assert.notNull(id, "ID为必填参数");
- MenuParam param = new MenuParam();
- param.setParentId(id);
- List<Menu> list = menuService.findList(param);
- if (list != null && !list.isEmpty()) {
- return buildFailResponse("当前菜单存在下级菜单,请先删除下级菜单!");
- }
- menuService.deleteWithPriv(id);
- return buildSuccessResponse();
- }
- @ApiOperation(value = "分页获取菜单列表-不包含分页信息")
- @RequestMapping(value = "/page", method = RequestMethod.POST)
- public BaseResponse<List<MenuDto>> getMenuPage(@ApiParam(name = "menuParam", value = "菜单", required = false) @RequestBody(required = false) MenuParam menuParam) {
- List<MenuDto> list = menuService.findPageDto(menuParam);
- return buildSuccessResponse(list);
- }
- @ApiOperation(value = "分页获取菜单列表-包含分页信息")
- @RequestMapping(value = "/pageInfo", method = RequestMethod.POST)
- public BaseResponse<PageInfo<MenuDto>> getMenuPageInfo(@ApiParam(name = "menuParam", value = "MenuParam", required = false) @RequestBody MenuParam menuParam) {
- PageInfo<MenuDto> page = menuService.findPageInfoDto(menuParam);
- return buildSuccessResponse(page);
- }
- @ApiOperation(value = "查询所有菜单(权限id不为空,菜单中权限id与之相等,则菜单中的checked=true)")
- @RequestMapping(value = "/findMenuList", method = RequestMethod.POST)
- public BaseResponse<List<MenuDto>> findMenuList(@ApiParam(name = "menuParam", value = "菜单", required = false) @RequestBody MenuParam menuParam) {
- List<MenuDto> list = menuService.findMenuList(menuParam);
- return buildSuccessResponse(list);
- }
- @ApiOperation(value = "更新菜单与权限的关联关系")
- @RequestMapping(value = "/updateMemuPriv", method = RequestMethod.POST)
- public BaseResponse updateMemuPriv(@ApiParam(name = "string", value = "menuIds", required = true) @RequestBody List<String> menuIds, String privId) {
- Assert.notEmpty(menuIds, "菜单Id集合不能为空");
- Assert.notNull(privId, "权限Id不能为空");
- ArrayList<Menu> menus = new ArrayList<>();
- for (String id : menuIds) {
- Menu menu = new Menu();
- menu.setId(id);
- menu.setPrivId(privId);
- menus.add(menu);
- }
- menuService.updateMemuPriv(menus, privId);
- return buildSuccessResponse();
- }
- }
|