Subversion Repositories SmartDukaan

Rev

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

Rev Author Line No. Line
2714 vikas 1
package in.shop2020.serving.controllers;
2
 
3
import in.shop2020.model.v1.catalog.Item;
4
import in.shop2020.model.v1.user.Line;
3128 rajveer 5
import in.shop2020.thrift.clients.CatalogClient;
6
import in.shop2020.thrift.clients.UserClient;
2714 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 UserCartController extends BaseController {
24
    private static Logger log = Logger.getLogger(Class.class);
25
    private long userId;
26
    private long cartId;
27
    private List<Map<String, String>> userLines;
28
 
29
    public UserCartController(){
30
        super();
31
    }
32
 
33
    public String index() throws Exception {
3128 rajveer 34
    	UserClient userServiceClient = new UserClient();
35
        in.shop2020.model.v1.user.UserContextService.Client userClient = userServiceClient.getClient();
2714 vikas 36
 
3128 rajveer 37
        CatalogClient catalogServiceClient = new CatalogClient();
2714 vikas 38
        in.shop2020.model.v1.catalog.InventoryService.Client catalogClient = catalogServiceClient.getClient();
39
 
40
        List<Line> lines = userClient.getCart(cartId).getLines();
41
 
42
        userLines = new ArrayList<Map<String,String>>();
43
        if (userClient.getUserById(userId).getActiveCartId() != cartId) {
44
            return "index";
45
        }
46
 
47
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
48
        sdf.setTimeZone(TimeZone.getTimeZone("IST"));
49
 
50
        for (Line line : lines) {
51
            Map<String, String> lineMap = new HashMap<String, String>();
52
            lineMap.put("itemid", Long.toString(line.getItemId()));
53
            Item item = catalogClient.getItem(line.getItemId());
54
 
55
            StringBuilder productName = new StringBuilder();
56
            if (item.getBrand() != null && !item.getBrand().isEmpty()) {
57
                productName.append(item.getBrand() + " ");
58
            }
59
            if (item.getModelName() != null && !item.getModelName().isEmpty()) {
60
                productName.append(item.getModelName()  + " ");
61
            }
62
            if (item.getModelNumber() != null && !item.getModelNumber().isEmpty()) {
63
                productName.append(item.getModelNumber()  + " ");
64
            }
65
            lineMap.put("itemname", productName.toString());
66
            lineMap.put("quantity", Double.toString(line.getQuantity()));
67
            lineMap.put("actualprice", Double.toString(line.getActualPrice()));
68
            lineMap.put("discountedprice", Double.toString(line.getDiscountedPrice()));
69
            lineMap.put("estimate", Integer.toString(line.getEstimate()));
70
            lineMap.put("createdon", sdf.format((new Date(line.getCreatedOn()))));
71
 
72
            userLines.add(lineMap);
73
        }
74
        return "index";
75
    }
76
 
77
    public void setUserId(String userId) {
78
        try {
79
            this.userId = Long.parseLong(userId);
80
        }
81
        catch (NumberFormatException e) {
82
            log.error(e);
83
        }
84
    }
85
 
86
    public void setCartId(String cartId) {
87
        try {
88
            this.cartId = Long.parseLong(cartId);
89
        }
90
        catch (NumberFormatException e) {
91
            log.error(e);
92
        }
93
    }
94
 
95
    public Long getUserId() {
96
        return userId;
97
    }
98
 
99
    public List<Map<String, String>> getUserLines() {
100
        return userLines;
101
    }
102
}