Subversion Repositories SmartDukaan

Rev

Rev 4484 | Rev 4837 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
405 rajveer 1
package in.shop2020.serving.controllers;
2
 
2191 varun.gupt 3
import java.text.SimpleDateFormat;
4
import java.util.ArrayList;
3014 chandransh 5
import java.util.Arrays;
2355 rajveer 6
import java.util.Collections;
2191 varun.gupt 7
import java.util.Date;
8
import java.util.HashMap;
9
import java.util.List;
10
import java.util.Map;
11
 
12
import in.shop2020.logistics.Provider;
13
import in.shop2020.model.v1.order.Order;
3014 chandransh 14
import in.shop2020.model.v1.order.OrderStatus;
2191 varun.gupt 15
import in.shop2020.serving.utils.FormattingUtils;
3126 rajveer 16
import in.shop2020.thrift.clients.LogisticsClient;
17
import in.shop2020.thrift.clients.TransactionClient;
2191 varun.gupt 18
 
832 rajveer 19
import org.apache.log4j.Logger;
781 vikas 20
import org.apache.struts2.convention.annotation.InterceptorRef;
21
import org.apache.struts2.convention.annotation.InterceptorRefs;
413 rajveer 22
import org.apache.struts2.convention.annotation.Result;
23
import org.apache.struts2.convention.annotation.Results;
405 rajveer 24
 
25
/**
413 rajveer 26
 * @author rajveer
405 rajveer 27
 *
28
 */
413 rajveer 29
 
3014 chandransh 30
@SuppressWarnings("serial")
781 vikas 31
@InterceptorRefs({
822 vikas 32
    @InterceptorRef("myDefault"),
33
    @InterceptorRef("login")
781 vikas 34
})
35
 
637 rajveer 36
@Results({
37
    @Result(name="redirect", type="redirectAction", 
38
    		params = {"actionName" , "login"})
39
})
650 rajveer 40
public class MyaccountController extends BaseController {
405 rajveer 41
 
2897 chandransh 42
	private static Logger logger = Logger.getLogger(Class.class);
3121 chandransh 43
	private static final List<OrderStatus> statuses = Arrays.asList(
44
	        new OrderStatus[] {
45
	                OrderStatus.PAYMENT_PENDING,
4662 rajveer 46
	                OrderStatus.COD_VERIFICATION_PENDING,
3121 chandransh 47
	                OrderStatus.SUBMITTED_FOR_PROCESSING,
48
	                OrderStatus.INVENTORY_LOW,
49
	                OrderStatus.ACCEPTED,
50
	                OrderStatus.BILLED,
4246 rajveer 51
	                OrderStatus.PAYMENT_FLAGGED,           
3121 chandransh 52
	                OrderStatus.SHIPPED_FROM_WH,
53
	                OrderStatus.SHIPPED_TO_LOGST,
4246 rajveer 54
	                OrderStatus.PAYMENT_FLAGGED_DENIED,
55
	                OrderStatus.CANCEL_REQUEST_RECEIVED,
56
        	        OrderStatus.CANCEL_REQUEST_CONFIRMED,
57
        	        OrderStatus.CANCELLED_ON_CUSTOMER_REQUEST,
58
        	        OrderStatus.CANCELLED_DUE_TO_LOW_INVENTORY,
3121 chandransh 59
 
4484 rajveer 60
        	        OrderStatus.RTO_IN_TRANSIT,
61
        	        OrderStatus.RTO_RECEIVED_PRESTINE,
3121 chandransh 62
 
4452 rajveer 63
        	        OrderStatus.DOA_PICKUP_REQUEST_RAISED,
64
        	        OrderStatus.DOA_PICKUP_CONFIRMED,
3121 chandransh 65
        	        OrderStatus.DOA_RETURN_IN_TRANSIT,
4452 rajveer 66
        	        OrderStatus.DOA_RECEIVED_PRESTINE,
3121 chandransh 67
        	        OrderStatus.DOA_CERT_INVALID,
68
        	        OrderStatus.DOA_CERT_VALID
69
                    }
70
	        );
2191 varun.gupt 71
    private FormattingUtils formattingUtils = new FormattingUtils();
650 rajveer 72
 
2191 varun.gupt 73
    Map<Long, String> providerNames = new HashMap<Long, String>();
74
    List<Order> orders = null;
75
    List<String> orderDate = new ArrayList<String>();
405 rajveer 76
 
77
	public MyaccountController() {
78
		super();
79
	}
650 rajveer 80
 
81
	public String index(){
2897 chandransh 82
    	logger.info("this.request=" + this.request);
650 rajveer 83
 
2191 varun.gupt 84
        try {
3126 rajveer 85
            TransactionClient transactionServiceClient = new TransactionClient();
2191 varun.gupt 86
            in.shop2020.model.v1.order.TransactionService.Client orderClient = transactionServiceClient.getClient();
3014 chandransh 87
            orders = orderClient.getOrdersForCustomer(userinfo.getUserId(), 0, (new Date()).getTime(), statuses);
2355 rajveer 88
            //Reverse the list of order. Last come first displayed 
89
            Collections.reverse(orders);
3126 rajveer 90
            LogisticsClient logisticsServiceClient = new LogisticsClient();
2191 varun.gupt 91
            in.shop2020.logistics.LogisticsService.Client logisticsClient = logisticsServiceClient.getClient();
92
            List<Provider> providers = logisticsClient.getAllProviders();
93
 
94
            for(Provider provider: providers)
95
                providerNames.put(provider.getId(), provider.getName());
96
 
97
        } catch (Exception e)   {
2897 chandransh 98
            logger.error("Error while getting the orders for the user", e);
2191 varun.gupt 99
        }
100
        SimpleDateFormat dateformat = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss aa");
101
 
102
        if(orders != null && !orders.isEmpty()){
103
            for(Order order: orders)    {
104
                Date orderedOn = new Date(order.getCreated_timestamp());
105
                orderDate.add(dateformat.format(orderedOn));
106
            }
107
        }
650 rajveer 108
		return "index";
405 rajveer 109
    }
110
 
2191 varun.gupt 111
	public String formatPrice(double price)    {
112
        return formattingUtils.formatPrice(price);
113
    }
507 rajveer 114
 
2191 varun.gupt 115
    public Map<Long, String> getProviderNames() {
116
        return providerNames;
117
    }
118
 
119
    public List<Order> getOrders()  {
120
        return orders;
121
    }
122
 
123
    public List<String> getOrderDate()  {
124
        return orderDate;
125
    }
126
}