| Line 53... |
Line 53... |
| 53 |
logisticsServiceClient = new LogisticsClient();
|
53 |
logisticsServiceClient = new LogisticsClient();
|
| 54 |
Client logisticsClient = logisticsServiceClient.getClient();
|
54 |
Client logisticsClient = logisticsServiceClient.getClient();
|
| 55 |
LogisticsInfo logistincInfo = logisticsClient.getLogisticsEstimation(itemId, pincode, DeliveryType.PREPAID);
|
55 |
LogisticsInfo logistincInfo = logisticsClient.getLogisticsEstimation(itemId, pincode, DeliveryType.PREPAID);
|
| 56 |
|
56 |
|
| 57 |
if(logistincInfo.getDeliveryTime()!=-1L){
|
57 |
if(logistincInfo.getDeliveryTime()!=-1L){
|
| 58 |
days = checkValidDeliveryEstimate((int)logistincInfo.getDeliveryTime());
|
58 |
days = getDeliveryDateString((int)logistincInfo.getDeliveryTime(), DeliveryType.PREPAID);
|
| 59 |
codDays = days;
|
- |
|
| 60 |
if(cal.get(Calendar.HOUR_OF_DAY) < 15){
|
59 |
if(logistincInfo.isCodAllowed()){
|
| 61 |
codDays = checkValidDeliveryEstimate((int)(logistincInfo.getDeliveryTime()+1));
|
60 |
codDays = getDeliveryDateString((int)(logistincInfo.getDeliveryTime()+1), DeliveryType.COD);
|
| 62 |
}
|
61 |
}
|
| 63 |
}
|
62 |
}
|
| 64 |
|
63 |
|
| 65 |
isCODAvailable = logistincInfo.isCodAllowed();
|
64 |
isCODAvailable = logistincInfo.isCodAllowed();
|
| 66 |
isOTGAvailable = logistincInfo.isOtgAvailable();
|
65 |
isOTGAvailable = logistincInfo.isOtgAvailable();
|
| Line 92... |
Line 91... |
| 92 |
log.warn(e.getMessage()+"pincode : "+ pincode + " Actual referer : " + request.getHeader("referer") + e.getStackTrace());
|
91 |
log.warn(e.getMessage()+"pincode : "+ pincode + " Actual referer : " + request.getHeader("referer") + e.getStackTrace());
|
| 93 |
}
|
92 |
}
|
| 94 |
return new DefaultHttpHeaders("index");
|
93 |
return new DefaultHttpHeaders("index");
|
| 95 |
}
|
94 |
}
|
| 96 |
|
95 |
|
| - |
|
96 |
|
| 97 |
public static String checkValidDeliveryEstimate(int days) throws TException {
|
97 |
public static String getDeliveryDateString(int days, DeliveryType type) throws TException {
|
| 98 |
Calendar now = new GregorianCalendar();
|
98 |
Calendar now = new GregorianCalendar();
|
| 99 |
int hour = now.get(Calendar.HOUR_OF_DAY);
|
99 |
int hour = now.get(Calendar.HOUR_OF_DAY);
|
| - |
|
100 |
if(type == DeliveryType.COD && hour < 15){
|
| - |
|
101 |
days = days + 1;
|
| - |
|
102 |
}
|
| 100 |
if(businessDayToActualDateMap.containsKey(days)){
|
103 |
if(businessDayToActualDateMap.containsKey(days)){
|
| 101 |
if(hour != 0){
|
104 |
if(hour != 0){
|
| 102 |
return businessDayToActualDateMap.get(days);
|
105 |
return businessDayToActualDateMap.get(days);
|
| 103 |
}
|
106 |
}
|
| 104 |
businessDayToActualDateMap.clear();
|
107 |
businessDayToActualDateMap.clear();
|