Rev 536 | Blame | Last modification | View Log | RSS feed
package in.shop2020.serving.utils;import java.util.ArrayList;import java.util.Calendar;import java.util.Date;import java.util.HashMap;import java.util.Iterator;import java.util.List;import java.util.Map;import java.util.Map.Entry;import in.shop2020.model.v1.catalog.InventoryServiceException;import in.shop2020.model.v1.catalog.Item;import in.shop2020.model.v1.catalog.InventoryService.Client;import in.shop2020.model.v1.user.Cart;import in.shop2020.model.v1.user.Line;import in.shop2020.model.v1.user.LineStatus;import in.shop2020.model.v1.user.ShoppingCartException;import in.shop2020.model.v1.user.Address;import in.shop2020.model.v1.user.User;import in.shop2020.model.v1.user.UserContextException;import in.shop2020.model.v1.widgets.WidgetException;import in.shop2020.thrift.clients.CatalogServiceClient;import in.shop2020.thrift.clients.UserContextServiceClient;import in.shop2020.thrift.clients.WidgetServiceClient;import org.apache.thrift.TException;public class Utils {/*private static UserContextServiceClient userContextServiceClient;private static ShoppingCartClient shoppingCartClient;private static CatalogServiceClient catalogServiceClient;private static WidgetServiceClient widgetServiceClient;static {try {userContextServiceClient = new UserContextServiceClient();shoppingCartClient = new ShoppingCartClient();catalogServiceClient = new CatalogServiceClient();widgetServiceClient = new WidgetServiceClient();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}*/public static boolean isUserLoggedIn(long userId){boolean isNotLoggedIn = true;try {UserContextServiceClient userContextServiceClient = new UserContextServiceClient();in.shop2020.model.v1.user.UserContextService.Client userClient = userContextServiceClient.getClient();isNotLoggedIn = userClient.getUserById(userId).isIsAnonymous();} catch (UserContextException e) {e.printStackTrace();} catch (TException e) {e.printStackTrace();} catch (Exception e) {e.printStackTrace();}return !isNotLoggedIn;}public static String getEmailId(long userId){String email = "";try {UserContextServiceClient userContextServiceClient = new UserContextServiceClient();in.shop2020.model.v1.user.UserContextService.Client userClient = userContextServiceClient.getClient();email = userClient.getUserById(userId).getEmail();} catch (UserContextException e) {e.printStackTrace();} catch (TException e) {e.printStackTrace();} catch (Exception e) {e.printStackTrace();}return email;}public static int getNumberOfItemsInCart(long cartId) {int numberOfItems = 0;try {UserContextServiceClient userContextServiceClient = new UserContextServiceClient();in.shop2020.model.v1.user.UserContextService.Client userClient = userContextServiceClient.getClient();numberOfItems = userClient.getCart(cartId).getLinesSize();} catch (ShoppingCartException e) {e.printStackTrace();} catch (TException e) {e.printStackTrace();} catch (Exception e) {e.printStackTrace();}return numberOfItems;}public static long getCartId(long userId) {long cartId = 0;try {UserContextServiceClient userContextServiceClient = new UserContextServiceClient();in.shop2020.model.v1.user.UserContextService.Client userClient = userContextServiceClient.getClient();cartId = userClient.getCurrentCart(userId).getId();} catch (ShoppingCartException e) {e.printStackTrace();} catch (TException e) {e.printStackTrace();} catch (Exception e) {e.printStackTrace();}return cartId;}public static long addItemToCart(long catalogItemId, long userId, boolean isSessionId){long cartId = -1;try {UserContextServiceClient userContextServiceClient = new UserContextServiceClient();in.shop2020.model.v1.user.UserContextService.Client userClient = userContextServiceClient.getClient();cartId = userClient.createCart(userId);userClient.addItemToCart(cartId, catalogItemId, 1);} catch (ShoppingCartException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (TException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}return cartId;//if user is logged in create new cart//if( userClient.getState(userId, false).isIsLoggedIn()){}public static boolean deleteItemFromCart(long cartId, long catalogItemId, long userId, boolean isSessionId){try {UserContextServiceClient userContextServiceClient = new UserContextServiceClient();in.shop2020.model.v1.user.UserContextService.Client userClient = userContextServiceClient.getClient();userClient.deleteItemFromCart(cartId, catalogItemId);return true;} catch (ShoppingCartException e) {e.printStackTrace();} catch (TException e) {e.printStackTrace();} catch (Exception e) {e.printStackTrace();}return false;}public static boolean updateItemQuantityInCart(long cartId, long itemId, long quantity){try {UserContextServiceClient userContextServiceClient = new UserContextServiceClient();in.shop2020.model.v1.user.UserContextService.Client userClient = userContextServiceClient.getClient();userClient.changeQuantity(cartId, itemId, quantity);return true;} catch (ShoppingCartException e) {e.printStackTrace();} catch (TException e) {e.printStackTrace();} catch (Exception e) {e.printStackTrace();}return false;}public static String getOrderDetails(long cartId){List<Line> lineItems = null;StringBuilder orderDetails = new StringBuilder();try {UserContextServiceClient userContextServiceClient = new UserContextServiceClient();in.shop2020.model.v1.user.UserContextService.Client userClient = userContextServiceClient.getClient();lineItems = userClient.getCart(cartId).getLines();} catch (ShoppingCartException e) {e.printStackTrace();} catch (TException e) {e.printStackTrace();} catch (Exception e) {e.printStackTrace();}for (Line line : lineItems) {orderDetails.append("Item Id : " + line.getItemId() + " ");orderDetails.append("Item Name : " + Utils.getItemName(line.getItemId()) + " ");orderDetails.append("Item Quantity : " + line.getQuantity() + " ");}return orderDetails.toString();}public static String getContactNumber(long cartId){// in.shop2020.model.v1.shoppingcart.ShoppingCartService.Client cartClient = shoppingCartClient.getClient();// in.shop2020.model.v1.user.UserContextService.Client userClient = userContextServiceClient.getClient();// userClient.getPrimaryInfo(userId, false).getAddresses()// cartClient.getCart(cartId).getAddressId()//TODO write function to get address from addressIdreturn " test ";}public static String getBillingAddress(long cartId){//in.shop2020.model.v1.shoppingcart.ShoppingCartService.Client cartClient = shoppingCartClient.getClient();//TODO write function to get shipping and billing addressreturn " test ";}public static String getItemName(long itemId){//TODO write function to get item name given item idreturn "test";}public static String getNameOfUser(long userId) {String name = "";try {UserContextServiceClient userContextServiceClient = new UserContextServiceClient();in.shop2020.model.v1.user.UserContextService.Client userClient = userContextServiceClient.getClient();name = userClient.getUserById(userId).getName();} catch (UserContextException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (TException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}return name;}public static double getPaymentAmount(long cartId){double totalAmount = 0;Cart cart;try {UserContextServiceClient userContextServiceClient = new UserContextServiceClient();in.shop2020.model.v1.user.UserContextService.Client userClient = userContextServiceClient.getClient();cart = userClient.getCart(cartId);List<Line> lineItems = cart.getLines();for (Line line : lineItems) {long productId = line.getItemId();totalAmount = totalAmount + line.getQuantity() * Utils.getItemPriceByCatalogId(productId);}} catch (ShoppingCartException e) {e.printStackTrace();} catch (TException e) {e.printStackTrace();} catch (Exception e) {e.printStackTrace();}return totalAmount;}public static double getItemPriceByCatalogId(long productId){CatalogServiceClient catalogServiceClient = null;Client client = null;Double itemPrice = 0.0;try {catalogServiceClient = new CatalogServiceClient();client = catalogServiceClient.getClient();Item item = client.getItemByCatalogId(productId);itemPrice = item.getSellingPrice();}catch(Exception e){e.printStackTrace();}return itemPrice;}public static void deleteFromMyResearch(long userId, long itemId) {try {UserContextServiceClient userServiceClient = new UserContextServiceClient();in.shop2020.model.v1.user.UserContextService.Client userClient = userServiceClient.getClient();userClient.deleteItemFromMyResearch(userId, itemId);} catch (WidgetException e) {e.printStackTrace();} catch (TException e) {e.printStackTrace();} catch (Exception e) {e.printStackTrace();}}public static boolean ChangePassword(long userId, String email, String oldPassword,String newPassword) {try {UserContextServiceClient userContextServiceClient = new UserContextServiceClient();in.shop2020.model.v1.user.UserContextService.Client userClient = userContextServiceClient.getClient();userClient.updatePassword(userId, newPassword);return true;} catch (UserContextException e) {e.printStackTrace();} catch (TException e) {e.printStackTrace();} catch (Exception e) {e.printStackTrace();}return false;}public static boolean UpdatePersonalDetails(long userId, String name, int month,int day, int year, String sex, String communicationEmail,String subscribeNewsletter) {try {UserContextServiceClient userContextServiceClient = new UserContextServiceClient();in.shop2020.model.v1.user.UserContextService.Client userClient = userContextServiceClient.getClient();Calendar calendar = Calendar.getInstance();calendar.set(year + 1900, month, day);long dateOfBirth = calendar.getTimeInMillis();User user = userClient.getUserById(userId);user.setDateOfBirth(dateOfBirth);user.setName(name);user.setCommunicationEmail(communicationEmail);userClient.updateUser(user);return true;} catch (UserContextException e) {e.printStackTrace();} catch (TException e) {e.printStackTrace();} catch (Exception e) {e.printStackTrace();}return false;}public static void mergeCarts(long fromCartId, long toCartId){try {UserContextServiceClient userContextServiceClient = new UserContextServiceClient();in.shop2020.model.v1.user.UserContextService.Client userClient = userContextServiceClient.getClient();userClient.mergeCart(fromCartId, toCartId);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}}