kaiyu
2021-05-11 3481b78afafe5ff83d68a4f58741b7c15efcaeb1
screen-manage/src/main/java/com/moral/api/service/impl/ManageRoleMenuServiceImpl.java
@@ -16,14 +16,13 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
/**
 * <p>
@@ -50,7 +49,16 @@
    @Override
    @Transactional
    public Map<String, Object> updateRoleMenu(List list, int id) {
    public Map<String, Object> updateRoleMenu(List menuList, int id) {
        //补充父菜单
        List supplementList = new ArrayList();
        supplementList.addAll(menuList);
        for (int i=0;i<supplementList.size();i++) {
            supplementList.addAll(supplementParentMenus(Integer.parseInt(supplementList.get(i).toString())));
        }
        LinkedHashSet<Object> hashSet = new LinkedHashSet<>(supplementList);
        ArrayList<Object> list = new ArrayList<>(hashSet);
        //return null;
        Map<String,Object> resultMap = new HashMap<>();
        List<ManageMenu> manageMenusOld = manageMenuMapper.getManageMenuByRoleId(id);
        QueryWrapper<ManageRoleMenu> wrapper = new QueryWrapper();
@@ -143,4 +151,21 @@
        resultMap.put("msg",ResponseCodeEnum.SUCCESS.getMsg());
        return resultMap;
    }
    /**
     * @Description: 补充父菜单
     * @Param: [list, menuId]list:menuId集合
     * @return: void
     * @Author: 李子杰
     * @Date: 2021/4/7
     */
    private List supplementParentMenus(int menuId) {
        List list = new ArrayList();
        ManageMenu manageMenu = manageMenuMapper.getManageMenuById(menuId);
        if (manageMenu.getParentId()!=0){
            list.add(manageMenu.getParentId());
            list.addAll(supplementParentMenus(manageMenu.getParentId()));
        }
        return list;
    }
}