Rev 651 | Blame | Last modification | View Log | RSS feed
package in.shop2020.serving.controllers;import in.shop2020.model.v1.user.Address;import in.shop2020.model.v1.user.AddressType;import in.shop2020.model.v1.user.User;import in.shop2020.model.v1.user.UserContextService;import in.shop2020.serving.controllers.BaseController;import in.shop2020.thrift.clients.UserContextServiceClient;import java.util.*;import org.apache.juli.logging.Log;import org.apache.juli.logging.LogFactory;import org.apache.struts2.convention.annotation.Result;import org.apache.struts2.convention.annotation.Results;import org.apache.struts2.interceptor.ParameterAware;import org.apache.struts2.rest.DefaultHttpHeaders;import org.apache.struts2.rest.HttpHeaders;import org.apache.thrift.TException;@Results({@Result(name="redirect", type="redirectAction",params = {"actionName" , "shipping"}),@Result(name="login", type="redirectAction",params = {"actionName" , "login"})})public class ShippingController extends BaseController implements ParameterAware{private static final long serialVersionUID = 1L;private static Log log = LogFactory.getLog(ShippingController.class);Map<String, String[]> reqparams = null;private long addressId = 0;private String errorMsg = "";public ShippingController(){super();}// GET /shippingpublic String index() {if(!userinfo.isLoggedIn()){setRedirectUrl();return "login";}long userId = userinfo.getUserId();boolean isLoggedIn = userinfo.isLoggedIn();long cartId = userinfo.getCartId();try {UserContextService.Client userClient = (new UserContextServiceClient()).getClient();userClient.checkOut(cartId);long defaultAddressId = userClient.getDefaultAddressId(userId);log.info("The default address id of this user is: " + defaultAddressId);if(defaultAddressId > 0)userClient.addAddressToCart(cartId, defaultAddressId);if(!userClient.validateCart(cartId))errorMsg = "Your cart has been updated.";} catch (Exception e) {// This exception can be ignored for showing the cart. Not so// innocent when this occurs at the time of checkout or when the// user is proceeding to pay.e.printStackTrace();}htmlSnippets.put("SHIPPING_HEADER", pageLoader.getShippingHeaderHtml());htmlSnippets.put("SHIPPING_DETAILS", pageLoader.getShippingDetailsHtml(userinfo.getCartId(), errorMsg));return "index";}// POST /entitypublic String create(){UserContextServiceClient userContextServiceClient = null;in.shop2020.model.v1.user.UserContextService.Client userClient = null;String action = this.request.getParameter("action");if(action == null){return "failure";}try {userContextServiceClient = new UserContextServiceClient();userClient = userContextServiceClient.getClient();if(action != null){if(action.equals("add")){Address address = new Address();address.setName(this.request.getParameter("name"));address.setLine1(this.request.getParameter("line1"));address.setLine2(this.request.getParameter("line2"));address.setCity(this.request.getParameter("city"));address.setState(this.request.getParameter("state"));address.setPin(this.request.getParameter("pincode"));address.setPhone(this.request.getParameter("phone"));address.setCountry(this.request.getParameter("country"));address.setEnabled(true);address.setType(AddressType.HOME);long addressId = userClient.addAddressForUser(userinfo.getUserId(), address, false);userClient.addAddressToCart(userinfo.getCartId(), addressId);addActionMessage("Address added successfully.");return "redirect";}if(action.equals("change")){long addressId = Long.parseLong(this.request.getParameter("addressid"));userClient.addAddressToCart(userinfo.getCartId(), addressId);return "success";}}} catch (Exception e) {return "failure";}return null;}@Overridepublic void setParameters(Map<String, String[]> reqmap) {log.info("setParameters:" + reqmap);this.reqparams = reqmap;}public String getShippingHeaderSnippet(){return htmlSnippets.get("SHIPPING_HEADER");}public String getShippingDetailsSnippet(){return htmlSnippets.get("SHIPPING_DETAILS");}public long getAddressId(){return this.addressId;}public String getErrorMsg(){return this.errorMsg;}}