MenuServiceImpl.java 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. package com.sumbytes.helloblog.menu.service.impl;
  2. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  3. import com.sumbytes.common.base.domain.Result;
  4. import com.sumbytes.common.enums.ErrorEnum;
  5. import com.sumbytes.common.util.ExceptionUtil;
  6. import com.sumbytes.common.util.PageUtil;
  7. import com.sumbytes.helloblog.menu.dao.MenuDao;
  8. import com.sumbytes.helloblog.menu.domain.po.Menu;
  9. import com.sumbytes.helloblog.menu.domain.vo.MenuVO;
  10. import com.sumbytes.helloblog.menu.service.MenuService;
  11. import org.springframework.beans.factory.annotation.Autowired;
  12. import org.springframework.stereotype.Service;
  13. import org.springframework.util.StringUtils;
  14. import java.util.ArrayList;
  15. import java.util.List;
  16. import java.util.Optional;
  17. @Service
  18. public class MenuServiceImpl implements MenuService {
  19. @Autowired
  20. private MenuDao menuDao;
  21. @Override
  22. public Result saveMenu(MenuVO menuVO) {
  23. menuDao.insert(new Menu()
  24. .setIcon(menuVO.getIcon())
  25. .setParentId(menuVO.getParentId())
  26. .setSort(menuVO.getSort())
  27. .setTitle(menuVO.getTitle())
  28. .setUrl(menuVO.getUrl()));
  29. return Result.createWithSuccessMessage();
  30. }
  31. @Override
  32. public Result getMenu(Long id) {
  33. Menu menu=menuDao.selectById(id);
  34. if (menu==null){
  35. ExceptionUtil.rollback(ErrorEnum.DATA_NO_EXIST);
  36. }
  37. return Result.createWithModel(menu);
  38. }
  39. @Override
  40. public Result getMenuList(MenuVO menuVO) {
  41. menuVO= Optional.ofNullable(menuVO).orElse(new MenuVO());
  42. Page page= Optional.of(PageUtil.checkAndInitPage(menuVO)).orElse(PageUtil.initPage());
  43. if (!StringUtils.isEmpty(menuVO.getKeywords())){
  44. menuVO.setKeywords("%"+menuVO.getKeywords()+"%");
  45. }
  46. List<MenuVO> menuVOList=menuDao.selectMenuList(page,menuVO);
  47. return Result.createWithPaging(menuVOList, PageUtil.initPageInfo(page));
  48. }
  49. @Override
  50. public Result updateMenu(MenuVO menuVO) {
  51. this.menuDao.updateById(
  52. new Menu()
  53. .setId(menuVO.getId())
  54. .setIcon(menuVO.getIcon())
  55. .setTitle(menuVO.getTitle())
  56. .setParentId(menuVO.getParentId())
  57. .setSort(menuVO.getSort())
  58. .setUrl(menuVO.getUrl())
  59. );
  60. return Result.createWithSuccessMessage();
  61. }
  62. @Override
  63. public Result deleteMenu(Long id) {
  64. this.menuDao.deleteById(id);
  65. return Result.createWithSuccessMessage();
  66. }
  67. @Override
  68. public Result getFrontMenuList(MenuVO menuVO) {
  69. List<Menu> menus = menuDao.selectMenuList(menuVO.setParentId(0L));
  70. List<MenuVO> menuVOS=new ArrayList<>();
  71. menus.forEach(menu -> {
  72. menuVOS.add(new MenuVO()
  73. .setId(menu.getId())
  74. .setIcon(menu.getIcon())
  75. .setTitle(menu.getTitle())
  76. .setParentId(menu.getParentId())
  77. .setSort(menu.getSort())
  78. .setUrl(menu.getUrl())
  79. .setChild(menuDao.selectMenuList(menuVO.setParentId(menu.getId())))
  80. );
  81. });
  82. return Result.createWithModels(menuVOS);
  83. }
  84. }