Subversion Repositories SmartDukaan

Rev

Rev 6215 | Rev 6233 | 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";
6050 anupam.sin 25
 
26
    private static final long serialVersionUID = 2079308723099307749L;
27
 
28
    private static Logger log = Logger.getLogger(Class.class);
29
 
30
    public String index() {
6228 anupam.sin 31
        try {
32
            TransactionClient tcl = new TransactionClient();
33
            rechargeOrder = tcl.getClient().getRechargeOrder(Long.parseLong(rechargeOrderId));
34
        } catch (NumberFormatException e) {
35
            log.error("rechargeOrderId : " + rechargeOrderId + " could not be converted long");
36
            return "recharge-redirect";
37
        } catch (Exception e) {
38
            log.error("Unable to get recharge Order for id : " + rechargeOrderId);
39
            return "recharge-redirect";
40
        }
6050 anupam.sin 41
        return "index";
42
    }
43
 
44
    public String create() {
45
        return index();
46
    }
47
 
6215 anupam.sin 48
    /*public boolean shouldShowEbsTestGateway() {
6091 anupam.sin 49
        //return SHOW_EBS_TEST_GATEWAY;
50
        return true;
6215 anupam.sin 51
    }*/
6091 anupam.sin 52
 
6228 anupam.sin 53
    public String fieldsToShow() {
54
        Address address = null;
6091 anupam.sin 55
        UserClient ucl;
56
        long addressId = 0;
6228 anupam.sin 57
        long amount = rechargeOrder.getTotalAmount() - rechargeOrder.getWalletAmount();
58
        if (rechargeOrder.getRechargeType().equals(RechargeType.DTH)) {
6215 anupam.sin 59
            try {
60
                ucl = new UserClient();
6228 anupam.sin 61
                addressId = ucl.getClient().getDefaultAddressId(rechargeOrder.getUserId());
62
                if (addressId != 0) {
63
                    address = ucl.getClient().getAddressById(addressId);
6215 anupam.sin 64
                }
65
            } catch (Exception e) {
66
                log.error("Unable to connect to user service", e);
6228 anupam.sin 67
                //We don't know if we need customer's address or phone. Let us ask anyway.
68
                if (amount > 1000)
69
                    return ADDRESS;
70
                else
71
                    return PHONE;
6215 anupam.sin 72
            }
6228 anupam.sin 73
 
74
            if (amount > 1000) {
75
                if (address == null) {
76
                    return ADDRESS;
77
                }
78
            } else {
79
                if (address == null || address.getPhone() == null || address.getPhone().isEmpty()) {
80
                    return PHONE;
81
                }
82
            }
6215 anupam.sin 83
        }
6228 anupam.sin 84
 
85
        return NOTHING; 
6215 anupam.sin 86
    }
6091 anupam.sin 87
 
6050 anupam.sin 88
    public void setRechargeOrder(RechargeOrder rechargeOrder) {
89
        this.rechargeOrder = rechargeOrder;
90
    }
91
 
92
    public RechargeOrder getRechargeOrder() {
93
        return rechargeOrder;
94
    }
95
 
96
    public void setRechargeOrderId(String rechargeOrderId) {
6057 anupam.sin 97
        this.rechargeOrderId = rechargeOrderId;
6050 anupam.sin 98
    }
99
 
100
    public String getRechargeOrderId() {
6057 anupam.sin 101
        return rechargeOrderId;
6050 anupam.sin 102
    }
6057 anupam.sin 103
 
104
    public String getErrorMsg() {
105
        return errorMsg;
106
    }
6050 anupam.sin 107
}