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