Bläddra i källkod

Add Get OCS Package class and helpers

Sherwin 7 år sedan
förälder
incheckning
87884d04ba

+ 62 - 0
GabonTelMobicashMobileAppHelper/src/com/psi/gabontel/mobileapp/helper/GetOcsPackages.java

@@ -0,0 +1,62 @@
+package com.psi.gabontel.mobileapp.helper;
+
+import java.io.StringWriter;
+import java.util.ArrayList;
+import java.util.LinkedHashMap;
+import java.util.Map;
+
+import javax.ejb.Remote;
+import javax.ejb.Stateless;
+
+import org.jboss.logging.Logger;
+import org.json.simple.JSONValue;
+
+import com.psi.applicationmanager.AppManagerFunction;
+import com.psi.applicationmanager.AppMessage;
+import com.psi.common.transactions.Message;
+
+import com.psi.gabontel.mobileapp.helper.objects.MsisdnDetails;
+import com.psi.gabontel.mobileapp.helper.objects.OcsPackages;
+import com.psi.gabontel.mobileapp.helper.objects.OcsPackages.Package;
+
+@Stateless
+@Remote(AppManagerFunction.class)
+public class GetOcsPackages implements AppManagerFunction {
+	
+	private static final Logger log = Logger.getLogger(GetOcsPackages.class);
+	@Override
+	public String processTransaction(String refid, String msisdn, String message, Map<String, String> syntax) {
+		return manageTransaction(refid, msisdn, message, syntax).getMessage();
+	}
+	
+	@Override
+	public AppMessage manageTransaction(String refid, String msisdn, String message, Map<String, String> syntax) {
+		// TODO Auto-generated method stub
+		String key      = syntax.get("key");
+		String  detailkey = syntax.get("detailkey");
+		
+		try {
+		
+		 LinkedHashMap<String,ArrayList<Package>> jsondata = null;
+		 if(msisdn.startsWith("24105")) {
+			 jsondata =  OcsPackages.getPackages().get("MOOV");
+		 }else if(msisdn.startsWith("24106")) {			 
+			 jsondata =  OcsPackages.getPackages().get("LIBERTIES");
+		 }
+		
+		 StringWriter out = new StringWriter();
+		 JSONValue.writeJSONString(jsondata, out);
+		 out.toString();
+		 
+		return new Message(0, 0,  out.toString());
+		}catch (Exception e) {
+			log.error("Awts Error",e);
+			// TODO: handle exception
+		}
+		
+		return new Message(0, 0,  "{}");
+		
+	}
+
+	
+}

+ 138 - 0
GabonTelMobicashMobileAppHelper/src/com/psi/gabontel/mobileapp/helper/objects/OcsPackages.java

@@ -0,0 +1,138 @@
+package com.psi.gabontel.mobileapp.helper.objects;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.LinkedHashMap;
+
+import org.json.simple.JSONObject;
+
+import com.psi.common.db.DataRow;
+import com.psi.common.db.DataRowCollection;
+import com.psi.common.db.DbWrapper;
+
+
+public class OcsPackages {
+	
+	public static LinkedHashMap<String, LinkedHashMap<String, ArrayList<Package>>> getPackages() {
+		return packages;
+	}
+	
+
+
+	
+	private static DbWrapper db  = DbWrapper.getInstance();
+	private static LinkedHashMap<String,LinkedHashMap<String,ArrayList<Package>>> packages;
+
+	static {
+		packages = new LinkedHashMap<String,LinkedHashMap<String,ArrayList<Package>>>();
+		
+		DataRowCollection rows = db.QueryDataRows("SELECT BUNDLEID,BUNDLENAME,PRICEFR,DESCRIPTION FROM TBLAIRBUNDLE WHERE STATUS = 1 AND (BUNDLENAME LIKE 'L%' OR BUNDLENAME LIKE 'M%') ");
+		
+		Iterator<DataRow> iterator = rows.iterator();
+		while(iterator.hasNext()) {
+			DataRow row = iterator.next();
+			
+			String bundlekey = row.getString("BUNDLENAME");
+			
+			Package pckge = new Package();
+			pckge.setBundleId(row.getString("BUNDLEID"));
+			pckge.setBundlename("BUNDLENAME");
+			pckge.setDescription(row.getString("DESCRIPTION"));
+			pckge.setPrice(row.getString("PRICEFR"));
+			
+			
+			if(bundlekey.startsWith("L")) {
+				
+				if(packages.containsKey("LIBERTIES")) {
+					LinkedHashMap<String, ArrayList<Package>> network =  packages.get("LIBERTIES");
+						if(!network.containsKey(bundlekey)) {
+							ArrayList<Package> pckges = new ArrayList<Package>();
+							pckges.add(pckge);
+							network.put(bundlekey, pckges);
+						}else {
+							network.get(bundlekey).add(pckge);
+						}
+				}else {
+					ArrayList<Package> pckges = new ArrayList<Package>();
+					pckges.add(pckge);
+					LinkedHashMap<String, ArrayList<Package>> network = new LinkedHashMap<String, ArrayList<Package>>();
+					network.put(bundlekey, pckges);
+					packages.put("LIBERTIES", network);
+				}
+				
+				
+			}else if(bundlekey.startsWith("M")) {
+				if(packages.containsKey("MOOV")) {
+					LinkedHashMap<String, ArrayList<Package>> network =  packages.get("MOOV");
+					if(!network.containsKey(bundlekey)) {
+						ArrayList<Package> pckges = new ArrayList<Package>();
+						pckges.add(pckge);
+						network.put(bundlekey, pckges);
+					}else {
+						network.get(bundlekey).add(pckge);
+					}
+				}else {
+					ArrayList<Package> pckges = new ArrayList<Package>();
+					pckges.add(pckge);
+					LinkedHashMap<String, ArrayList<Package>> network = new LinkedHashMap<String, ArrayList<Package>>();
+					network.put(bundlekey, pckges);
+					packages.put("MOOV", network);
+				}
+				
+			}
+			
+		}
+		
+		
+		
+		
+	}
+	
+	
+	
+	
+	
+	public static class Package{
+		private String bundleName;
+		private String bundleId;
+		private String price;
+		private  String description;
+	
+		public String getBundlename() {
+			return bundleName;
+		}
+		public void setBundlename(String bundlename) {
+			this.bundleName = bundlename;
+		}
+		public String getBundleId() {
+			return bundleId;
+		}
+		public void setBundleId(String bundleId) {
+			this.bundleId = bundleId;
+		}
+		public String getPrice() {
+			return price;
+		}
+		public void setPrice(String price) {
+			this.price = price;
+		}
+		public String getDescription() {
+			return description;
+		}
+		public void setDescription(String description) {
+			this.description = description;
+		}
+		
+		public String toString () {
+			JSONObject obj = new JSONObject();
+			obj.put("bundleName", this.bundleId);
+			obj.put("bundleId", this.bundleId);
+			obj.put("price", this.price);
+			obj.put("description", this.description);
+			return obj.toJSONString();			
+		}
+		
+		
+	}
+	
+}