有复选框的树的更新的后台操作

public void update(EtlRole etlRole, Long[] recIds) {
        mapper.update(etlRole);
        Long[] rsids = etlAuthorityMapper.getResourceIdsByOneRole(etlRole.getId());// 得到所有的resource的ID
        List<Long> listrs = new ArrayList<Long>();
        for (Long rsid : rsids) {
            listrs.add(rsid);
        }
        List<Long> listrec = new ArrayList<Long>();
        for (Long recid : recIds) {
            listrec.add(recid);
        }

        for(int i=listrs.size()-1;i>=0;i--){
            for(int j=listrec.size()-1;j>=0;j--){
                Long id1 = listrs.get(i);
                Long id2 = listrec.get(j);
                if(id1.equals(id2)){
                    listrec.remove(j);
                    listrs.remove(i);       
                    break;
                }
            }
        }
        Long[] rsidsf = (Long[]) listrs.toArray(new Long[listrs.size()]);// 删除该数组里的剩下的resource_id
        Long[] recidsf = (Long[]) listrec.toArray(new Long[listrec.size()]);// 增加该数组里的剩下的resource_id

        if (rsidsf.length != 0 && rsidsf != null) {
            Long[] idd = etlAuthorityMapper.getIdByresourceId(rsidsf);
            etlAuthorityMapper.del(idd);
        }
        if (recidsf.length != 0 && recidsf != null) {
            for (Long recid : recidsf) {
                etlAuthorityMapper.insert(recid, etlRole.getId());
            }

        }
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值