Subversion Repositories SmartDukaan

Rev

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

Rev Author Line No. Line
6050 anupam.sin 1
package in.shop2020.serving.controllers;
2
 
3
import in.shop2020.model.v1.order.RechargeOrder;
6228 anupam.sin 4
import in.shop2020.model.v1.order.RechargeType;
6215 anupam.sin 5
import in.shop2020.model.v1.user.Address;
6228 anupam.sin 6
import in.shop2020.thrift.clients.TransactionClient;
6091 anupam.sin 7
import in.shop2020.thrift.clients.UserClient;
6050 anupam.sin 8
 
6228 anupam.sin 9
import org.apache.log4j.Logger;
10
 
6050 anupam.sin 11
public class RechargePayOptionsController extends BaseController {
12
 
13
    /**
14
     * 
15
     */
6091 anupam.sin 16
 
17
    //private static final ResourceBundle resource = ResourceBundle.getBundle(ProceedToPayController.class.getName());
18
    //private static final boolean SHOW_EBS_TEST_GATEWAY = Boolean.parseBoolean(resource.getString("show_ebs_test_gateway"));
6050 anupam.sin 19
    private RechargeOrder rechargeOrder = null;
6057 anupam.sin 20
    private String rechargeOrderId = "";
21
    private String errorMsg = "";
6228 anupam.sin 22
    public final static String ADDRESS = "address";
23
    public final static String PHONE = "phone";
24
    public final static String NOTHING = "nothing";
6233 anupam.sin 25
    private Long amount = null;
6239 anupam.sin 26
    private String phone = "";
6050 anupam.sin 27
 
28
    private static final long serialVersionUID = 2079308723099307749L;
29
 
30
    private static Logger log = Logger.getLogger(Class.class);
31
 
32
    public String index() {
6228 anupam.sin 33
        try {
34
            TransactionClient tcl = new TransactionClient();
35
            rechargeOrder = tcl.getClient().getRechargeOrder(Long.parseLong(rechargeOrderId));
6433 anupam.sin 36
            setAmount(rechargeOrder.getTotalAmount() - rechargeOrder.getWalletAmount() - rechargeOrder.getCouponAmount());
6228 anupam.sin 37
        } catch (NumberFormatException e) {
38
            log.error("rechargeOrderId : " + rechargeOrderId + " could not be converted long");
39
            return "recharge-redirect";
40
        } catch (Exception e) {
41
            log.error("Unable to get recharge Order for id : " + rechargeOrderId);
42
            return "recharge-redirect";
43
        }
6050 anupam.sin 44
        return "index";
45
    }
46
 
6233 anupam.sin 47
    private void setAmount(long amount) {
48
        this.amount = amount;
49
    }
50
 
6234 anupam.sin 51
    public String getAmount() {
52
        return amount.toString();
6233 anupam.sin 53
    }
54
 
6050 anupam.sin 55
    public String create() {
56
        return index();
57
    }
58
 
6215 anupam.sin 59
    /*public boolean shouldShowEbsTestGateway() {
6091 anupam.sin 60
        //return SHOW_EBS_TEST_GATEWAY;
61
        return true;
6215 anupam.sin 62
    }*/
6091 anupam.sin 63
 
6228 anupam.sin 64
    public String fieldsToShow() {
65
        Address address = null;
6091 anupam.sin 66
        UserClient ucl;
67
        long addressId = 0;
6433 anupam.sin 68
        long amount = rechargeOrder.getTotalAmount() - rechargeOrder.getWalletAmount() - rechargeOrder.getCouponAmount();
6228 anupam.sin 69
        if (rechargeOrder.getRechargeType().equals(RechargeType.DTH)) {
6215 anupam.sin 70
            try {
71
                ucl = new UserClient();
6228 anupam.sin 72
                addressId = ucl.getClient().getDefaultAddressId(rechargeOrder.getUserId());
73
                if (addressId != 0) {
74
                    address = ucl.getClient().getAddressById(addressId);
6215 anupam.sin 75
                }
76
            } catch (Exception e) {
77
                log.error("Unable to connect to user service", e);
6239 anupam.sin 78
                //We don't know if we need customer's address or phone. Let us ask.
6228 anupam.sin 79
                if (amount > 1000)
80
                    return ADDRESS;
81
                else
82
                    return PHONE;
6215 anupam.sin 83
            }
6239 anupam.sin 84
 
6228 anupam.sin 85
            if (amount > 1000) {
86
                if (address == null) {
87
                    return ADDRESS;
6239 anupam.sin 88
                } else {
89
                    return NOTHING;
6228 anupam.sin 90
                }
91
            } else {
92
                if (address == null || address.getPhone() == null || address.getPhone().isEmpty()) {
93
                    return PHONE;
6239 anupam.sin 94
                } else {
95
                    setPhone(address.getPhone());//We have his phone number.
96
                    return PHONE;
6228 anupam.sin 97
                }
98
            }
6239 anupam.sin 99
 
100
 
101
        //For Mobile Recharges
102
        } else {
103
            setPhone(rechargeOrder.getDeviceNumber());//We have his phone number.
104
            return PHONE;
6215 anupam.sin 105
        }
106
    }
6091 anupam.sin 107
 
6050 anupam.sin 108
    public void setRechargeOrder(RechargeOrder rechargeOrder) {
109
        this.rechargeOrder = rechargeOrder;
110
    }
111
 
112
    public RechargeOrder getRechargeOrder() {
113
        return rechargeOrder;
114
    }
115
 
116
    public void setRechargeOrderId(String rechargeOrderId) {
6057 anupam.sin 117
        this.rechargeOrderId = rechargeOrderId;
6050 anupam.sin 118
    }
119
 
120
    public String getRechargeOrderId() {
6057 anupam.sin 121
        return rechargeOrderId;
6050 anupam.sin 122
    }
6057 anupam.sin 123
 
124
    public String getErrorMsg() {
125
        return errorMsg;
126
    }
6239 anupam.sin 127
 
128
    public String getPhone() {
129
        return phone;
130
    }
131
 
132
    public void setPhone(String phone) {
133
        this.phone = phone;
134
    }
6050 anupam.sin 135
}