Subversion Repositories SmartDukaan

Rev

Rev 6057 | Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
6050 anupam.sin 1
package in.shop2020.serving.controllers;
2
 
3
import in.shop2020.model.v1.order.OrderType;
4
import in.shop2020.model.v1.order.RechargeCoupon;
5
import in.shop2020.model.v1.order.RechargeCouponStatus;
6
import in.shop2020.model.v1.order.RechargeOrder;
7
import in.shop2020.model.v1.order.RechargeOrderStatus;
8
import in.shop2020.model.v1.order.RechargeType;
9
import in.shop2020.model.v1.order.TransactionServiceException;
10
import in.shop2020.model.v1.user.Coupon;
11
import in.shop2020.model.v1.user.Sex;
12
import in.shop2020.model.v1.user.User;
13
import in.shop2020.model.v1.user.UserContextException;
14
import in.shop2020.serving.interceptors.TrackingInterceptor;
15
import in.shop2020.serving.utils.DesEncrypter;
16
import in.shop2020.serving.utils.Utils;
17
import in.shop2020.thrift.clients.HelperClient;
18
import in.shop2020.thrift.clients.TransactionClient;
19
import in.shop2020.thrift.clients.UserClient;
20
import in.shop2020.utils.HelperServiceException;
21
 
22
import java.util.ArrayList;
23
import java.util.List;
24
 
25
import javax.servlet.http.Cookie;
26
 
27
import org.apache.log4j.Logger;
28
import org.apache.struts2.convention.annotation.Result;
29
import org.apache.struts2.convention.annotation.Results;
30
import org.apache.thrift.TException;
31
import org.apache.thrift.transport.TTransportException;
32
 
33
@SuppressWarnings({ "serial", "serial" })
34
@Results({
35
    @Result(name="pay-options-redirect", type="redirectAction", params = {"actionName" , "recharge-pay-options", "rechargeOrderId", "${rechargeOrderId}"}),
36
    @Result(name="create-recharge-redirect", type="redirectAction", params = {"actionName" , "recharge-payment", "rechargeOrderId", "${rechargeOrderId}"})
37
})
38
 
39
public class ConfirmController extends BaseController{
40
 
41
    /**
42
     * 
43
     */
44
    private static final long serialVersionUID = 1L;
45
    private String amount = "";
46
    private String operator = "";
47
    private String number = "";
48
    private String email = "";
49
    private String rechargeType = "";
50
    private DesEncrypter desEncrypter = new DesEncrypter("saholic");
51
    private List<String> couponIds = null;
52
    private List<RechargeCoupon> coupons = null;
53
    private String userId;
54
    private static Logger log = Logger.getLogger(Class.class);
55
 
56
    public String index() {
57
        return "index";
58
    }
59
 
60
    public String create() {
61
        return index();
62
 
63
    }
64
 
65
    public String createRecharge(){
66
        try {
67
            RechargeOrder rechargeOrder = new RechargeOrder();
68
            rechargeOrder.setTotalAmount(Long.parseLong(amount));
69
            rechargeOrder.setUserEmailId(email);
70
            rechargeOrder.setUserId(Long.parseLong(userId));
71
            rechargeOrder.setDeviceNumber(number);
72
            rechargeOrder.setOperatorId(Long.parseLong(operator));
73
            rechargeOrder.setRechargeType(RechargeType.valueOf(rechargeType));
74
            rechargeOrder.setStatus(RechargeOrderStatus.PAYMENT_PENDING);
75
            rechargeOrder.setOrderType(OrderType.B2C);
76
 
77
            TransactionClient tc = new TransactionClient();
78
            rechargeOrder = tc.getClient().createRechargeOrder(rechargeOrder);
79
 
80
        } catch (TransactionServiceException e) {
81
            // TODO Auto-generated catch block
82
            e.printStackTrace();
83
        } catch (TException e) {
84
            // TODO Auto-generated catch block
85
            e.printStackTrace();
86
        }
87
        if(amount.equals("0")) {
88
            return "create-recharge-redirect";
89
        } else {
90
            return "recharge-pay-options-redirect";
91
        }
92
    }
93
 
94
    public String temp() {
95
        try {
96
            UserClient ucl = new UserClient();
97
            User user = ucl.getClient().getUserByEmail(email);
98
            if(user == null) {
99
                user = new User();
100
                String password = null;
101
                boolean isValid = true;
102
 
103
                /**
104
                 * TODO : Generate password
105
                 * password = this.request.getParameter("txtPassword");
106
                 * 
107
                 */
108
 
109
 
110
                if(!Utils.isValidEmail(email))  {
111
                    addActionError("Please enter valid email address.");
112
                    isValid = false;
113
                }
114
 
115
                user.setEmail(email);
116
                String encryptedPassword = desEncrypter.encrypt(password);
117
                user.setPassword(encryptedPassword);
118
                user.setCommunicationEmail(email);
119
                Cookie sourceCookie = (Cookie) cookiesMap.get(TrackingInterceptor.SRC_COOKIE);
120
                if (sourceCookie != null) {
121
                    DesEncrypter des = new DesEncrypter(TrackingInterceptor.ENCRIPTION_STRING);
122
                    String sourceCookieVal = des.decrypt(sourceCookie.getValue());
123
                    user.setSource(sourceCookieVal);
124
                }
125
 
126
                Cookie sourceTimeCookie = (Cookie) cookiesMap.get(TrackingInterceptor.SRC_TIME_COOKIE);
127
                long sourceTime = 0;
128
                if (sourceTimeCookie != null) {
129
                    try {
130
                        sourceTime = Long.parseLong(sourceTimeCookie.getValue());
131
                    }
132
                    catch (Exception e) {
133
                        log.warn("Unable to parse session src time cookie.");
134
                    }
135
                    user.setSourceStartTime(sourceTime);
136
                }
137
 
138
                user.setSex(Sex.WONT_SAY);
139
 
140
 
141
                UserClient userContextServiceClient;
142
                userContextServiceClient = new UserClient();
143
                in.shop2020.model.v1.user.UserContextService.Client userClient = userContextServiceClient.getClient();
144
                user = userClient.createUser(user);
145
                HelperClient hc = new HelperClient();
146
                List<String> mailingList = new ArrayList<String>();
147
                mailingList.add(email);
148
                hc.getClient().saveUserEmailForSending(mailingList, "help@saholic.com", "Login Details", "/*body*/", "/*source*/", "/*emailType*/", null, null);
149
            }
150
            setUserId("" + user.getUserId());
151
 
152
 
153
            /*****************************
154
             * 
155
             * TODO : Handle Wallets
156
             * 
157
             */
158
 
159
 
160
            //TransactionClient tc = new TransactionClient();
161
            //setCoupons(tc.getClient().getRechargeCoupons(user.getUserId(), RechargeCouponStatus.ACTIVE));
162
        } catch (TTransportException e) {
163
            // TODO Auto-generated catch block
164
            e.printStackTrace();
165
        } catch (UserContextException e) {
166
            // TODO Auto-generated catch block
167
            e.printStackTrace();
168
        } catch (TException e) {
169
            // TODO Auto-generated catch block
170
            e.printStackTrace();
171
        } catch (HelperServiceException e) {
172
            // TODO Auto-generated catch block
173
            e.printStackTrace();
174
        }
175
        return index();
176
    }
177
 
178
    public String getAmount() {
179
        return amount;
180
    }
181
    public void setAmount(String amount) {
182
        this.amount = amount;
183
    }
184
    public String getOperator() {
185
        return operator;
186
    }
187
    public void setOperator(String operator) {
188
        this.operator = operator;
189
    }
190
    public String getNumber() {
191
        return number;
192
    }
193
    public void setNumber(String number) {
194
        this.number = number;
195
    }
196
    public String getEmail() {
197
        return email;
198
    }
199
    public void setEmail(String email) {
200
        this.email = email;
201
    }
202
 
203
    public void setCouponIds(List<String> couponIds) {
204
        this.couponIds = couponIds;
205
    }
206
 
207
    public List<String> getCouponIds() {
208
        return couponIds;
209
    }
210
 
211
    public void setCoupons(List<RechargeCoupon> coupons) {
212
        this.coupons = coupons;
213
    }
214
 
215
    public List<RechargeCoupon> getCoupons() {
216
        return coupons;
217
    }
218
 
219
    public String getRechargeType() {
220
        return rechargeType;
221
    }
222
 
223
    public void setRechargeType(String rechargeType) {
224
        this.rechargeType = rechargeType;
225
    }
226
 
227
    public String getUserId() {
228
        return userId;
229
    }
230
 
231
    public void setUserId(String userId) {
232
        this.userId = userId;
233
    }
234
 
235
}