Subversion Repositories SmartDukaan

Rev

Rev 3546 | Rev 3996 | 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;
3128 rajveer 5
import in.shop2020.thrift.clients.TransactionClient;
3269 mandeep.dh 6
import in.shop2020.util.CRMConstants;
2674 vikas 7
 
8
import java.text.SimpleDateFormat;
9
import java.util.ArrayList;
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;
3499 mandeep.dh 26
    private String id;
27
    private String status;
2674 vikas 28
    private List<Map<String, String>> userOrders;
29
 
30
    public UserOrdersController(){
31
        super();
32
    }
33
 
34
    public String index() throws Exception {
3128 rajveer 35
        TransactionClient transactionServiceClient = new TransactionClient();
2674 vikas 36
 
37
        List<Order> orders = transactionServiceClient.getClient().getOrdersForCustomer(userId, 0, (new Date().getTime()), null);
38
        userOrders = new ArrayList<Map<String,String>>();
39
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
40
        sdf.setTimeZone(TimeZone.getTimeZone("IST"));
2714 vikas 41
 
2674 vikas 42
        for (Order order : orders) {
43
            Map<String, String> orderMap = new HashMap<String, String>();
44
            orderMap.put("id", Long.toString(order.getId()));
2714 vikas 45
            orderMap.put("created", sdf.format(new Date(order.getCreated_timestamp())));
46
 
47
            if (order.getStatus() == OrderStatus.DELIVERY_SUCCESS) {
48
                orderMap.put("status", "Completed");
2674 vikas 49
            }
3269 mandeep.dh 50
            else if (CRMConstants.failedStatusList.contains(order.getStatus())) {
2728 vikas 51
                orderMap.put("status", "Failed");
2714 vikas 52
            }
53
            else {
2728 vikas 54
                orderMap.put("status", "Open");
2714 vikas 55
            }
56
 
2674 vikas 57
            StringBuilder address = new StringBuilder();
58
            if (order.getCustomer_address1() != null) {
59
                address.append(order.getCustomer_address1() + ", ");
60
            }
61
            if (order.getCustomer_address2() != null) {
62
                address.append(order.getCustomer_address2() + ", ");
63
            }
64
            if (order.getCustomer_city() != null) {
65
                address.append(order.getCustomer_city() + ", ");
66
            }
67
            if (order.getCustomer_state() != null) {
68
                address.append(order.getCustomer_state() + "-");
69
            }
70
            if (order.getCustomer_pincode() != null) {
71
                address.append(order.getCustomer_pincode());
72
            }
73
            orderMap.put("shipping", address.toString());
74
            orderMap.put("city", order.getCustomer_city());
3853 mandeep.dh 75
            orderMap.put("mobileNumber", order.getCustomer_mobilenumber());
2674 vikas 76
            orderMap.put("amount", Double.toString(order.getTotal_amount()));
77
            userOrders.add(orderMap);
78
        }
79
        return "index";
80
    }
81
 
82
    public void setUserId(String userId) {
83
        try {
84
            this.userId = Long.parseLong(userId);
85
        }
86
        catch (NumberFormatException e) {
87
            log.error(e);
88
        }
89
    }
90
 
91
    public Long getUserId() {
92
        return userId;
93
    }
94
 
95
    public List<Map<String, String>> getUserOrders() {
96
        return userOrders;
97
    }
3499 mandeep.dh 98
 
99
    public String getStatus() {
100
        return status;
101
    }
102
 
103
    public void setStatus(String status) {
104
        this.status = status;
105
    }
106
 
107
    public String getId() {
108
        return id;
109
    }
110
 
111
    public void setId(String id) {
112
        this.id = id;
113
    }
2674 vikas 114
}