Rev 4142 | Rev 4416 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
package in.shop2020.serving.controllers;import in.shop2020.crm.SearchFilter;import in.shop2020.crm.Ticket;import in.shop2020.crm.TicketCategory;import in.shop2020.crm.TicketStatus;import in.shop2020.model.v1.order.LineItem;import in.shop2020.model.v1.order.Order;import in.shop2020.model.v1.order.OrderStatus;import in.shop2020.model.v1.user.Address;import in.shop2020.payments.Attribute;import in.shop2020.payments.Constants;import in.shop2020.payments.Payment;import in.shop2020.payments.PaymentException;import in.shop2020.payments.PaymentService.Client;import in.shop2020.serving.model.ShipmentUpdate;import in.shop2020.serving.services.BlueDartTrackingService;import in.shop2020.thrift.clients.CRMClient;import in.shop2020.thrift.clients.PaymentClient;import in.shop2020.thrift.clients.TransactionClient;import in.shop2020.thrift.clients.UserClient;import in.shop2020.utils.ModelUtils;import java.util.ArrayList;import java.util.List;import org.apache.log4j.Logger;import org.apache.thrift.TException;import org.apache.thrift.transport.TTransportException;/*** @author vikas**/@SuppressWarnings("serial")public class UserOrderInfoController extends BaseController {private static Logger log = Logger.getLogger(Class.class);private static BlueDartTrackingService blueDartTrackingService = new BlueDartTrackingService();private long orderId;private Order order;private List<Payment> payments;private List<ShipmentUpdate> shipmentUpdates;private Long codTicketId;private List<Address> addresses;public UserOrderInfoController() {super();}public String index() throws Exception {PaymentClient paymentServiceClient = new PaymentClient();TransactionClient transactionServiceClient = new TransactionClient();try {order = transactionServiceClient.getClient().getOrder(orderId);} catch (Exception e) {addActionError("Invalid order id or no order selected.");return "index";}payments = paymentServiceClient.getClient().getPaymentForTxnId(order.getTransactionId());shipmentUpdates = blueDartTrackingService.getUpdates(order.getAirwaybill_no());if (order.isCod() && OrderStatus.INIT.equals(order.getStatus())) {populateCODTicketId(order.getCustomer_id());}if (canEditOrderAddress()) {userContextServiceClient = new UserClient().getClient();addresses = userContextServiceClient.getAllAddressesForUser(order.getCustomer_id());}return INDEX;}private boolean canEditOrderAddress() {return false;}private void populateCODTicketId(long customerId) {try {SearchFilter searchFilter = new SearchFilter();searchFilter.setTicketCategory(TicketCategory.COD_VERIFICATION);searchFilter.setTicketStatuses(new ArrayList<TicketStatus>());searchFilter.getTicketStatuses().add(TicketStatus.OPEN);searchFilter.getTicketStatuses().add(TicketStatus.REOPEN);searchFilter.setCustomerId(customerId);crmServiceClient = new CRMClient().getClient();List<Ticket> tickets = crmServiceClient.getTickets(searchFilter);if (tickets != null && !tickets.isEmpty()) {codTicketId = tickets.get(0).getId();}} catch (TException e) {log.error("Error fetching tickets for customerId: " + customerId, e);}}public String getPaymentGateway(Payment payment) {String gatewayName = "";try {Client paymentServiceClient = new PaymentClient().getClient();gatewayName = paymentServiceClient.getPaymentGateway(payment.getGatewayId()).getName();} catch (TTransportException e) {} catch (PaymentException e) {} catch (TException e) {}return gatewayName;}public String getProductName(LineItem lineItem) {String name = ModelUtils.extractProductNameFromLineItem(lineItem);if (lineItem.getColor() != null && !lineItem.getColor().isEmpty()) {name += "(" + lineItem.getColor() + ")";}return name;}public int convertDouble(double value) {return (int)value;}public String getAddress(Order order) {return ModelUtils.extractAddressFromOrder(order);}public String getPaymentMethod(List<Attribute> paymentAttributes) {String paymentMethod = null;if (paymentAttributes == null || paymentAttributes.isEmpty()) {return "N/A";}for (Attribute a : paymentAttributes) {if ("payMethod".equals(a.getName())) {paymentMethod = Constants.PAYMENT_METHOD.get(a.getValue());break;}}return paymentMethod != null ? paymentMethod : "N/A";}public void setOrderId(String orderId) {try {this.orderId = Long.parseLong(orderId);} catch (NumberFormatException e) {log.error(e);}}public List<Payment> getPayments() {return payments;}public List<ShipmentUpdate> getShipmentUpdates() {return shipmentUpdates;}public void setShipmentUpdates(List<ShipmentUpdate> shipmentUpdates) {this.shipmentUpdates = shipmentUpdates;}public Order getOrder() {return order;}public void setOrder(Order order) {this.order = order;}public Long getCodTicketId() {return codTicketId;}public void setCodTicketId(Long codTicketId) {this.codTicketId = codTicketId;}public List<Address> getAddresses() {return addresses;}public void setAddresses(List<Address> addresses) {this.addresses = addresses;}}