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