java 多选按钮进行数据存储

判断缺少的数据

 public void saveUserEnterprise(String userId, String enId, String noIds, String lastNoIds) {
        //查询新数据 与旧数据多的 添加进去数据库
        List<String> add = sysRoleServiceImp.getDiff(lastNoIds,noIds);
        if(add!=null && add.size()>0) {
            List<WsUserEnterprise> list = new ArrayList<WsUserEnterprise>();
            for (String p : add) {
                if(oConvertUtils.isNotEmpty(p)) {
                    WsUserEnterprise rolepms = new WsUserEnterprise(userId,enId, p);
                    list.add(rolepms);
                }
            }
            this.saveBatch(list);//简单的添加操作
        }
      //查询 旧数据与新数据的 少的 从数据库中删除
        List<String> delete = sysRoleServiceImp.getDiff(noIds,lastNoIds);
        if(delete!=null && delete.size()>0) {
            for (String noId : delete) {
                this.remove(new QueryWrapper<WsUserEnterprise>().lambda().eq(WsUserEnterprise::getUsId, userId).eq(WsUserEnterprise::getEnId, enId).eq(WsUserEnterprise::getNoId, noId));//简单的删除操作
            }
        }
    }

删除没有的数据

/**
	 * 从diff中找出main中没有的元素
	 * @param main
	 * @param diff
	 * @return
	 */
	public List<String> getDiff(String main, String diff){
		if(oConvertUtils.isEmpty(diff)) {
			return null;
		}
		if(oConvertUtils.isEmpty(main)) {
			return Arrays.asList(diff.split(","));
		}
		
		String[] mainArr = main.split(",");
		String[] diffArr = diff.split(",");
		Map<String, Integer> map = new HashMap<>();
		for (String string : mainArr) {
			map.put(string, 1);
		}
		List<String> res = new ArrayList<String>();
		for (String key : diffArr) {
			if(oConvertUtils.isNotEmpty(key) && !map.containsKey(key)) {
				res.add(key);
			}
		}
		return res;
	}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值