| Line 6... |
Line 6... |
| 6 |
import in.shop2020.model.v1.order.RechargeOrder;
|
6 |
import in.shop2020.model.v1.order.RechargeOrder;
|
| 7 |
import in.shop2020.model.v1.order.RechargeOrderStatus;
|
7 |
import in.shop2020.model.v1.order.RechargeOrderStatus;
|
| 8 |
import in.shop2020.model.v1.order.RechargePlan;
|
8 |
import in.shop2020.model.v1.order.RechargePlan;
|
| 9 |
import in.shop2020.model.v1.order.RechargeType;
|
9 |
import in.shop2020.model.v1.order.RechargeType;
|
| 10 |
import in.shop2020.model.v1.order.UserWallet;
|
10 |
import in.shop2020.model.v1.order.UserWallet;
|
| - |
|
11 |
import in.shop2020.model.v1.user.PromotionException;
|
| 11 |
import in.shop2020.model.v1.user.User;
|
12 |
import in.shop2020.model.v1.user.User;
|
| 12 |
import in.shop2020.model.v1.user.UserContextException;
|
13 |
import in.shop2020.model.v1.user.UserContextException;
|
| 13 |
import in.shop2020.serving.utils.DesEncrypter;
|
14 |
import in.shop2020.serving.utils.DesEncrypter;
|
| 14 |
import in.shop2020.serving.utils.Utils;
|
15 |
import in.shop2020.serving.utils.Utils;
|
| 15 |
import in.shop2020.thrift.clients.HelperClient;
|
16 |
import in.shop2020.thrift.clients.HelperClient;
|
| - |
|
17 |
import in.shop2020.thrift.clients.PromotionClient;
|
| 16 |
import in.shop2020.thrift.clients.TransactionClient;
|
18 |
import in.shop2020.thrift.clients.TransactionClient;
|
| 17 |
import in.shop2020.thrift.clients.UserClient;
|
19 |
import in.shop2020.thrift.clients.UserClient;
|
| 18 |
import in.shop2020.utils.DataLogger;
|
20 |
import in.shop2020.utils.DataLogger;
|
| 19 |
import in.shop2020.utils.Mail;
|
21 |
import in.shop2020.utils.Mail;
|
| 20 |
|
22 |
|
| 21 |
import java.util.ArrayList;
|
23 |
import java.util.ArrayList;
|
| - |
|
24 |
import java.util.HashMap;
|
| 22 |
import java.util.List;
|
25 |
import java.util.List;
|
| - |
|
26 |
import java.util.Map;
|
| 23 |
import java.util.Random;
|
27 |
import java.util.Random;
|
| 24 |
|
28 |
|
| 25 |
import nl.captcha.Captcha;
|
29 |
import nl.captcha.Captcha;
|
| 26 |
|
30 |
|
| 27 |
import org.apache.log4j.Logger;
|
31 |
import org.apache.log4j.Logger;
|
| Line 56... |
Line 60... |
| 56 |
private String message = "";
|
60 |
private String message = "";
|
| 57 |
private String errorMessage = "";
|
61 |
private String errorMessage = "";
|
| 58 |
private String totalAmount = "";
|
62 |
private String totalAmount = "";
|
| 59 |
private String plan = "";
|
63 |
private String plan = "";
|
| 60 |
private String circleCode;
|
64 |
private String circleCode;
|
| - |
|
65 |
private String couponCode = "";
|
| - |
|
66 |
private String couponMessage = "";
|
| - |
|
67 |
private long couponAmount = 0;
|
| 61 |
private static final String chars = "abcdefghijklmonpqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
|
68 |
private static final String chars = "abcdefghijklmonpqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
|
| 62 |
private static final Random random = new Random();
|
69 |
private static final Random random = new Random();
|
| 63 |
private static final int LENGTH = 10;
|
70 |
private static final int LENGTH = 10;
|
| 64 |
private static Logger log = Logger.getLogger(Class.class);
|
71 |
private static Logger log = Logger.getLogger(Class.class);
|
| 65 |
|
72 |
|
| Line 72... |
Line 79... |
| 72 |
if(!errorMessage.equals("SUCCESS")){
|
79 |
if(!errorMessage.equals("SUCCESS")){
|
| 73 |
DataLogger.logData(EventType.PROVIDER_FETCH_FAILURE, getSessionId(), userinfo.getUserId(), userinfo.getEmail(),
|
80 |
DataLogger.logData(EventType.PROVIDER_FETCH_FAILURE, getSessionId(), userinfo.getUserId(), userinfo.getEmail(),
|
| 74 |
rechargeType.toString(), number, operator);
|
81 |
rechargeType.toString(), number, operator);
|
| 75 |
return "recharge-redirect";
|
82 |
return "recharge-redirect";
|
| 76 |
}
|
83 |
}
|
| - |
|
84 |
|
| 77 |
setErrorMessage("");
|
85 |
setErrorMessage("");
|
| 78 |
setTotalAmount(amount);
|
86 |
setTotalAmount(amount);
|
| - |
|
87 |
|
| 79 |
if(userinfo.isLoggedIn()) {
|
88 |
if(userinfo.isLoggedIn()) {
|
| 80 |
setUserId("" + userinfo.getUserId());
|
89 |
setUserId("" + userinfo.getUserId());
|
| 81 |
try {
|
- |
|
| 82 |
TransactionClient tc = new TransactionClient();
|
- |
|
| 83 |
UserWallet wallet = tc.getClient().getUserWallet(userinfo.getUserId());
|
- |
|
| 84 |
long amountA = 0;
|
- |
|
| 85 |
if(wallet.getAmount() == 0){
|
- |
|
| 86 |
setMessage("Your RechargeWallet is empty.");
|
- |
|
| 87 |
} else if ((amountA = wallet.getAmount() - Long.parseLong(amount)) >= 0) {
|
- |
|
| 88 |
setAmount("0");
|
90 |
calculateAmounts();
|
| 89 |
setMessage("You now have Rs. " + amountA + " left in your RechargeWallet.");
|
- |
|
| 90 |
setWalletAmountUsed("" + (wallet.getAmount() - amountA));
|
- |
|
| 91 |
} else {
|
- |
|
| 92 |
setAmount("" + (0-amountA));
|
- |
|
| 93 |
setMessage("You have used all the amount in your RechargeWallet.");
|
- |
|
| 94 |
setWalletAmountUsed(("" + wallet.getAmount()));
|
- |
|
| 95 |
}
|
- |
|
| 96 |
|
- |
|
| 97 |
|
- |
|
| 98 |
} catch (Exception e) {
|
- |
|
| 99 |
log.error("Unable to get user wallet", e);
|
- |
|
| 100 |
}
|
- |
|
| 101 |
} else {
|
91 |
} else {
|
| 102 |
long tempUserId = createUserAndSendMail(email);
|
92 |
long tempUserId = createUserAndSendMail(email);
|
| 103 |
if(tempUserId == -1)
|
93 |
if(tempUserId == -1)
|
| 104 |
{
|
94 |
{
|
| 105 |
errorMessage = "Oops! There seems to be a problem. Please try after some time";
|
95 |
errorMessage = "Oops! There seems to be a problem. Please try after some time";
|
| Line 108... |
Line 98... |
| 108 |
setUserId("" + tempUserId);
|
98 |
setUserId("" + tempUserId);
|
| 109 |
}
|
99 |
}
|
| 110 |
}
|
100 |
}
|
| 111 |
return index();
|
101 |
return index();
|
| 112 |
}
|
102 |
}
|
| - |
|
103 |
|
| - |
|
104 |
private void calculateAmounts() {
|
| - |
|
105 |
|
| - |
|
106 |
try {
|
| - |
|
107 |
TransactionClient tc = new TransactionClient();
|
| - |
|
108 |
UserWallet wallet = tc.getClient().getUserWallet(userinfo.getUserId());
|
| - |
|
109 |
long amountA = 0;
|
| - |
|
110 |
if(wallet.getAmount() == 0){
|
| - |
|
111 |
setAmount("" + (Long.parseLong(totalAmount) - couponAmount));
|
| - |
|
112 |
setMessage("");
|
| - |
|
113 |
} else if ((amountA = wallet.getAmount() - (Long.parseLong(totalAmount) - couponAmount)) >= 0) {
|
| - |
|
114 |
setAmount("0");
|
| - |
|
115 |
setWalletAmountUsed("" + (wallet.getAmount() - amountA));
|
| - |
|
116 |
setMessage("Amount used from RechargeWallet : Rs. " + walletAmountUsed
|
| - |
|
117 |
+ "<br>Amount left in your RechargeWallet : Rs. " + amountA);
|
| - |
|
118 |
|
| - |
|
119 |
} else {
|
| - |
|
120 |
setAmount("" + (0-amountA));
|
| - |
|
121 |
setWalletAmountUsed("" + wallet.getAmount());
|
| - |
|
122 |
setMessage("Amount used from RechargeWallet : Rs. " + walletAmountUsed
|
| - |
|
123 |
+ "<br>Amount left in your RechargeWallet : Rs.0");
|
| - |
|
124 |
}
|
| - |
|
125 |
} catch (Exception e) {
|
| - |
|
126 |
log.error("Unable to get user wallet", e);
|
| - |
|
127 |
}
|
| - |
|
128 |
}
|
| 113 |
|
129 |
|
| 114 |
public String validateRecharge(){
|
130 |
public String validateRecharge(){
|
| 115 |
TransactionClient tcl;
|
131 |
TransactionClient tcl;
|
| 116 |
try {
|
132 |
try {
|
| 117 |
tcl = new TransactionClient();
|
133 |
tcl = new TransactionClient();
|
| Line 136... |
Line 152... |
| 136 |
}
|
152 |
}
|
| 137 |
}
|
153 |
}
|
| 138 |
return false;
|
154 |
return false;
|
| 139 |
}
|
155 |
}
|
| 140 |
|
156 |
|
| - |
|
157 |
public String applyRechargeCoupon() {
|
| - |
|
158 |
Map<Long, String> couponResult = null;
|
| - |
|
159 |
try {
|
| - |
|
160 |
PromotionClient pc = new PromotionClient();
|
| - |
|
161 |
couponResult = pc.getClient().applyRechargeCoupon(couponCode, Long.parseLong(totalAmount), Long.parseLong(userId));
|
| - |
|
162 |
if (couponResult != null) {
|
| - |
|
163 |
for (long couponAmount : couponResult.keySet()) {
|
| - |
|
164 |
setCouponMessage(couponResult.get(couponAmount));
|
| - |
|
165 |
this.couponAmount = couponAmount;
|
| - |
|
166 |
}
|
| - |
|
167 |
}
|
| - |
|
168 |
if(userinfo.isLoggedIn()) {
|
| - |
|
169 |
calculateAmounts();
|
| - |
|
170 |
} else {
|
| - |
|
171 |
setAmount("" + (Long.parseLong(amount) - couponAmount));
|
| - |
|
172 |
}
|
| - |
|
173 |
return index();
|
| - |
|
174 |
} catch (Exception e) {
|
| - |
|
175 |
log.error("Unable to apply recharge coupon : " + couponCode, e);
|
| - |
|
176 |
couponResult = new HashMap<Long, String>();
|
| - |
|
177 |
setCouponMessage("Currently this coupon is unavailable");
|
| - |
|
178 |
}
|
| - |
|
179 |
return index();
|
| - |
|
180 |
}
|
| - |
|
181 |
|
| 141 |
public String createRecharge(){
|
182 |
public String createRecharge(){
|
| 142 |
if (amount.equals("0")) {
|
183 |
if (amount.equals("0")) {
|
| 143 |
if (!verifyCaptcha()) {
|
184 |
if (!verifyCaptcha()) {
|
| 144 |
setErrorMessage("Invalid captcha. Try Again.");
|
185 |
setErrorMessage("Invalid captcha. Try Again.");
|
| 145 |
log.info("Invalid captcha error msg has been added");
|
186 |
log.info("Invalid captcha error msg has been added");
|
| Line 161... |
Line 202... |
| 161 |
log.warn("OperatorId : " + operator + " and plan : " + plan + " do not match");
|
202 |
log.warn("OperatorId : " + operator + " and plan : " + plan + " do not match");
|
| 162 |
return "recharge-redirect";
|
203 |
return "recharge-redirect";
|
| 163 |
}
|
204 |
}
|
| 164 |
}
|
205 |
}
|
| 165 |
|
206 |
|
| - |
|
207 |
if(userinfo.isLoggedIn()) {
|
| - |
|
208 |
UserWallet wallet = tc.getClient().getUserWallet(userinfo.getUserId());
|
| - |
|
209 |
if(wallet.getAmount() < Long.parseLong(walletAmountUsed)) {
|
| - |
|
210 |
errorMessage = "Oops! There seems to be a problem. Please try after some time";
|
| - |
|
211 |
log.warn("WalletAmount used : " + walletAmountUsed + " is greater than wallet Balance : " + wallet.getAmount());
|
| - |
|
212 |
return "recharge-redirect";
|
| - |
|
213 |
}
|
| - |
|
214 |
|
| - |
|
215 |
if (userinfo.getUserId() != Long.parseLong(userId)) {
|
| - |
|
216 |
errorMessage = "Oops! There seems to be a problem. Please try after some time";
|
| - |
|
217 |
log.warn("Logged in user : " + userinfo.getUserId() + " does not match with userId sent by user : " + userId);
|
| - |
|
218 |
return "recharge-redirect";
|
| - |
|
219 |
}
|
| - |
|
220 |
}
|
| - |
|
221 |
|
| - |
|
222 |
PromotionClient pc = new PromotionClient();
|
| - |
|
223 |
Map<Long, String> couponResult = null;
|
| - |
|
224 |
couponResult = pc.getClient().applyRechargeCoupon(couponCode, Long.parseLong(totalAmount), Long.parseLong(userId));
|
| - |
|
225 |
if(couponResult != null) {
|
| - |
|
226 |
for (long couponAmount : couponResult.keySet()) {
|
| - |
|
227 |
setCouponMessage(couponResult.get(couponAmount));
|
| - |
|
228 |
this.couponAmount = couponAmount;
|
| - |
|
229 |
}
|
| - |
|
230 |
}
|
| - |
|
231 |
|
| - |
|
232 |
if (Long.parseLong(totalAmount) != Long.parseLong(amount) + Long.parseLong(walletAmountUsed) + couponAmount){
|
| - |
|
233 |
errorMessage = "Oops! There seems to be a problem. Please try after some time";
|
| - |
|
234 |
log.warn("WalletAmount : " + walletAmountUsed + " plus couponAmount : " + couponAmount + " plus amount to be paid : " +
|
| - |
|
235 |
amount + "do not match with rechargeAmount : " + totalAmount);
|
| - |
|
236 |
return "recharge-redirect";
|
| - |
|
237 |
}
|
| - |
|
238 |
|
| - |
|
239 |
|
| 166 |
RechargeOrder rechargeOrder = new RechargeOrder();
|
240 |
RechargeOrder rechargeOrder = new RechargeOrder();
|
| 167 |
rechargeOrder.setTotalAmount(Long.parseLong(totalAmount));
|
241 |
rechargeOrder.setTotalAmount(Long.parseLong(totalAmount));
|
| 168 |
rechargeOrder.setUserEmailId(email);
|
242 |
rechargeOrder.setUserEmailId(email);
|
| 169 |
rechargeOrder.setUserId(Long.parseLong(userId));
|
243 |
rechargeOrder.setUserId(Long.parseLong(userId));
|
| 170 |
rechargeOrder.setDeviceNumber(number);
|
244 |
rechargeOrder.setDeviceNumber(number);
|
| Line 172... |
Line 246... |
| 172 |
rechargeOrder.setOperatorId(Long.parseLong(operator));
|
246 |
rechargeOrder.setOperatorId(Long.parseLong(operator));
|
| 173 |
rechargeOrder.setRechargeType(RechargeType.findByValue(Integer.parseInt(rechargeType)));
|
247 |
rechargeOrder.setRechargeType(RechargeType.findByValue(Integer.parseInt(rechargeType)));
|
| 174 |
rechargeOrder.setStatus(RechargeOrderStatus.PAYMENT_PENDING);
|
248 |
rechargeOrder.setStatus(RechargeOrderStatus.PAYMENT_PENDING);
|
| 175 |
rechargeOrder.setOrderType(OrderType.B2C);
|
249 |
rechargeOrder.setOrderType(OrderType.B2C);
|
| 176 |
rechargeOrder.setWalletAmount(Long.parseLong(getWalletAmountUsed()));
|
250 |
rechargeOrder.setWalletAmount(Long.parseLong(getWalletAmountUsed()));
|
| - |
|
251 |
rechargeOrder.setCouponAmount(couponAmount);
|
| 177 |
|
252 |
rechargeOrder.setCouponCode(couponCode);
|
| 178 |
TransactionClient tc1 = new TransactionClient();
|
253 |
TransactionClient tc1 = new TransactionClient();
|
| 179 |
rechargeOrder = tc1.getClient().createRechargeOrder(rechargeOrder);
|
254 |
rechargeOrder = tc1.getClient().createRechargeOrder(rechargeOrder);
|
| 180 |
setRechargeOrderId(rechargeOrder.getId());
|
255 |
setRechargeOrderId(rechargeOrder.getId());
|
| 181 |
|
256 |
|
| 182 |
} catch (Exception e) {
|
257 |
} catch (Exception e) {
|
| Line 400... |
Line 475... |
| 400 |
}
|
475 |
}
|
| 401 |
|
476 |
|
| 402 |
public void setCircleCode(String circleCode) {
|
477 |
public void setCircleCode(String circleCode) {
|
| 403 |
this.circleCode = circleCode;
|
478 |
this.circleCode = circleCode;
|
| 404 |
}
|
479 |
}
|
| - |
|
480 |
|
| - |
|
481 |
public void setDiscountCode(String discountCode) {
|
| - |
|
482 |
this.couponCode = discountCode;
|
| - |
|
483 |
}
|
| - |
|
484 |
|
| - |
|
485 |
public String getCouponCode() {
|
| - |
|
486 |
return couponCode;
|
| - |
|
487 |
}
|
| - |
|
488 |
|
| - |
|
489 |
public void setCouponCode(String couponCode) {
|
| - |
|
490 |
this.couponCode = couponCode;
|
| - |
|
491 |
}
|
| - |
|
492 |
|
| - |
|
493 |
public void setCouponAmount(long couponAmount) {
|
| - |
|
494 |
this.couponAmount = couponAmount;
|
| - |
|
495 |
}
|
| - |
|
496 |
|
| - |
|
497 |
public long getCouponAmount() {
|
| - |
|
498 |
return couponAmount;
|
| - |
|
499 |
}
|
| - |
|
500 |
|
| - |
|
501 |
public void setCouponMessage(String couponMessage) {
|
| - |
|
502 |
this.couponMessage = couponMessage;
|
| - |
|
503 |
}
|
| - |
|
504 |
|
| - |
|
505 |
public String getCouponMessage() {
|
| - |
|
506 |
return couponMessage;
|
| - |
|
507 |
}
|
| 405 |
|
508 |
|
| 406 |
}
|
509 |
}
|