Subversion Repositories SmartDukaan

Rev

Rev 7139 | Rev 7151 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
7080 anupam.sin 1
package in.shop2020.recharge.controllers;
2
 
7109 anupam.sin 3
import java.nio.ByteBuffer;
4
 
5
import javax.servlet.ServletOutputStream;
6
 
7080 anupam.sin 7
import in.shop2020.model.v1.order.DeviceNumberInfo;
8
import in.shop2020.model.v1.order.RechargeOrderStatus;
9
import in.shop2020.model.v1.order.RechargeTransaction;
10
import in.shop2020.model.v1.order.RechargeType;
7109 anupam.sin 11
import in.shop2020.model.v1.order.TransactionService;
7080 anupam.sin 12
import in.shop2020.thrift.clients.TransactionClient;
13
 
14
 
15
public class RechargeResultController extends BaseController {
16
 
17
    private static final long serialVersionUID = 1L;
7109 anupam.sin 18
    private long rechargeId = 0l;
7139 amit.gupta 19
    private long paymentAmount;
20
	private RechargeTransaction recharge = null;
7080 anupam.sin 21
 
22
 
23
    public String index() {
24
        TransactionClient tcl;
25
        try {
26
            tcl = new TransactionClient();
27
            recharge =  tcl.getClient().getRechargeTransaction(rechargeId);
28
        } catch (Exception e) {
29
            log.error("Unable to get recharge txn for id : " + rechargeId, e);
30
            return ":";
31
        }
32
        return "index";
33
    }
34
 
35
    public String getResultMessage() {
7143 amit.gupta 36
        if(recharge.getStatus() == RechargeOrderStatus.RECHARGE_SUCCESSFUL) {
7080 anupam.sin 37
            return "Recharge successful";
38
        }
39
        else if (recharge.getStatus() == RechargeOrderStatus.RECHARGE_FAILED
40
                 || recharge.getStatus() == RechargeOrderStatus.INIT) {
41
            return "Recharge Failed";
42
        }
43
        else if (recharge.getStatus() == RechargeOrderStatus.RECHARGE_UNKNOWN) {
44
            return "Recharge Under Process";
45
        }
46
        else {
47
            return "There is some problem. Please try again later.";
7143 amit.gupta 48
        }
7080 anupam.sin 49
    }
50
 
51
    public boolean showPrintButton() {
7143 amit.gupta 52
        if(recharge.getStatus() == RechargeOrderStatus.RECHARGE_SUCCESSFUL) {
7080 anupam.sin 53
            return true;
54
        } else {
55
            return false;
7143 amit.gupta 56
        }
7080 anupam.sin 57
    }
58
 
7109 anupam.sin 59
    public String downloadInvoice() {
60
        ByteBuffer buffer = null;
61
        try {
62
            if (rechargeId == 0) {
63
                log.error("Recharge Id 0");
64
                return "index";
65
            }
66
            TransactionClient transactionServiceClient = new TransactionClient();
67
            TransactionService.Client orderClient = transactionServiceClient.getClient();
68
            buffer = orderClient.retrieveHotspotRechargeInvoice(rechargeId);
69
            if(!buffer.hasArray()) {
70
                log.error("The invoice was not found for rechargeId : " + rechargeId);
71
            }
72
        } catch (Exception e) {
73
            System.out.println(e.getMessage());
74
        }
75
        response.setHeader("Content-disposition", "inline; filename=recharge-invoice-" + rechargeId + ".pdf");
76
 
77
        ServletOutputStream sos;
78
        try {
79
            sos = response.getOutputStream();
80
            sos.write(buffer.array());
81
            sos.flush();
82
        } catch (Exception e) {
83
            System.out.println("Unable to stream the invoice file");
84
        }
85
        return "index";
86
    }
7080 anupam.sin 87
 
7109 anupam.sin 88
 
7080 anupam.sin 89
    public long getRechargeId() {
90
        return rechargeId;
91
    }
92
 
93
 
94
    public void setRechargeId(long rechargeId) {
95
        this.rechargeId = rechargeId;
96
    }
97
 
98
    public RechargeTransaction getRecharge() {
99
        return recharge;
100
    }
101
 
102
    public void setRecharge(RechargeTransaction recharge) {
103
        this.recharge = recharge;
104
    }
7139 amit.gupta 105
 
106
    public long getPaymentAmount() {
107
		return paymentAmount;
108
	}
109
 
110
	public void setPaymentAmount(long paymentAmount) {
111
		this.paymentAmount = paymentAmount;
112
	}
7080 anupam.sin 113
}