ComMenuService.java 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. package com.dk.mdm.service.mst;
  2. import com.dk.common.infrastructure.annotaiton.Pagination;
  3. import com.dk.common.model.pojo.PageList;
  4. import com.dk.common.response.ResponseResultUtil;
  5. import com.dk.common.response.ResponseResultVO;
  6. import com.dk.mdm.infrastructure.util.AuthUtils;
  7. import com.dk.mdm.mapper.mst.MenuFrequencyMapper;
  8. import com.dk.mdm.model.pojo.mst.ComMenu;
  9. import com.dk.mdm.mapper.mst.ComMenuMapper;
  10. import com.dk.common.service.BaseService;
  11. import com.dk.common.mapper.BaseMapper;
  12. import com.dk.mdm.model.pojo.mst.MenuFrequency;
  13. import com.dk.mdm.model.query.mst.ComMenuQuery;
  14. import com.dk.mdm.model.query.mst.MenuFrequencyQuery;
  15. import com.dk.mdm.model.query.sale.OrderQuery;
  16. import com.dk.mdm.model.response.mst.ComMenuResponse;
  17. import com.dk.mdm.model.response.mst.MenuFrequencyResponse;
  18. import com.dk.mdm.model.response.sale.OrderResponse;
  19. import com.dk.mdm.model.vo.mst.ComMenuVO;
  20. import com.dk.mdm.model.vo.mst.MenuFrequencyVO;
  21. import org.springframework.stereotype.Service;
  22. import org.springframework.beans.factory.annotation.Autowired;
  23. import org.springframework.transaction.annotation.Transactional;
  24. import java.util.List;
  25. import java.util.Map;
  26. import java.util.stream.Collectors;
  27. @Service
  28. @Transactional
  29. public class ComMenuService extends BaseService<ComMenu> {
  30. @Override
  31. public BaseMapper<ComMenu> getRepository() {
  32. return comMenuMapper;
  33. }
  34. @Autowired
  35. private ComMenuMapper comMenuMapper;
  36. @Autowired
  37. private MenuFrequencyMapper menuFrequencyMapper;
  38. @Autowired
  39. private AuthUtils authUtils;
  40. /**
  41. * @desc : 条件查询
  42. * @author : 周兴
  43. * @date : 2024/3/29 10:40
  44. */
  45. public ResponseResultVO<?> selectMenu(ComMenuQuery comMenuQuery) {
  46. // 先查常用功能
  47. List<ComMenuResponse> comMenuList = comMenuMapper.selectByCond(comMenuQuery);
  48. Integer max = 9;
  49. if (comMenuList.size() < max) {
  50. List<String> exceptmenu = comMenuList.stream().map(it -> it.getMenuUuid()).collect(Collectors.toList());
  51. // 不足的用频率功能补
  52. List<MenuFrequencyResponse> MenuFrequencyList = menuFrequencyMapper.selectByCond(new MenuFrequencyQuery()
  53. .setStaffId(comMenuQuery.getStaffId())
  54. .setAppCode(comMenuQuery.getAppCode())
  55. .setGradeCode(comMenuQuery.getGradeCode())
  56. .setQueryLimit(max - comMenuList.size())
  57. .setExceptMenu(exceptmenu)) ;
  58. MenuFrequencyList.forEach(it->{
  59. ComMenuResponse res = new ComMenuResponse().setMenuUuid(it.getMenuUuid())
  60. .setMenuName(it.getMenuName()).setStaffId(it.getStaffId())
  61. .setObjectCode(it.getObjectCode()).setObjectIcon(it.getObjectIcon())
  62. .setObjectPath(it.getObjectPath());
  63. comMenuList.add(res);
  64. });
  65. }
  66. return ResponseResultUtil.success(comMenuList);
  67. }
  68. /**
  69. * @desc : 查询常用功能,不够的功能频率表去补
  70. * @author : 周兴
  71. * @date : 2024/3/29 10:40
  72. */
  73. public ResponseResultVO<?> selectByCond(ComMenuQuery comMenuQuery) {
  74. return ResponseResultUtil.success(comMenuMapper.selectByCond(comMenuQuery));
  75. }
  76. /**
  77. * @desc : 保存常用功能频率表
  78. * @author : 周兴
  79. * @date : 2024/3/29 9:39
  80. */
  81. @Transactional(
  82. rollbackFor = {Exception.class}
  83. )
  84. public ResponseResultVO<?> save(List<ComMenu> comMenuList) {
  85. // 先删除该员工的常用功能
  86. String staffId = authUtils.getStaff().getStaffId();
  87. comMenuMapper.deleteMenuByStaff(staffId);
  88. // 保存常用功能
  89. comMenuMapper.insertBatch(comMenuList);
  90. return ResponseResultUtil.success();
  91. }
  92. }