MenuController.java 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. package com.huaxu.controller;
  2. import com.baomidou.mybatisplus.core.metadata.IPage;
  3. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  4. import com.huaxu.common.FileUploadUtil;
  5. import com.huaxu.entity.UserEntity;
  6. import com.huaxu.model.AjaxMessage;
  7. import com.huaxu.model.Pagination;
  8. import com.huaxu.model.ResultStatus;
  9. import io.swagger.annotations.Api;
  10. import io.swagger.annotations.ApiOperation;
  11. import io.swagger.annotations.ApiParam;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.beans.factory.annotation.Value;
  14. import org.springframework.stereotype.Controller;
  15. import org.springframework.validation.annotation.Validated;
  16. import org.springframework.ui.ModelMap;
  17. import java.io.IOException;
  18. import java.util.ArrayList;
  19. import java.util.List;
  20. import java.util.Map;
  21. import java.util.Date;
  22. import org.springframework.web.bind.annotation.*;
  23. import com.huaxu.entity.MenuEntity;
  24. import com.huaxu.service.MenuService;
  25. import org.springframework.web.multipart.MultipartFile;
  26. /**
  27. * 菜单页面控制器
  28. * @author WYY
  29. * @date 2020-10-26 16:15
  30. */
  31. @RestController
  32. @RequestMapping("/menu")
  33. @Api(tags = "菜单管理")
  34. public class MenuController {
  35. @Autowired
  36. private MenuService menuService;
  37. @Value("${UMIS.sys_config_path}")
  38. private String baseDir;
  39. @ApiOperation(value = "分页查询菜单信息")
  40. @RequestMapping(value = "/selectPage", method = RequestMethod.POST)
  41. public AjaxMessage<Pagination<MenuEntity>> list(@RequestParam Integer pageNum, @RequestParam Integer pageSize, @ApiParam(value = "菜单信息", required = false) @RequestBody MenuEntity menuEntity) {
  42. IPage<MenuEntity> iPage = new Page<>(pageNum, pageSize);
  43. iPage = menuService.findPage(iPage, menuEntity);
  44. Pagination<MenuEntity> pages = new Pagination<>(iPage);
  45. return new AjaxMessage<>(ResultStatus.OK, pages);
  46. }
  47. /**
  48. * 新增
  49. */
  50. @ApiOperation(value = "新增菜单信息")
  51. @RequestMapping(value = "/add", method = RequestMethod.POST)
  52. public AjaxMessage<Integer> addMenu(@ApiParam(value = "菜单信息", required = true) @RequestBody MenuEntity menu) {
  53. int result = menuService.addMenu(menu) ? 1 : 0;
  54. return new AjaxMessage<>(ResultStatus.OK, result);
  55. }
  56. /**
  57. * 批量新增
  58. */
  59. @ApiOperation(value = "批量新增菜单信息")
  60. @RequestMapping(value = "/addBatch", method = RequestMethod.POST)
  61. public AjaxMessage<Integer> addMenus(@ApiParam(value = "菜单信息", required = true) @RequestBody ArrayList<MenuEntity> menus) {
  62. int result = menuService.saveBatch(menus) ? 1 : 0;
  63. return new AjaxMessage<>(ResultStatus.OK, result);
  64. }
  65. /**
  66. * 新增
  67. */
  68. @ApiOperation(value = "菜单图标")
  69. @RequestMapping(value = "addMenuImag", method = RequestMethod.POST)
  70. @ResponseBody
  71. public AjaxMessage<String> addUserPhoto(@ApiParam(value = "菜单图标", required = true) @RequestParam("avatarfile") MultipartFile file) {
  72. String avatar = "";
  73. if (!file.isEmpty()) {
  74. try {
  75. avatar = FileUploadUtil.uploadWeb(baseDir, file);
  76. } catch (IOException e) {
  77. return new AjaxMessage<>(ResultStatus.ERROR, e.getMessage());
  78. }
  79. }
  80. return new AjaxMessage<>(ResultStatus.OK, avatar);
  81. }
  82. /**
  83. * 按ID查询菜单
  84. */
  85. @ApiOperation(value = "按ID查询菜单")
  86. @GetMapping(value = "/findMenuById")
  87. public AjaxMessage<MenuEntity> edit(@ApiParam(value = "菜单ID", required = true) @RequestParam Long id) {
  88. MenuEntity menu = menuService.findMenuById(id);
  89. return new AjaxMessage<>(ResultStatus.OK, menu);
  90. }
  91. /**
  92. * 修改保存菜单
  93. */
  94. @ApiOperation(value = "修改保存菜单")
  95. @RequestMapping(value = "/edit", method = RequestMethod.POST)
  96. public AjaxMessage<Integer> editMenu(@ApiParam(value = "菜单信息", required = true) @RequestBody MenuEntity menu) {
  97. int result = menuService.updateMenuById(menu) ? 1 : 0;
  98. return new AjaxMessage<>(ResultStatus.OK, result);
  99. }
  100. /**
  101. * 删除
  102. */
  103. @ApiOperation(value = "批量删除菜单")
  104. @RequestMapping(value = "/deleteByIds", method = RequestMethod.DELETE)
  105. public AjaxMessage<Integer> deleteByIds(@ApiParam(value = "菜单IDS", required = true) @RequestParam Long[] ids) {
  106. List<MenuEntity> menuEntityList = menuService.findMenuByParentIds(ids);
  107. if (menuEntityList.size() > 0) {
  108. return new AjaxMessage<>(ResultStatus.EXSIT_IS_PARENT_ERROR, 0);
  109. }
  110. int result = menuService.delMenuByIds(ids) ? 1 : 0;
  111. return new AjaxMessage<>(ResultStatus.OK, result);
  112. }
  113. /**
  114. * 删除
  115. */
  116. @ApiOperation(value = "单个删除菜单")
  117. @RequestMapping(value = "/deleteById", method = RequestMethod.DELETE)
  118. public AjaxMessage<Integer> deleteById(@ApiParam(value = "菜单ID", required = true) @RequestParam Long id) {
  119. MenuEntity menuEntity = new MenuEntity();
  120. menuEntity.setParentMenuId(id);
  121. List<MenuEntity> menuEntityList = menuService.findList(menuEntity);
  122. if (menuEntityList.size() > 0) {
  123. return new AjaxMessage<>(ResultStatus.EXSIT_IS_PARENT_ERROR, 0);
  124. } else {
  125. int result = menuService.delMenuById(id) ? 1 : 0;
  126. return new AjaxMessage<>(ResultStatus.OK, result);
  127. }
  128. }
  129. }