Subversion Repositories SmartDukaan

Rev

Rev 7996 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
7996 anupam.sin 1
package in.shop2020.recharge.auxiliary;
2
 
3
import java.util.ArrayList;
4
import java.util.List;
5
 
6
import org.slf4j.Logger;
7
import org.slf4j.LoggerFactory;
8
 
9
import in.shop2020.model.v1.order.DeviceNumberInfo;
10
import in.shop2020.model.v1.order.FRC;
11
import in.shop2020.model.v1.order.PayMethod;
12
import in.shop2020.model.v1.order.RechargePlan;
13
import in.shop2020.model.v1.order.RechargeTransaction;
14
import in.shop2020.model.v1.order.RechargeType;
15
import in.shop2020.model.v1.order.TelecomCircle;
16
import in.shop2020.recharge.controllers.BaseController;
17
import in.shop2020.recharge.controllers.BulkRechargeController;
18
import in.shop2020.recharge.controllers.HomeController;
19
import in.shop2020.thrift.clients.TransactionClient;
20
 
21
public class BulkRechargeRunnable implements Runnable {
22
 
23
    private static final String TOPUP = "Topup";
24
    private static final String HQ_EMAIL = "gagan.sharma@spiceretail.co.in";
25
    private List<BulkRechargeInfo> rechargeInfoList = new ArrayList<BulkRechargeInfo>();
26
    private static Logger log = LoggerFactory.getLogger(BulkRechargeRunnable.class);
27
 
28
    public void run() {
29
        for(BulkRechargeInfo rechargeInfo : rechargeInfoList) {
30
            try {
31
                RechargeTransaction rechargeOrder = new RechargeTransaction();
32
                rechargeOrder.setAmount(rechargeInfo.getAmount());
33
                rechargeOrder.setEmail(HQ_EMAIL);
34
                rechargeOrder.setDeviceNum(rechargeInfo.getNumber().trim());
35
                rechargeOrder.setAlternateNumber("");
36
                rechargeOrder.setStoreId(rechargeInfo.getStoreId());
37
                rechargeOrder.setIpAddress(rechargeInfo.getIpAddress());
38
                rechargeOrder.setDeviceType(RechargeType.MOBILE);
39
                rechargeOrder.setName(rechargeInfo.getName());
40
                rechargeOrder.setIsFrc(false);
41
                rechargeOrder.setCafNum("");
42
                rechargeOrder.setSimNum("");
8008 anupam.sin 43
                rechargeOrder.setPayMethod(PayMethod.CHEQUE);
7996 anupam.sin 44
                rechargeOrder.setOperatorId(rechargeInfo.getOperator());
45
                rechargeOrder.setDiscount(0);
46
                rechargeOrder.setPaymentAmount(rechargeInfo.getAmount());
47
                rechargeOrder.setCircleId(rechargeInfo.getCircle());
48
 
49
                List<RechargePlan> plans = BaseController.operatorPlanMap.get(rechargeInfo.getOperator());
50
                if(plans != null) {
51
                    for(RechargePlan plan : plans) {
52
                        if(plan.getDisplayName().equals(TOPUP)) {
53
                            rechargeOrder.setPlan(plan.getName());
54
                            break;
55
                        }
56
                    }
57
                }
58
 
59
                TransactionClient tc1 = new TransactionClient();
60
                rechargeOrder = tc1.getClient().createRechargeTransaction(rechargeOrder);
61
            } catch (Exception e) {
62
                log.error("Unable to get recharge for device number : " + rechargeInfo.getNumber(), e);
63
                continue;
64
            }
65
        }
66
    }
67
 
68
    public void setRechargeInfoList(List<BulkRechargeInfo> rechargeInfoList) {
69
        this.rechargeInfoList = rechargeInfoList;
70
    }
71
 
72
    public List<BulkRechargeInfo> getRechargeInfoList() {
73
        return rechargeInfoList;
74
    }
75
 
76
}