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
 
555 chandransh 3
import in.shop2020.model.v1.user.Cart;
4
import in.shop2020.model.v1.user.ShoppingCartException;
507 rajveer 5
import in.shop2020.model.v1.user.Address;
6
import in.shop2020.model.v1.user.AddressType;
7
import in.shop2020.model.v1.user.UserContextService.Client;
8
import in.shop2020.serving.controllers.BaseController;
9
import in.shop2020.serving.pages.PageContentKeys;
10
import in.shop2020.serving.pages.PageEnum;
11
import in.shop2020.serving.pages.PageManager;
12
import in.shop2020.serving.utils.Utils;
13
import in.shop2020.thrift.clients.UserContextServiceClient;
14
 
15
import java.util.*;
16
 
17
import org.apache.juli.logging.Log;
18
import org.apache.juli.logging.LogFactory;
19
import org.apache.struts2.convention.annotation.Result;
20
import org.apache.struts2.convention.annotation.Results;
21
import org.apache.struts2.interceptor.ParameterAware;
22
import org.apache.struts2.rest.DefaultHttpHeaders;
23
import org.apache.struts2.rest.HttpHeaders;
24
import org.apache.thrift.TException;
25
 
595 rajveer 26
@Results({
27
    @Result(name="redirect", type="redirectAction", 
28
    		params = {"actionName" , "address"})
29
})
507 rajveer 30
public class AddressController extends BaseController implements ParameterAware{
31
 
32
	private static final long serialVersionUID = 1L;
33
	private static Log log = LogFactory.getLog(AddressController.class);
34
	Map<String, String[]> reqparams = null;
35
 
36
	private Map<String,String> htmlSnippets;
37
	private PageManager pageManager = null;
38
	public AddressController(){
39
		super();
40
		pageManager = PageManager.getPageManager();	
41
	}
42
 
43
	 // GET /address
44
	 public HttpHeaders index() {
555 chandransh 45
    	long userId = userinfo.getUserId();
46
    	boolean isLoggedIn = !userinfo.isLoggedIn();
47
		Map<PageContentKeys, String> params = new HashMap<PageContentKeys, String>();		
507 rajveer 48
 
49
		params.put(PageContentKeys.CUSTOMER_ID, userId+"");
555 chandransh 50
		params.put(PageContentKeys.IS_LOGGED_IN, isLoggedIn+"");
507 rajveer 51
		params.put(PageContentKeys.CART_ID, userinfo.getCartId()+"");
52
		params.put(PageContentKeys.ITEM_COUNT, userinfo.getTotalItems()+"");
53
 
54
		htmlSnippets = pageManager.getPageContents(PageEnum.SHIPPING_ADDRESS_PAGE, params);
55
 
56
    	return new DefaultHttpHeaders("index").disableCaching();
57
	 }
58
 
59
	// POST /address
60
	public HttpHeaders create(){
61
    	printParams();
62
 
63
		if(userinfo.isLoggedIn()){
64
			UserContextServiceClient userContextServiceClient;
65
			try {
66
				userContextServiceClient = new UserContextServiceClient();
67
				Client userClient = userContextServiceClient.getClient();
68
 
517 rajveer 69
				String action = this.request.getParameter("action");
70
				String isDefault = this.request.getParameter("default");
71
 
72
				if(action != null){
73
					if(action.equals("add")){
74
						Address address = new Address();
595 rajveer 75
						address.setName(this.request.getParameter("name"));
517 rajveer 76
						address.setLine1(this.request.getParameter("line1"));
77
						address.setLine2(this.request.getParameter("line2"));
78
						address.setCity(this.request.getParameter("city"));
79
						address.setState(this.request.getParameter("state"));
80
						address.setPin(this.request.getParameter("pincode"));
595 rajveer 81
						address.setPhone(this.request.getParameter("phone"));
517 rajveer 82
						address.setCountry(this.request.getParameter("country"));
83
						address.setEnabled(true);
595 rajveer 84
						address.setType(AddressType.HOME);
517 rajveer 85
						if(isDefault.equals("true")){
569 rajveer 86
							userClient.addAddressForUser(userinfo.getUserId(), address, true);
595 rajveer 87
							addActionMessage("Address added successfully.");
517 rajveer 88
						}else{
569 rajveer 89
							userClient.addAddressForUser(userinfo.getUserId(), address, false);
595 rajveer 90
							addActionMessage("Address added successfully.");
517 rajveer 91
						}
595 rajveer 92
						return new DefaultHttpHeaders("redirect");
517 rajveer 93
					}
507 rajveer 94
 
517 rajveer 95
					if(action.equals("delete")){
96
						Long addressId = Long.parseLong(this.request.getParameter("addressid"));
97
						userClient.removeAddressForUser(userinfo.getUserId(), addressId);
595 rajveer 98
						addActionMessage("Address deleted successfully.");
99
						return new DefaultHttpHeaders("success");	
517 rajveer 100
					}
101
 
102
					if(action.equals("setdefault")){
103
						Long addressId = Long.parseLong(this.request.getParameter("addressid"));
104
						userClient.setDefaultAddress(userinfo.getUserId(), addressId);
595 rajveer 105
						addActionMessage("Address set default successfully.");
106
						return new DefaultHttpHeaders("success");	
517 rajveer 107
					}
507 rajveer 108
				}
595 rajveer 109
 
507 rajveer 110
			} catch (Exception e) {
111
				e.printStackTrace();
595 rajveer 112
				addActionError("Unable to update address.");
113
				return new DefaultHttpHeaders("redirect");
507 rajveer 114
			}
115
 
595 rajveer 116
			return new DefaultHttpHeaders("redirect");
507 rajveer 117
		}else{
118
			return new DefaultHttpHeaders("failure");
119
		}
120
 
595 rajveer 121
 
507 rajveer 122
	}
123
 
124
    public void printParams(){
125
    	for(String param : reqparams.keySet()) {
126
    		log.info("param name is " + param);
127
    		log.info("param first is " + reqparams.get(param)[0]);
128
    	}
129
    	log.info(this.reqparams);
130
    }
131
 
132
	@Override
133
	public void setParameters(Map<String, String[]> reqmap) {
134
		log.info("setParameters:" + reqmap);
135
 
136
		this.reqparams = reqmap;
137
	}
138
 
139
    public String getHeaderSnippet(){
140
		return htmlSnippets.get("HEADER");
141
	}
142
 
143
	public String getMainMenuSnippet(){
144
		return htmlSnippets.get("MAIN_MENU");
145
	}
146
 
147
	public String getSearchBarSnippet(){
148
		return htmlSnippets.get("SEARCH_BAR");
149
	}
150
 
151
 
152
	public String getCustomerServiceSnippet(){
153
		return htmlSnippets.get("CUSTOMER_SERVICE");
154
	}
155
 
156
	public String getShippingAddressHeaderSnippet(){
157
		return htmlSnippets.get("SHIPPING_ADDRESS_HEADER");
158
	}
159
 
160
	public String getShippingAddressDetailsSnippet(){
161
		return htmlSnippets.get("SHIPPING_ADDRESS_DETAILS");
162
	}
163
 
164
	public String getMyResearchSnippet(){
165
		return htmlSnippets.get("MY_RESEARCH");
166
	}
167
 
168
	public String getFooterSnippet(){
169
		return htmlSnippets.get("FOOTER");
170
	}
171
 
172
	public String getJsFileSnippet(){
173
		return htmlSnippets.get("JS_FILES");
174
	}
175
 
176
	public String getCssFileSnippet(){
177
		return htmlSnippets.get("CSS_FILES");
178
	}
179
}