/*
    新增或者修改角色
    并且进行权限修改
    @param role
    @return
    /
    @Override
    public Integer addOrUpdate(Role role) {
    if (role.getId() == null) {
    //如果id为空,执行自定方法新增,并返回自增id
    _mapper.add(role);
    } else {
    //否则执行修改,并返回id
    _mapper.updateById(role);
    }
    return role.getId();
    }

    /*
    //修改角色权限
    @param map
    @return
    */
    @Override
    public Boolean updatePids(Map map) {
    Integer rid = (Integer) map.get(“rid”);
    List pids = (List) map.get(“pids”);
    //如果前端传过来的pids是[],删除该角色全部权限
    _if (pids.size() == 0) {
    mapper.removeByRid(rid);
    return true;
    }
    //查询角色拥有的权限,
    _List pids1 = mapper.getPidsByRid(rid);

    1. _//如果查到的数据为[],直接作新增<br /> _if (pids1.size() == 0) {<br /> mapper.savePidsByRid(rid, pids);<br /> return true;<br /> }
    2. _//备份查到的权限id集合,后面用<br /> _ArrayList<Integer> pids2 = new ArrayList<>(pids1);
    3. _//原来pids1对前端pids取差集<br /> _pids1.removeAll(pids);<br /> _//如果有差集,则执行删除<br /> _if (pids1.size() > 0) {<br /> mapper.removeByRidAndPids(rid, pids1);<br /> }
    4. _//前端pids对原来pids1取差集<br /> _pids.removeAll(pids2);<br /> _//如果存在差集,作新增<br /> _if (pids.size() > 0) {<br /> mapper.savePidsByRid(rid, pids);<br /> }<br /> return true;<br />}