Rev 7390 | Blame | Compare with Previous | Last modification | View Log | RSS feed
package in.shop2020.serving.controllers;import in.shop2020.model.v1.order.RechargeOrder;import in.shop2020.model.v1.order.RechargeOrderStatus;import in.shop2020.model.v1.order.TransactionService.Client;import in.shop2020.model.v1.order.TransactionServiceException;import in.shop2020.model.v1.order.UserWallet;import in.shop2020.payments.Attribute;import in.shop2020.payments.Constants;import in.shop2020.payments.Payment;import in.shop2020.payments.PaymentException;import in.shop2020.thrift.clients.PaymentClient;import in.shop2020.thrift.clients.TransactionClient;import in.shop2020.util.CRMConstants;import java.util.ArrayList;import java.util.Arrays;import java.util.List;import org.apache.log4j.Logger;import org.apache.shiro.SecurityUtils;import org.apache.thrift.TException;import org.apache.thrift.transport.TTransportException;public class RechargeOrderInfoController extends BaseController {/****/private static final long serialVersionUID = 1L;private static Logger log = Logger.getLogger(Class.class);private Long rechargeOrderId = null;private RechargeOrder rechargeOrder = null;//Start:- Code Commented by Manish Sharma for Hiding wallet amount at Recharge Order Page on June-05-2013private UserWallet wallet = null;private List<Payment> payments = null;//private long walletAmount;//End:- Code Commented by Manish Sharma for Hiding wallet amount at Recharge Order Page on June-05-2013private static List<RechargeOrderStatus> refundableRechargeStatusList = new ArrayList<RechargeOrderStatus>(Arrays.asList(new RechargeOrderStatus[]{RechargeOrderStatus.RECHARGE_FAILED,RechargeOrderStatus.RECHARGE_FAILED_REFUNDED,RechargeOrderStatus.PAYMENT_SUCCESSFUL}));public String index() {try {PaymentClient paymentServiceClient = new PaymentClient();TransactionClient transactionServiceClient = new TransactionClient();Client tclient = transactionServiceClient.getClient();rechargeOrder = tclient.getRechargeOrder(rechargeOrderId);wallet = tclient.getUserWallet(rechargeOrder.getUserId());//Start:- Code Commented by Manish Sharma for Hiding wallet amount at Recharge Order Page on June-05-2013//setWalletAmount(wallet.getAmount());//End:- Code Commented by Manish Sharma for Hiding wallet amount at Recharge Order Page on June-05-2013payments = paymentServiceClient.getClient().getPaymentForRechargeTxnId(rechargeOrder.getTransactionId());} catch (TTransportException e) {log.error("Unable to create thrift Client", e);} catch (TransactionServiceException e) {addActionError("Invalid order id or no order selected.");} catch (TException e) {log.error("Unable to get thrift Client", e);} catch (PaymentException e) {log.error("Unable to get payments for transctionId : " + rechargeOrder.getTransactionId(), e);}return INDEX;}public String refundRechargeOrder() {try {TransactionClient transactionServiceClient = new TransactionClient();if(!transactionServiceClient.getClient().refundRechargeOrder(rechargeOrderId)) {return "refund-failed";}} catch (Exception e) {log.error("Unable to refund rechargeOrder : " + rechargeOrderId, e);}return index();}public boolean showRefundButton() {RechargeOrderStatus status = rechargeOrder.getStatus();if (refundableRechargeStatusList.contains(status) && wallet.getAmount() > 0 && (rechargeOrder.getWalletAmount() != (rechargeOrder.getTotalAmount() - rechargeOrder.getCouponAmount()))) {return (SecurityUtils.getSubject().hasRole("Outbound") && SecurityUtils.getSubject().hasRole("TeamLead"));}return false;}public Long getRechargeOrderId() {return rechargeOrderId;}public void setRechargeOrderId(Long rechargeOrderId) {this.rechargeOrderId = rechargeOrderId;}public String getProviderName(Long operatorId) {return providersMap.get(operatorId);}public RechargeOrder getRechargeOrder() {return rechargeOrder;}public void setRechargeOrder(RechargeOrder rechargeOrder) {this.rechargeOrder = rechargeOrder;}public List<Payment> getPayments() {return payments;}public void setPayments(List<Payment> payments) {this.payments = payments;}//Start:- Code Commented by Manish Sharma for Hiding wallet amount at Recharge Order Page on June-05-2013//public void setWalletAmount(long walletAmount) {// this.walletAmount = walletAmount;//}//public long getWalletAmount() {// return walletAmount;//}//End:- Code Commented by Manish Sharma for Hiding wallet amount at Recharge Order Page on June-05-2013public UserWallet getWallet() {return wallet;}public void setWallet(UserWallet wallet) {this.wallet = wallet;}public String getGatewayName(Payment payment){return CRMConstants.PAYMENT_GATEWAYS.get(payment.getGatewayId());}public String getPaymentMethod(List<Attribute> paymentAttributes) {String paymentMethod = null;if (paymentAttributes == null || paymentAttributes.isEmpty()) {return "N/A";}for (Attribute a : paymentAttributes) {if ("payMethod".equals(a.getName())) {paymentMethod = Constants.PAYMENT_METHOD.get(a.getValue());break;}}return paymentMethod != null ? paymentMethod : "N/A";}}