Subversion Repositories SmartDukaan

Rev

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