伺服器同步運營商資料業務邏輯(技術無關)
阿新 • • 發佈:2019-02-15
情景:
伺服器這邊資料儲存運營商的套餐列表,伺服器根據運營商的套餐變更而變更
當運營商刪除套餐,伺服器這邊刪除對應套餐,當運營商新增套餐,伺服器新增對應套餐,不變的套餐保持不變(伺服器這邊刪除套餐最好是邏輯刪除)
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