Subversion Repositories SmartDukaan

Rev

Rev 3269 | Rev 3546 | 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;
3499 mandeep.dh 5
import in.shop2020.model.v1.order.TransactionServiceException;
3128 rajveer 6
import in.shop2020.thrift.clients.TransactionClient;
3269 mandeep.dh 7
import in.shop2020.util.CRMConstants;
2674 vikas 8
 
9
import java.text.SimpleDateFormat;
10
import java.util.ArrayList;
11
import java.util.Date;
12
import java.util.HashMap;
13
import java.util.List;
14
import java.util.Map;
15
import java.util.TimeZone;
16
 
17
import org.apache.log4j.Logger;
3499 mandeep.dh 18
import org.apache.thrift.TException;
2674 vikas 19
 
20
/**
21
 * @author vikas
22
 *
23
 */
24
@SuppressWarnings("serial")
25
public class UserOrdersController extends BaseController {
26
    private static Logger log = Logger.getLogger(Class.class);
27
    private long userId;
3499 mandeep.dh 28
    private String id;
29
    private String status;
2674 vikas 30
    private List<Map<String, String>> userOrders;
31
 
32
    public UserOrdersController(){
33
        super();
34
    }
35
 
36
    public String index() throws Exception {
3128 rajveer 37
        TransactionClient transactionServiceClient = new TransactionClient();
2674 vikas 38
 
39
        List<Order> orders = transactionServiceClient.getClient().getOrdersForCustomer(userId, 0, (new Date().getTime()), null);
40
        userOrders = new ArrayList<Map<String,String>>();
41
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
42
        sdf.setTimeZone(TimeZone.getTimeZone("IST"));
2714 vikas 43
 
2674 vikas 44
        for (Order order : orders) {
45
            Map<String, String> orderMap = new HashMap<String, String>();
46
            orderMap.put("id", Long.toString(order.getId()));
2714 vikas 47
            orderMap.put("created", sdf.format(new Date(order.getCreated_timestamp())));
48
 
49
            if (order.getStatus() == OrderStatus.DELIVERY_SUCCESS) {
50
                orderMap.put("status", "Completed");
2674 vikas 51
            }
3269 mandeep.dh 52
            else if (CRMConstants.failedStatusList.contains(order.getStatus())) {
2728 vikas 53
                orderMap.put("status", "Failed");
2714 vikas 54
            }
55
            else {
2728 vikas 56
                orderMap.put("status", "Open");
2714 vikas 57
            }
58
 
2674 vikas 59
            StringBuilder address = new StringBuilder();
60
            if (order.getCustomer_address1() != null) {
61
                address.append(order.getCustomer_address1() + ", ");
62
            }
63
            if (order.getCustomer_address2() != null) {
64
                address.append(order.getCustomer_address2() + ", ");
65
            }
66
            if (order.getCustomer_city() != null) {
67
                address.append(order.getCustomer_city() + ", ");
68
            }
69
            if (order.getCustomer_state() != null) {
70
                address.append(order.getCustomer_state() + "-");
71
            }
72
            if (order.getCustomer_pincode() != null) {
73
                address.append(order.getCustomer_pincode());
74
            }
75
            orderMap.put("shipping", address.toString());
76
            orderMap.put("city", order.getCustomer_city());
77
            orderMap.put("amount", Double.toString(order.getTotal_amount()));
78
            userOrders.add(orderMap);
79
        }
80
        return "index";
81
    }
82
 
3499 mandeep.dh 83
    public String update() throws NumberFormatException, TransactionServiceException, TException {
84
        transactionServiceClient = new TransactionClient().getClient();
85
        transactionServiceClient.changeOrderStatus(Long.parseLong(id), OrderStatus.valueOf(status), "IN PROCESS - COD verified");
86
        return INDEX;
87
    }
88
 
2674 vikas 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
    }
3499 mandeep.dh 105
 
106
    public String getStatus() {
107
        return status;
108
    }
109
 
110
    public void setStatus(String status) {
111
        this.status = status;
112
    }
113
 
114
    public String getId() {
115
        return id;
116
    }
117
 
118
    public void setId(String id) {
119
        this.id = id;
120
    }
2674 vikas 121
}