Rev 21974 | Blame | Compare with Previous | Last modification | View Log | RSS feed
package in.shop2020.dtrapi.Storage;import java.lang.reflect.Type;import java.net.UnknownHostException;import java.util.List;import org.apache.log4j.Logger;import java.util.ArrayList;import com.google.gson.Gson;import com.google.gson.reflect.TypeToken;import com.mongodb.BasicDBObject;import com.mongodb.DB;import com.mongodb.DBCollection;import com.mongodb.DBCursor;import com.mongodb.DBObject;import com.mongodb.MongoClient;import com.mongodb.util.JSON;import in.shop2020.dtrapi.models.FofoForm;import in.shop2020.dtrapi.models.MasterData;public class Mongo {private static MongoClient mongo;private static final String CATALOG_DB = "Catalog";private static final String MASTER_DATA = "MasterData";private static final String FOFO_DB = "Fofo";private static final String FOFO_FORM_COLLECTION = "RegistrationForm";private static Logger log = Logger.getLogger(Mongo.class);static {try {mongo = new MongoClient( "localhost" , 27017 );} catch (UnknownHostException e) {e.printStackTrace();}}public static MasterData getItemByID(long id) throws Exception{DB db = mongo.getDB(CATALOG_DB);DBCollection collection = db.getCollection(MASTER_DATA);BasicDBObject obj = new BasicDBObject();obj.append("_id", id);DBObject result = collection.findOne(obj);if (result==null){throw new Exception();}Gson gson = new Gson();MasterData masterData = gson.fromJson(result.toString(), MasterData.class);return masterData;}public static ArrayList<MasterData> getItemsByBundleId(long bundleId){DB db = mongo.getDB(CATALOG_DB);DBCollection collection = db.getCollection(MASTER_DATA);BasicDBObject obj = new BasicDBObject();BasicDBObject in_query = new BasicDBObject();obj.append("skuBundleId", bundleId);obj.append("in_stock",1);in_query.append("$in",new int[] {1,2,3,4});obj.append("source_id", in_query);ArrayList<MasterData> items = new ArrayList<MasterData>();DBCursor result = collection.find(obj);Gson gson = new Gson();while (result.hasNext()) {MasterData masterData = gson.fromJson(result.next().toString(), MasterData.class);items.add(masterData);}return items;}public static void persistFofoRegInfo(FofoForm ff){DB db = mongo.getDB(FOFO_DB);DBCollection collection = db.getCollection(FOFO_FORM_COLLECTION);if(ff.get_id()==0) {BasicDBObject orderBy = new BasicDBObject();orderBy.put("_id", -1);DBCursor cursor = collection.find().sort(orderBy).limit(1);long id = 1l;while (cursor.hasNext()) {Gson gson = new Gson();FofoForm existingFofo = gson.fromJson(cursor.next().toString(), FofoForm.class);id = existingFofo.get_id() + 1;}ff.set_id(id);}Gson gs = new Gson();DBObject dbObject = (DBObject) JSON.parse(gs.toJson(ff));collection.save(dbObject);}public static List<FofoForm> getFofoForms(int offset, int limit) {List<FofoForm> ffList = new ArrayList<FofoForm>();DB db = mongo.getDB(FOFO_DB);DBCollection collection = db.getCollection(FOFO_FORM_COLLECTION);BasicDBObject orderBy = new BasicDBObject();orderBy.put("_id", -1);DBCursor dbc = collection.find().sort(orderBy).limit(limit).skip(offset);while (dbc.hasNext()) {ffList.add(convertJSONToPojo(dbc.next().toString()));}return ffList;}public static String getFofoFormJsonStringByFofoId(int fofoId){DB db = mongo.getDB(FOFO_DB);BasicDBObject filter = new BasicDBObject();filter.append("_id", fofoId);DBCollection collection = db.getCollection(FOFO_FORM_COLLECTION);DBObject fofoDbOject = collection.find(filter).one();return fofoDbOject.toString();}public static FofoForm getFofoForm(int fofoId) {String fofoFormJsonString = getFofoFormJsonStringByFofoId(fofoId);System.out.println(fofoFormJsonString);return new Gson().fromJson(fofoFormJsonString, FofoForm.class);//return convertJSONToPojo(fofoDbOject.toString());}private static FofoForm convertJSONToPojo(String json){Type type = new TypeToken< FofoForm >(){}.getType();return new Gson().fromJson(json, type);}public static void main(String[] args) throws Exception{System.out.println(getFofoForms(0, 10));}}