服务器同步运营商数据业务逻辑(技术无关)

情景:

服务器这边数据保存运营商的套餐列表,服务器根据运营商的套餐变更而变更

当运营商删除套餐,服务器这边删除对应套餐,当运营商新增套餐,服务器新增对应套餐,不变的套餐保持不变(服务器这边删除套餐最好是逻辑删除)

package testt;

import java.util.ArrayList;
import java.util.List;

public class Test {
	public static void main(String[] args) {
		//套餐:1(套餐)2(套餐)依次类推
		//1是原来的 (服务器这边有,运营商这边也有。不需要变更的套餐)
		//2是新增的(服务器这边没有,运营商这边有。需要新增的套餐)
		//3是原来的(服务器这边有,运营商这边也有。不需要变更的套餐)
		//4是需要删除的(服务器这边有,运营商这边没有,需要在服务器这边逻辑删除的套餐)
		
		//逻辑
//		运营商数据                  数据库数据
//		    1               1
//		    2               3
//		    3               4
		List<Integer> yun=new ArrayList<Integer>();//运营商
		yun.add(1);
		yun.add(2);
		yun.add(3);
		List<Integer> data=new ArrayList<Integer>();//服务器
		data.add(1);
		data.add(3);
		data.add(4);
		List<Integer> add=new ArrayList<Integer>();//需要新增的数据
		List<Integer> delete=new ArrayList<Integer>();//需要删除的数据
		List<Integer> hold=new ArrayList<Integer>();//需要保持不变的数据
		for(Integer y:yun){
			boolean flag=false;
			for(Integer d:data){
				if(y.equals(d)){
					flag=true;
				}
			}
			if(flag){//存在
				hold.add(y);
			}else{//不存在
				add.add(y);
			}
		}
		for(Integer d:data){
			boolean flag=false;
			for(Integer y:yun){
				if(d.equals(y)){
					flag=true;
				}
			}
			if(!flag){//不存在
				delete.add(d);
			}
		}
		for(Integer a:add){
			System.out.println("新增="+a);
		}
		for(Integer d:delete){
			System.out.println("删除="+d);
		}
		for(Integer c:hold){
			System.out.println("不变="+c);
		}
	}
}

新增=2

删除=4

不变=1

不变=3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值