Subversion Repositories SmartDukaan

Rev

Rev 3499 | Rev 3853 | 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());
75
            orderMap.put("amount", Double.toString(order.getTotal_amount()));
76
            userOrders.add(orderMap);
77
        }
78
        return "index";
79
    }
80
 
81
    public void setUserId(String userId) {
82
        try {
83
            this.userId = Long.parseLong(userId);
84
        }
85
        catch (NumberFormatException e) {
86
            log.error(e);
87
        }
88
    }
89
 
90
    public Long getUserId() {
91
        return userId;
92
    }
93
 
94
    public List<Map<String, String>> getUserOrders() {
95
        return userOrders;
96
    }
3499 mandeep.dh 97
 
98
    public String getStatus() {
99
        return status;
100
    }
101
 
102
    public void setStatus(String status) {
103
        this.status = status;
104
    }
105
 
106
    public String getId() {
107
        return id;
108
    }
109
 
110
    public void setId(String id) {
111
        this.id = id;
112
    }
2674 vikas 113
}