Subversion Repositories SmartDukaan

Rev

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

Rev Author Line No. Line
2674 vikas 1
package in.shop2020.serving.controllers;
2
 
3
import in.shop2020.model.v1.order.Order;
2714 vikas 4
import in.shop2020.model.v1.order.OrderStatus;
2674 vikas 5
import in.shop2020.thrift.clients.TransactionServiceClient;
6
 
7
import java.text.SimpleDateFormat;
8
import java.util.ArrayList;
2714 vikas 9
import java.util.Arrays;
2674 vikas 10
import java.util.Date;
11
import java.util.HashMap;
12
import java.util.List;
13
import java.util.Map;
14
import java.util.TimeZone;
15
 
16
import org.apache.log4j.Logger;
17
 
18
/**
19
 * @author vikas
20
 *
21
 */
22
@SuppressWarnings("serial")
23
public class UserOrdersController extends BaseController {
24
    private static Logger log = Logger.getLogger(Class.class);
25
    private long userId;
26
    private List<Map<String, String>> userOrders;
27
 
28
    public UserOrdersController(){
29
        super();
30
    }
31
 
32
    public String index() throws Exception {
33
        TransactionServiceClient transactionServiceClient = new TransactionServiceClient();
34
 
35
        List<Order> orders = transactionServiceClient.getClient().getOrdersForCustomer(userId, 0, (new Date().getTime()), null);
36
        userOrders = new ArrayList<Map<String,String>>();
37
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
38
        sdf.setTimeZone(TimeZone.getTimeZone("IST"));
2714 vikas 39
        List<OrderStatus> failedStatusList = Arrays.asList(new OrderStatus[] {
40
                OrderStatus.SALES_RET_RESHIPPED,
41
                OrderStatus.SALES_RET_REFUNDED,
42
                OrderStatus.DOA_INVALID_REFUNDED,
43
                OrderStatus.DOA_INVALID_RESHIPPED,
44
                OrderStatus.DOA_VALID_REFUNDED,
45
                OrderStatus.DOA_RESHIPPED,
46
                OrderStatus.REFUNDED,
47
                OrderStatus.REJECTED,
48
                OrderStatus.FAILED});
49
 
2674 vikas 50
        for (Order order : orders) {
51
            Map<String, String> orderMap = new HashMap<String, String>();
52
            orderMap.put("id", Long.toString(order.getId()));
2714 vikas 53
            orderMap.put("created", sdf.format(new Date(order.getCreated_timestamp())));
54
 
55
            if (order.getStatus() == OrderStatus.DELIVERY_SUCCESS) {
56
                orderMap.put("status", "Completed");
2674 vikas 57
            }
2714 vikas 58
            else if (failedStatusList.contains(order.getStatus())) {
59
                orderMap.put("status", "Open");
60
            }
61
            else {
62
                orderMap.put("status", "Failed");
63
            }
64
 
2674 vikas 65
            StringBuilder address = new StringBuilder();
66
            if (order.getCustomer_address1() != null) {
67
                address.append(order.getCustomer_address1() + ", ");
68
            }
69
            if (order.getCustomer_address2() != null) {
70
                address.append(order.getCustomer_address2() + ", ");
71
            }
72
            if (order.getCustomer_city() != null) {
73
                address.append(order.getCustomer_city() + ", ");
74
            }
75
            if (order.getCustomer_state() != null) {
76
                address.append(order.getCustomer_state() + "-");
77
            }
78
            if (order.getCustomer_pincode() != null) {
79
                address.append(order.getCustomer_pincode());
80
            }
81
            orderMap.put("shipping", address.toString());
82
            orderMap.put("city", order.getCustomer_city());
83
            orderMap.put("amount", Double.toString(order.getTotal_amount()));
84
            userOrders.add(orderMap);
85
        }
86
        return "index";
87
    }
88
 
89
    public void setUserId(String userId) {
90
        try {
91
            this.userId = Long.parseLong(userId);
92
        }
93
        catch (NumberFormatException e) {
94
            log.error(e);
95
        }
96
    }
97
 
98
    public Long getUserId() {
99
        return userId;
100
    }
101
 
102
    public List<Map<String, String>> getUserOrders() {
103
        return userOrders;
104
    }
105
}