Subversion Repositories SmartDukaan

Rev

Rev 3128 | Rev 3499 | 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;
26
    private List<Map<String, String>> userOrders;
27
 
28
    public UserOrdersController(){
29
        super();
30
    }
31
 
32
    public String index() throws Exception {
3128 rajveer 33
        TransactionClient transactionServiceClient = new TransactionClient();
2674 vikas 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
 
2674 vikas 40
        for (Order order : orders) {
41
            Map<String, String> orderMap = new HashMap<String, String>();
42
            orderMap.put("id", Long.toString(order.getId()));
2714 vikas 43
            orderMap.put("created", sdf.format(new Date(order.getCreated_timestamp())));
44
 
45
            if (order.getStatus() == OrderStatus.DELIVERY_SUCCESS) {
46
                orderMap.put("status", "Completed");
2674 vikas 47
            }
3269 mandeep.dh 48
            else if (CRMConstants.failedStatusList.contains(order.getStatus())) {
2728 vikas 49
                orderMap.put("status", "Failed");
2714 vikas 50
            }
51
            else {
2728 vikas 52
                orderMap.put("status", "Open");
2714 vikas 53
            }
54
 
2674 vikas 55
            StringBuilder address = new StringBuilder();
56
            if (order.getCustomer_address1() != null) {
57
                address.append(order.getCustomer_address1() + ", ");
58
            }
59
            if (order.getCustomer_address2() != null) {
60
                address.append(order.getCustomer_address2() + ", ");
61
            }
62
            if (order.getCustomer_city() != null) {
63
                address.append(order.getCustomer_city() + ", ");
64
            }
65
            if (order.getCustomer_state() != null) {
66
                address.append(order.getCustomer_state() + "-");
67
            }
68
            if (order.getCustomer_pincode() != null) {
69
                address.append(order.getCustomer_pincode());
70
            }
71
            orderMap.put("shipping", address.toString());
72
            orderMap.put("city", order.getCustomer_city());
73
            orderMap.put("amount", Double.toString(order.getTotal_amount()));
74
            userOrders.add(orderMap);
75
        }
76
        return "index";
77
    }
78
 
79
    public void setUserId(String userId) {
80
        try {
81
            this.userId = Long.parseLong(userId);
82
        }
83
        catch (NumberFormatException e) {
84
            log.error(e);
85
        }
86
    }
87
 
88
    public Long getUserId() {
89
        return userId;
90
    }
91
 
92
    public List<Map<String, String>> getUserOrders() {
93
        return userOrders;
94
    }
95
}