Rev 12169 | Blame | Compare with Previous | Last modification | View Log | RSS feed
package in.shop2020.support.controllers;import java.text.DecimalFormat;import java.util.List;import in.shop2020.model.v1.catalog.CatalogService.Client;import in.shop2020.model.v1.catalog.PdPriceComp;import in.shop2020.thrift.clients.CatalogClient;import javax.servlet.ServletContext;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import org.apache.struts2.interceptor.ServletRequestAware;import org.apache.struts2.interceptor.ServletResponseAware;import org.apache.struts2.util.ServletContextAware;import org.apache.thrift.TException;import org.apache.thrift.transport.TTransportException;import com.opensymphony.xwork2.ValidationAwareSupport;public class PrivateDealsComparisonController extends ValidationAwareSupport implements ServletRequestAware ,ServletResponseAware, ServletContextAware{/****/private static final long serialVersionUID = 4278491749496095875L;private HttpServletRequest request;private HttpSession session;private ServletContext context;private HttpServletResponse response;private List<PdPriceComp> pdData;private String lastProcessedTimestamp;public String index() throws TException{return "index";}public String getCompData() throws TException{Client catalogClient = new CatalogClient("catalog_service_server_host_amazon","catalog_service_server_port").getClient();setPdData(catalogClient.getAllPrivateDealsComparison());for (PdPriceComp data : pdData){if (data.getSdPrice()==0 && data.getFkPrice()==0 && data.getAmazonPrice()==0){data.setDiff(roundDecimals(data.getDealPrice()-0.0));continue;}if (data.getSdPrice()==0.0){data.setSdPrice(999999);}if (data.getFkPrice()==0.0){data.setFkPrice(999999);}if (data.getAmazonPrice()==0.0){data.setAmazonPrice(999999);}double cheapest = (data.getSdPrice()<data.getFkPrice())?((data.getSdPrice()<data.getAmazonPrice())?data.getSdPrice():data.getAmazonPrice()):((data.getFkPrice()<data.getAmazonPrice())?data.getFkPrice():data.getAmazonPrice());data.setDiff(roundDecimals(data.getDealPrice()-cheapest));if (data.getSdPrice()==999999){data.setSdPrice(0.0);}if (data.getFkPrice()==999999){data.setFkPrice(0.0);}if (data.getAmazonPrice()==999999){data.setAmazonPrice(0.0);}}setLastProcessedTimestamp(new java.util.Date(pdData.get(0).getLastProcessedTimestamp()).toLocaleString());return "private-deals-comp-data";}double roundDecimals(double d) {DecimalFormat twoPlaces = new DecimalFormat("#.#");return Double.valueOf(twoPlaces.format(d));}public void setRequest(HttpServletRequest request) {this.request = request;}public HttpServletRequest getRequest() {return request;}public void setSession(HttpSession session) {this.session = session;}public HttpSession getSession() {return session;}public void setContext(ServletContext context) {this.context = context;}public ServletContext getContext() {return context;}public void setResponse(HttpServletResponse response) {this.response = response;}public HttpServletResponse getResponse() {return response;}@Overridepublic void setServletContext(ServletContext arg0) {// TODO Auto-generated method stub}@Overridepublic void setServletResponse(HttpServletResponse arg0) {// TODO Auto-generated method stub}@Overridepublic void setServletRequest(HttpServletRequest arg0) {// TODO Auto-generated method stub}public void setPdData(List<PdPriceComp> pdData) {this.pdData = pdData;}public List<PdPriceComp> getPdData() {return pdData;}public String getLastProcessedTimestamp() {return lastProcessedTimestamp;}public void setLastProcessedTimestamp(String lastProcessedTimestamp) {this.lastProcessedTimestamp = lastProcessedTimestamp;}}