Rev 4630 | Rev 5191 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
/****/package in.shop2020.serving.controllers;import java.util.HashMap;import java.util.Map;import java.util.StringTokenizer;import in.shop2020.logistics.LogisticsInfo;import in.shop2020.logistics.LogisticsService.Client;import in.shop2020.logistics.DeliveryType;import in.shop2020.logistics.LogisticsServiceException;import in.shop2020.thrift.clients.LogisticsClient;import org.apache.log4j.Logger;import org.apache.struts2.rest.DefaultHttpHeaders;import org.apache.struts2.rest.HttpHeaders;import org.apache.thrift.TException;import com.google.gson.Gson;/*** @author rajveer**/public class EstimateController extends BaseController {private static final long serialVersionUID = 8023801600023970837L;private static Logger log = Logger.getLogger(Class.class);private String id;private long itemId;private String pincode;private long days = -1;private boolean isCODAvailable;private Map<String, String> response = new HashMap<String, String>();public EstimateController() {super();}// GET /logoutpublic HttpHeaders show(){LogisticsClient logisticsServiceClient = null;try {logisticsServiceClient = new LogisticsClient();Client logisticsClient = logisticsServiceClient.getClient();LogisticsInfo logistincInfo = logisticsClient.getLogisticsEstimation(itemId, pincode, DeliveryType.PREPAID);days = logistincInfo.getDeliveryTime();isCODAvailable = logistincInfo.isCodAllowed();} catch (LogisticsServiceException e) {days = -1;isCODAvailable = false;log.error("Unable to get estimate/COD availability for " + itemId, e);} catch(TException e) {} catch (Exception e) {}response.put("delivery_estimate", Long.toString(days));response.put("is_cod_available_for_location", Boolean.toString(isCODAvailable));return new DefaultHttpHeaders("index");}/**** @param id*/public void setId(String id) {this.id = id;StringTokenizer tokenizer = new StringTokenizer(this.id, "_");this.pincode = tokenizer.nextToken();this.itemId = Long.parseLong(tokenizer.nextToken());}public String getResponseJSONString() {Gson gson = new Gson();return gson.toJson(response);}}