|  |  |  | 
|---|
|  |  |  | package com.moral.api.controller; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import com.moral.api.entity.Menu; | 
|---|
|  |  |  | import com.moral.api.pojo.dto.menu.MenuDTO; | 
|---|
|  |  |  | import com.moral.api.pojo.dto.menu.MenuQueryNamesDTO; | 
|---|
|  |  |  | import com.moral.api.pojo.dto.menu.MenuQueryDTO; | 
|---|
|  |  |  | import com.moral.api.pojo.form.menu.MenuDeleteForm; | 
|---|
|  |  |  | import com.moral.api.pojo.form.menu.MenuInsertForm; | 
|---|
|  |  |  | import com.moral.api.pojo.vo.menu.MenuDeleteVO; | 
|---|
|  |  |  | import com.moral.api.pojo.vo.menu.MenuInsertVO; | 
|---|
|  |  |  | import com.moral.api.pojo.vo.menu.MenuQueryVO; | 
|---|
|  |  |  | import com.moral.api.pojo.form.menu.MenuQueryNamesForm; | 
|---|
|  |  |  | import com.moral.api.pojo.form.menu.MenuUpdateForm; | 
|---|
|  |  |  | import com.moral.api.pojo.vo.menu.*; | 
|---|
|  |  |  | import com.moral.api.service.MenuService; | 
|---|
|  |  |  | import com.moral.constant.ResponseCodeEnum; | 
|---|
|  |  |  | import com.moral.constant.ResultMessage; | 
|---|
|  |  |  | import io.swagger.annotations.Api; | 
|---|
|  |  |  | import lombok.extern.slf4j.Slf4j; | 
|---|
|  |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
|---|
|  |  |  | import org.springframework.util.ObjectUtils; | 
|---|
|  |  |  | import org.springframework.web.bind.annotation.*; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import java.util.ArrayList; | 
|---|
|  |  |  | import java.util.Arrays; | 
|---|
|  |  |  | import java.util.List; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * @ClassName MenuController | 
|---|
|  |  |  | 
|---|
|  |  |  | @RestController | 
|---|
|  |  |  | @RequestMapping("/menu") | 
|---|
|  |  |  | public class MenuController { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | MenuService menuService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @GetMapping("queryMock") | 
|---|
|  |  |  | public ResultMessage queryMock() { | 
|---|
|  |  |  | MenuQueryDTO dto = new MenuQueryDTO(); | 
|---|
|  |  |  | Menu menu1 = new Menu(); | 
|---|
|  |  |  | Menu menu11 = new Menu(); | 
|---|
|  |  |  | Menu menu111 = new Menu(); | 
|---|
|  |  |  | Menu menu12 = new Menu(); | 
|---|
|  |  |  | Menu menu121 = new Menu(); | 
|---|
|  |  |  | Menu menu13 = new Menu(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Menu menu2 = new Menu(); | 
|---|
|  |  |  | Menu menu21 = new Menu(); | 
|---|
|  |  |  | Menu menu211 = new Menu(); | 
|---|
|  |  |  | Menu menu22 = new Menu(); | 
|---|
|  |  |  | Menu menu23 = new Menu(); | 
|---|
|  |  |  | Menu menu24 = new Menu(); | 
|---|
|  |  |  | Menu menu241 = new Menu(); | 
|---|
|  |  |  | Menu menu2411 = new Menu(); | 
|---|
|  |  |  | menu1.setName("menu 1"); | 
|---|
|  |  |  | menu1.setId(1); | 
|---|
|  |  |  | menu11.setName("menu 1-1"); | 
|---|
|  |  |  | menu11.setId(2); | 
|---|
|  |  |  | menu111.setName("menu 1-1-1"); | 
|---|
|  |  |  | menu111.setId(3); | 
|---|
|  |  |  | menu12.setName("menu 1-2"); | 
|---|
|  |  |  | menu12.setId(4); | 
|---|
|  |  |  | menu121.setName("menu 1-2-1"); | 
|---|
|  |  |  | menu121.setId(5); | 
|---|
|  |  |  | menu13.setName("menu 1-3"); | 
|---|
|  |  |  | menu13.setId(6); | 
|---|
|  |  |  | menu2.setName("menu 2"); | 
|---|
|  |  |  | menu2.setId(7); | 
|---|
|  |  |  | menu21.setName("menu 2-1"); | 
|---|
|  |  |  | menu21.setId(8); | 
|---|
|  |  |  | menu211.setName("menu 2-1-1"); | 
|---|
|  |  |  | menu211.setId(9); | 
|---|
|  |  |  | menu22.setName("menu 2-2"); | 
|---|
|  |  |  | menu22.setId(10); | 
|---|
|  |  |  | menu23.setName("menu 2-3"); | 
|---|
|  |  |  | menu23.setId(11); | 
|---|
|  |  |  | menu24.setName("menu 2-4"); | 
|---|
|  |  |  | menu24.setId(12); | 
|---|
|  |  |  | menu241.setName("menu 2-4-1"); | 
|---|
|  |  |  | menu241.setId(13); | 
|---|
|  |  |  | menu2411.setName("menu 2-4-1-1"); | 
|---|
|  |  |  | menu2411.setId(14); | 
|---|
|  |  |  | menu12.setChildren(Arrays.asList(menu121)); | 
|---|
|  |  |  | menu11.setChildren(Arrays.asList(menu111)); | 
|---|
|  |  |  | menu1.setChildren(Arrays.asList(menu11, menu12, menu13)); | 
|---|
|  |  |  | menu241.setChildren(Arrays.asList(menu2411)); | 
|---|
|  |  |  | menu24.setChildren(Arrays.asList(menu241)); | 
|---|
|  |  |  | menu21.setChildren(Arrays.asList(menu211)); | 
|---|
|  |  |  | menu2.setChildren(Arrays.asList(menu21, menu22, menu23, menu24)); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | MenuDTO dto1 = new MenuDTO(); | 
|---|
|  |  |  | MenuDTO dto2 = new MenuDTO(); | 
|---|
|  |  |  | dto1.setMenu(menu1); | 
|---|
|  |  |  | dto2.setMenu(menu2); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | dto.setDtos(Arrays.asList(dto1, dto2)); | 
|---|
|  |  |  | dto.setCode(ResponseCodeEnum.SUCCESS.getCode()); | 
|---|
|  |  |  | dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | MenuQueryVO vo = MenuQueryVO.convert(dto); | 
|---|
|  |  |  | return new ResultMessage(dto.getCode(), dto.getMsg(), vo); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @GetMapping("query") | 
|---|
|  |  |  | public ResultMessage query() { | 
|---|
|  |  |  | //执行查询业务 | 
|---|
|  |  |  | MenuQueryDTO dto = menuService.queryAllMenu(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //查询组织admin角色的所有菜单,非父子结构 | 
|---|
|  |  |  | MenuQueryDTO dto = menuService.queryAllMenus(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //转换为前端所需参数 | 
|---|
|  |  |  | MenuQueryVO vo = MenuQueryVO.convert(dto); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return new ResultMessage(dto.getCode(), dto.getMsg(), vo); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @GetMapping("queryAdmin") | 
|---|
|  |  |  | public ResultMessage queryAdmin(@RequestParam Integer organizationId) { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //执行查询业务 | 
|---|
|  |  |  | MenuQueryDTO dto = menuService.queryAdminGroupMenusByOrganizationId(organizationId); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //转换为前端所需参数 | 
|---|
|  |  |  | MenuQueryVO vo = MenuQueryVO.convert(dto); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return new ResultMessage(dto.getCode(), dto.getMsg(), vo); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @GetMapping("queryNames") | 
|---|
|  |  |  | public ResultMessage queryNames(MenuQueryNamesForm form) { | 
|---|
|  |  |  | //处理查询业务 | 
|---|
|  |  |  | MenuQueryNamesDTO dto = menuService.queryNames(form); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //转换前端所需参数 | 
|---|
|  |  |  | MenuQueryNamesVO vo = MenuQueryNamesVO.convert(dto); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return new ResultMessage(dto.getCode(), dto.getMsg(), vo); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | //处理插入业务 | 
|---|
|  |  |  | MenuDTO dto = menuService.insertMenu(form); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //转换前端所需参数 | 
|---|
|  |  |  | MenuInsertVO vo = MenuInsertVO.convert(dto); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return new ResultMessage(dto.getCode(), dto.getMsg(), vo); | 
|---|
|  |  |  | return new ResultMessage(dto.getCode(), dto.getMsg(),null); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @PostMapping("delete") | 
|---|
|  |  |  | public ResultMessage delete(@RequestBody MenuDeleteForm form){ | 
|---|
|  |  |  | public ResultMessage delete(@RequestBody MenuDeleteForm form) { | 
|---|
|  |  |  | //判断是否缺少参数 | 
|---|
|  |  |  | if (!form.valid()) | 
|---|
|  |  |  | return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), | 
|---|
|  |  |  | 
|---|
|  |  |  | return new ResultMessage(dto.getCode(), dto.getMsg(), vo); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @PostMapping("update") | 
|---|
|  |  |  | public ResultMessage update(@RequestBody MenuUpdateForm form) { | 
|---|
|  |  |  | //判断是否缺少参数 | 
|---|
|  |  |  | if (!form.valid()) | 
|---|
|  |  |  | return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), | 
|---|
|  |  |  | ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //处理更新业务 | 
|---|
|  |  |  | MenuDTO dto = menuService.updateMenu(form); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //转换前端所需参数 | 
|---|
|  |  |  | MenuUpdateVO vo = MenuUpdateVO.convert(dto); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return new ResultMessage(dto.getCode(), dto.getMsg(), vo); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|