Rev 6534 | Rev 7390 | Go to most recent revision | 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.Payment;import in.shop2020.payments.PaymentException;import in.shop2020.thrift.clients.PaymentClient;import in.shop2020.thrift.clients.TransactionClient;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;private UserWallet wallet = null;private List<Payment> payments = null;private long walletAmount;private 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());setWalletAmount(wallet.getAmount());payments = 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;}public void setWalletAmount(long walletAmount) {this.walletAmount = walletAmount;}public long getWalletAmount() {return walletAmount;}public UserWallet getWallet() {return wallet;}public void setWallet(UserWallet wallet) {this.wallet = wallet;}}