Rev 8263 | Blame | Compare with Previous | Last modification | View Log | RSS feed
package in.shop2020.recharge.controllers;import in.shop2020.model.v1.order.HotspotStore;import in.shop2020.model.v1.order.RechargeOrder;import in.shop2020.model.v1.order.RechargeOrderStatus;import in.shop2020.model.v1.order.RechargeTransaction;import in.shop2020.model.v1.order.TransactionService;import in.shop2020.thrift.clients.TransactionClient;import java.nio.ByteBuffer;import java.util.Arrays;import java.util.List;import javax.servlet.ServletOutputStream;import org.apache.struts2.convention.annotation.Result;import org.apache.struts2.convention.annotation.Results;import org.apache.thrift.TException;@Results({@Result(name = "recharge-status", location = "recharge-status.vm")})public class RechargeResultController extends BaseController {private static final long serialVersionUID = 1L;private long rechargeId = 0l;private long paymentAmount;private RechargeTransaction recharge = null;private static List<Long> asyncOperators = Arrays.asList(9l);private boolean rechargeModeSynchronous = false;private String isFinal;private String newStatus;public String index() {TransactionClient tcl;try {String loginStatus = (String) request.getSession().getAttribute("LOGGED_IN");if(loginStatus == null || !loginStatus.equals("TRUE")){return "authfail";}tcl = new TransactionClient();recharge = tcl.getClient().getRechargeTransaction(rechargeId);storeId = Long.parseLong((String) request.getSession().getAttribute("STORE_ID"));log.info("Store id****");log.info((String)request.getSession().getAttribute("STORE_ID"));try{HotspotStore hotSpotStore = (new TransactionClient()).getClient().getHotspotStore(storeId, "");hotspotStores.put(storeId, hotSpotStore);} catch (Exception e) {log.error("Unable to get store", e);}} catch (Exception e) {log.error("Unable to get recharge txn for id : " + rechargeId, e);return ":";}return "index";}public String getResultMessage() {if(recharge.getStatus() == RechargeOrderStatus.RECHARGE_SUCCESSFUL) {return "Recharge successful";}else if (recharge.getStatus() == RechargeOrderStatus.RECHARGE_FAILED|| recharge.getStatus() == RechargeOrderStatus.INIT) {return "Recharge Failed. Reason : " + recharge.getDescription();}else if (recharge.getStatus() == RechargeOrderStatus.RECHARGE_UNKNOWN) {return "Recharge Under Process";}else if (recharge.getStatus() == RechargeOrderStatus.RECHARGE_IN_PROCESS){return "Please wait while we check recharge with operator.Donot close this window.";}else {return "There is some problem. Please try again later.";}}public String getRechargeStatus() throws NumberFormatException, TException{TransactionClient transactionServiceClient = null;transactionServiceClient = new TransactionClient();recharge = transactionServiceClient.getClient().getRcgTransactionStatus(rechargeId, Boolean.valueOf(isFinal));setNewStatus(recharge.getStatus().name());return "recharge-status";}public boolean showPrintButton() {if(recharge.getStatus() == RechargeOrderStatus.RECHARGE_SUCCESSFUL) {return true;} else {return false;}}public String downloadInvoice() {ByteBuffer buffer = null;try {if (rechargeId == 0) {log.error("Recharge Id 0");return "index";}TransactionClient transactionServiceClient = new TransactionClient();TransactionService.Client orderClient = transactionServiceClient.getClient();buffer = orderClient.retrieveHotspotRechargeInvoice(rechargeId);if(!buffer.hasArray()) {log.error("The invoice was not found for rechargeId : " + rechargeId);}} catch (Exception e) {System.out.println(e.getMessage());}response.setContentType("application/pdf");response.setHeader("Content-disposition", "attachment; filename=recharge-invoice-" + rechargeId + ".pdf");ServletOutputStream sos;try {sos = response.getOutputStream();sos.write(buffer.array());sos.flush();} catch (Exception e) {System.out.println("Unable to stream the invoice file");}return "index";}public long getRechargeId() {return rechargeId;}public void setRechargeId(long rechargeId) {this.rechargeId = rechargeId;}public RechargeTransaction getRecharge() {return recharge;}public void setRecharge(RechargeTransaction recharge) {this.recharge = recharge;}public long getPaymentAmount() {return paymentAmount;}public void setPaymentAmount(long paymentAmount) {this.paymentAmount = paymentAmount;}public void setRechargeModeSynchronous(boolean rechargeModeSynchronous) {this.rechargeModeSynchronous = rechargeModeSynchronous;}public boolean isRechargeModeSynchronous() {return rechargeModeSynchronous;}public void setIsFinal(String isFinal) {this.isFinal = isFinal;}public String getIsFinal() {return isFinal;}public void setNewStatus(String newStatus) {log.info(newStatus);this.newStatus = newStatus;}public String getNewStatus() {return newStatus;}}