Subversion Repositories SmartDukaan

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
7370 anupam.sin 1
package in.shop2020.recharge.controllers;
2
 
3
import java.util.ArrayList;
4
import java.util.HashMap;
5
import java.util.List;
6
import java.util.Map;
7
 
8
import in.shop2020.model.v1.order.FRC;
9
import in.shop2020.model.v1.order.RechargeType;
10
import in.shop2020.model.v1.order.TelecomCircle;
11
import in.shop2020.thrift.clients.TransactionClient;
12
 
13
public class AddFrcController extends BaseController{
14
 
15
    /**
16
     * 
17
     */
18
    private long circle;
19
    private long operatorId = 0l;
20
    List<FRC> frcs = new ArrayList<FRC>();
21
    private String message = "";
22
    private static List<TelecomCircle> circles = new ArrayList<TelecomCircle>();
23
    private static Map<Long, String> operatorsMap = new HashMap<Long, String>();
24
    private ArrayList<Long> frcIdToDelete = new ArrayList<Long>();
25
    private long denomination = 0l;
26
    private long maxDiscount = 0l;
27
 
28
    private static final long serialVersionUID = 1L;
29
 
30
    static{
31
        try {
32
            TransactionClient tcl = new TransactionClient();
33
            circles = tcl.getClient().getAllCircles();
34
            operatorsMap = tcl.getClient().getServiceProviders(RechargeType.MOBILE, true);
35
        } catch (Exception e) {
36
            // TODO Auto-generated catch block
37
            log.error("Exception", e);
38
        }
39
    }
40
 
41
    public String index() {
42
        if(circles.size() == 0 || operatorsMap.keySet().size() == 0) {
43
            try{
44
                TransactionClient tcl = new TransactionClient();
45
                circles = tcl.getClient().getAllCircles();
46
                operatorsMap = tcl.getClient().getServiceProviders(RechargeType.MOBILE, true);
47
            } catch (Exception e) {
48
                log.error("Unable to get all circles", e);
49
                setMessage("Internal Error. Please try again.");
50
            }
51
        }
52
        return "index";
53
    }
54
 
55
    public String add() {
56
        try{
57
            if(denomination < 1) {
58
                setMessage("Invalid denomination");
59
                return create();
60
            }
61
 
62
            if(maxDiscount < 1) {
63
                setMessage("Cannots add zero discount FRC");
64
                return create();
65
            }
66
 
67
            if(maxDiscount > denomination) {
68
                setMessage("Discount cannot be more than denomination");
69
                return create();
70
            }
71
            TransactionClient tcl = new TransactionClient();
72
            boolean success = tcl.getClient().addFrc(circle, operatorId, denomination, maxDiscount);
73
            if(!success) {
74
                setMessage("Could not add FRC. Please try again");
75
            }
76
        } catch (Exception e) {
77
            log.error("Unable to get all circles", e);
78
        }
79
        return create();
80
    }
81
 
82
    public String create(){
83
        try{
84
            if(circle == 0 || operatorId == 0) {
85
                setMessage("No FRC available for this circle/Operator combination");
86
                return index();
87
            }
88
            TransactionClient tcl = new TransactionClient();
89
            frcs = tcl.getClient().getFRCs(circle, operatorId);
90
            if(frcs.size() == 0) {
91
                setMessage("No FRC available for this circle");
92
            }
93
        } catch (Exception e) {
94
            log.error("Unable to get FRC for circle and operator : " + circle  + ", " + operatorId + " resp.", e);
95
            setMessage("Internal error. Please try again");
96
        }
97
        return index();
98
    }
99
 
100
    public long getCircle() {
101
        return circle;
102
    }
103
 
104
    public void setCircle(long circle) {
105
        this.circle = circle;
106
    }
107
 
108
    public long getOperatorId() {
109
        return operatorId;
110
    }
111
 
112
    public void setOperatorId(long operatorId) {
113
        this.operatorId = operatorId;
114
    }
115
 
116
    public List<FRC> getFrcs() {
117
        return frcs;
118
    }
119
 
120
    public void setFrcs(List<FRC> frcs) {
121
        this.frcs = frcs;
122
    }
123
 
124
    public String getMessage() {
125
        return message;
126
    }
127
 
128
    public void setMessage(String message) {
129
        this.message = message;
130
    }
131
 
132
    public List<TelecomCircle> getCircles() {
133
        return circles;
134
    }
135
 
136
    public static void setCircles(List<TelecomCircle> circles) {
137
        AddFrcController.circles = circles;
138
    }
139
 
140
    public Map<Long, String> getOperatorsMap() {
141
        return operatorsMap;
142
    }
143
 
144
    public static void setOperatorsMap(Map<Long, String> operatorsMap) {
145
        AddFrcController.operatorsMap = operatorsMap;
146
    }
147
 
148
    public void setFrcIdToDelete(ArrayList<Long> frcIdToDelete) {
149
        this.frcIdToDelete = frcIdToDelete;
150
    }
151
 
152
    public ArrayList<Long> getFrcIdToDelete() {
153
        return frcIdToDelete;
154
    }
155
 
156
    public long getDenomination() {
157
        return denomination;
158
    }
159
 
160
    public void setDenomination(long denomination) {
161
        this.denomination = denomination;
162
    }
163
 
164
    public long getMaxDiscount() {
165
        return maxDiscount;
166
    }
167
 
168
    public void setMaxDiscount(long maxDiscount) {
169
        this.maxDiscount = maxDiscount;
170
    }
171
 
172
}