Subversion Repositories SmartDukaan

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
507 rajveer 1
package in.shop2020.serving.controllers;
2
 
3
import in.shop2020.model.v1.user.Address;
4
import in.shop2020.model.v1.user.AddressType;
5
import in.shop2020.model.v1.user.UserContextService.Client;
6
import in.shop2020.serving.controllers.BaseController;
7
import in.shop2020.serving.pages.PageContentKeys;
8
import in.shop2020.serving.pages.PageEnum;
9
import in.shop2020.serving.pages.PageManager;
10
import in.shop2020.thrift.clients.UserContextServiceClient;
11
 
12
import java.util.*;
13
 
14
import org.apache.juli.logging.Log;
15
import org.apache.juli.logging.LogFactory;
16
import org.apache.struts2.convention.annotation.Result;
17
import org.apache.struts2.convention.annotation.Results;
18
import org.apache.struts2.interceptor.ParameterAware;
19
import org.apache.struts2.rest.DefaultHttpHeaders;
20
import org.apache.struts2.rest.HttpHeaders;
21
 
595 rajveer 22
@Results({
23
    @Result(name="redirect", type="redirectAction", 
650 rajveer 24
    		params = {"actionName" , "address"}),
25
    @Result(name="login", type="redirectAction", 
26
       		params = {"actionName" , "login"})
595 rajveer 27
})
507 rajveer 28
public class AddressController extends BaseController implements ParameterAware{
29
 
30
	private static final long serialVersionUID = 1L;
31
	private static Log log = LogFactory.getLog(AddressController.class);
32
	Map<String, String[]> reqparams = null;
33
 
34
	public AddressController(){
35
		super();
36
	}
37
 
38
	 // GET /address
650 rajveer 39
	 public String index() {
40
		if(!userinfo.isLoggedIn()){
41
			setRedirectUrl();
42
			return "login";
43
		}
44
		htmlSnippets.put("SHIPPING_ADDRESS_HEADER",pageLoader.getShippingHeaderHtml());
45
		htmlSnippets.put("SHIPPING_ADDRESS_DETAILS",pageLoader.getShippingAddressDetailsHtml(userinfo.getUserId()));
46
		return "index";
507 rajveer 47
	 }
48
 
49
	// POST /address
650 rajveer 50
	public String create(){
507 rajveer 51
    	printParams();
52
 
53
		if(userinfo.isLoggedIn()){
54
			UserContextServiceClient userContextServiceClient;
55
			try {
56
				userContextServiceClient = new UserContextServiceClient();
57
				Client userClient = userContextServiceClient.getClient();
58
 
517 rajveer 59
				String action = this.request.getParameter("action");
60
				String isDefault = this.request.getParameter("default");
61
 
62
				if(action != null){
63
					if(action.equals("add")){
64
						Address address = new Address();
595 rajveer 65
						address.setName(this.request.getParameter("name"));
517 rajveer 66
						address.setLine1(this.request.getParameter("line1"));
67
						address.setLine2(this.request.getParameter("line2"));
68
						address.setCity(this.request.getParameter("city"));
69
						address.setState(this.request.getParameter("state"));
70
						address.setPin(this.request.getParameter("pincode"));
595 rajveer 71
						address.setPhone(this.request.getParameter("phone"));
517 rajveer 72
						address.setCountry(this.request.getParameter("country"));
73
						address.setEnabled(true);
595 rajveer 74
						address.setType(AddressType.HOME);
517 rajveer 75
						if(isDefault.equals("true")){
569 rajveer 76
							userClient.addAddressForUser(userinfo.getUserId(), address, true);
595 rajveer 77
							addActionMessage("Address added successfully.");
517 rajveer 78
						}else{
569 rajveer 79
							userClient.addAddressForUser(userinfo.getUserId(), address, false);
595 rajveer 80
							addActionMessage("Address added successfully.");
517 rajveer 81
						}
650 rajveer 82
						return "redirect";
517 rajveer 83
					}
507 rajveer 84
 
517 rajveer 85
					if(action.equals("delete")){
86
						Long addressId = Long.parseLong(this.request.getParameter("addressid"));
87
						userClient.removeAddressForUser(userinfo.getUserId(), addressId);
595 rajveer 88
						addActionMessage("Address deleted successfully.");
650 rajveer 89
						return "success";	
517 rajveer 90
					}
91
 
92
					if(action.equals("setdefault")){
93
						Long addressId = Long.parseLong(this.request.getParameter("addressid"));
94
						userClient.setDefaultAddress(userinfo.getUserId(), addressId);
595 rajveer 95
						addActionMessage("Address set default successfully.");
650 rajveer 96
						return "success";	
517 rajveer 97
					}
507 rajveer 98
				}
595 rajveer 99
 
507 rajveer 100
			} catch (Exception e) {
101
				e.printStackTrace();
595 rajveer 102
				addActionError("Unable to update address.");
650 rajveer 103
				return"redirect";
507 rajveer 104
			}
105
 
650 rajveer 106
			return "redirect";
507 rajveer 107
		}else{
650 rajveer 108
			return "failure";
507 rajveer 109
		}
110
 
595 rajveer 111
 
507 rajveer 112
	}
113
 
114
    public void printParams(){
115
    	for(String param : reqparams.keySet()) {
116
    		log.info("param name is " + param);
117
    		log.info("param first is " + reqparams.get(param)[0]);
118
    	}
119
    	log.info(this.reqparams);
120
    }
121
 
122
	@Override
123
	public void setParameters(Map<String, String[]> reqmap) {
124
		log.info("setParameters:" + reqmap);
125
 
126
		this.reqparams = reqmap;
127
	}
128
 
650 rajveer 129
    public String getShippingAddressHeaderSnippet(){
507 rajveer 130
		return htmlSnippets.get("SHIPPING_ADDRESS_HEADER");
131
	}
132
 
133
	public String getShippingAddressDetailsSnippet(){
134
		return htmlSnippets.get("SHIPPING_ADDRESS_DETAILS");
135
	}
136
}