| Line 9... |
Line 9... |
| 9 |
import java.util.Collections;
|
9 |
import java.util.Collections;
|
| 10 |
import java.util.HashMap;
|
10 |
import java.util.HashMap;
|
| 11 |
import java.util.HashSet;
|
11 |
import java.util.HashSet;
|
| 12 |
import java.util.List;
|
12 |
import java.util.List;
|
| 13 |
import java.util.Map;
|
13 |
import java.util.Map;
|
| 14 |
import java.util.Set;
|
- |
|
| 15 |
import java.util.stream.Collectors;
|
14 |
import java.util.stream.Collectors;
|
| 16 |
|
15 |
|
| 17 |
import org.apache.commons.io.output.ByteArrayOutputStream;
|
16 |
import org.apache.commons.io.output.ByteArrayOutputStream;
|
| 18 |
import org.apache.commons.lang.StringUtils;
|
17 |
import org.apache.commons.lang.StringUtils;
|
| 19 |
import org.apache.logging.log4j.LogManager;
|
18 |
import org.apache.logging.log4j.LogManager;
|
| Line 22... |
Line 21... |
| 22 |
import org.springframework.core.io.ByteArrayResource;
|
21 |
import org.springframework.core.io.ByteArrayResource;
|
| 23 |
import org.springframework.mail.javamail.JavaMailSender;
|
22 |
import org.springframework.mail.javamail.JavaMailSender;
|
| 24 |
import org.springframework.stereotype.Component;
|
23 |
import org.springframework.stereotype.Component;
|
| 25 |
import org.springframework.transaction.annotation.Transactional;
|
24 |
import org.springframework.transaction.annotation.Transactional;
|
| 26 |
|
25 |
|
| 27 |
import com.google.common.base.Functions;
|
26 |
import com.spice.profitmandi.common.exception.ProfitMandiBusinessException;
|
| 28 |
import com.spice.profitmandi.common.util.FileUtil;
|
27 |
import com.spice.profitmandi.common.util.FileUtil;
|
| 29 |
import com.spice.profitmandi.common.util.Utils;
|
28 |
import com.spice.profitmandi.common.util.Utils;
|
| 30 |
import com.spice.profitmandi.dao.entity.fofo.CurrentInventorySnapshot;
|
29 |
import com.spice.profitmandi.dao.entity.fofo.CurrentInventorySnapshot;
|
| 31 |
import com.spice.profitmandi.dao.entity.fofo.FofoOrder;
|
30 |
import com.spice.profitmandi.dao.entity.fofo.FofoOrder;
|
| 32 |
import com.spice.profitmandi.dao.entity.fofo.FofoOrderItem;
|
31 |
import com.spice.profitmandi.dao.entity.fofo.FofoOrderItem;
|
| Line 34... |
Line 33... |
| 34 |
import com.spice.profitmandi.dao.entity.fofo.PartnerTargetDetails;
|
33 |
import com.spice.profitmandi.dao.entity.fofo.PartnerTargetDetails;
|
| 35 |
import com.spice.profitmandi.dao.entity.fofo.Purchase;
|
34 |
import com.spice.profitmandi.dao.entity.fofo.Purchase;
|
| 36 |
import com.spice.profitmandi.dao.entity.fofo.ScanRecord;
|
35 |
import com.spice.profitmandi.dao.entity.fofo.ScanRecord;
|
| 37 |
import com.spice.profitmandi.dao.entity.fofo.TargetSlab;
|
36 |
import com.spice.profitmandi.dao.entity.fofo.TargetSlab;
|
| 38 |
import com.spice.profitmandi.dao.entity.inventory.SaholicInventorySnapshot;
|
37 |
import com.spice.profitmandi.dao.entity.inventory.SaholicInventorySnapshot;
|
| - |
|
38 |
import com.spice.profitmandi.dao.entity.inventory.SaholicReservationInventorySnapshot;
|
| 39 |
import com.spice.profitmandi.dao.entity.transaction.LineItem;
|
39 |
import com.spice.profitmandi.dao.entity.transaction.LineItem;
|
| 40 |
import com.spice.profitmandi.dao.entity.transaction.LineItemImei;
|
40 |
import com.spice.profitmandi.dao.entity.transaction.LineItemImei;
|
| 41 |
import com.spice.profitmandi.dao.entity.transaction.Order;
|
41 |
import com.spice.profitmandi.dao.entity.transaction.Order;
|
| 42 |
import com.spice.profitmandi.dao.entity.transaction.SellerWarehouse;
|
42 |
import com.spice.profitmandi.dao.entity.transaction.SellerWarehouse;
|
| 43 |
import com.spice.profitmandi.dao.repository.GenericRepository;
|
43 |
import com.spice.profitmandi.dao.repository.GenericRepository;
|
| Line 445... |
Line 445... |
| 445 |
} else {
|
445 |
} else {
|
| 446 |
saholicInventorySnapshotRepository.removeAllReservations(itemId);
|
446 |
saholicInventorySnapshotRepository.removeAllReservations(itemId);
|
| 447 |
System.out.printf("%d\t%d\t%d\n",itemId, 0, reserved);
|
447 |
System.out.printf("%d\t%d\t%d\n",itemId, 0, reserved);
|
| 448 |
}
|
448 |
}
|
| 449 |
});
|
449 |
});
|
| - |
|
450 |
|
| - |
|
451 |
List<SaholicReservationInventorySnapshot> reservationInventorySnapshots = saholicReservationInventorySnapshotRepository.selectAll();
|
| - |
|
452 |
Map<Integer, SaholicReservationInventorySnapshot> reservationInventorySnapshotsMap =reservationInventorySnapshots.stream()
|
| - |
|
453 |
.collect(Collectors.toMap(x->x.getOrderId(), x->x));
|
| - |
|
454 |
|
| - |
|
455 |
List<Integer> orderIds = reservationInventorySnapshots.stream().map(x->x.getOrderId()).collect(Collectors.toList());
|
| - |
|
456 |
List<Order> orders = orderRepository.selectByOrderIds(orderIds);
|
| - |
|
457 |
orders.stream().filter(x->Arrays.asList(OrderStatus.PAYMENT_PENDING, OrderStatus.PAYMENT_FAILED).
|
| - |
|
458 |
contains(x.getStatus())).forEach(x->{
|
| - |
|
459 |
SaholicReservationInventorySnapshot snapshot = reservationInventorySnapshotsMap.get(x.getId());
|
| - |
|
460 |
try {
|
| - |
|
461 |
saholicInventorySnapshotRepository.reduceReservationCount(snapshot.getItemId(), snapshot.getWarehouseId(), snapshot.getReserved(), snapshot.getOrderId());
|
| - |
|
462 |
System.out.printf("%d Reduced by %d for Order Id %d\n",snapshot.getItemId(), snapshot.getReserved(), snapshot.getOrderId());
|
| - |
|
463 |
} catch(ProfitMandiBusinessException e) {
|
| - |
|
464 |
LOGGER.info("Problem whiile reducing count for Order Id - {}", snapshot.getOrderId());
|
| - |
|
465 |
}
|
| - |
|
466 |
});
|
| 450 |
//throw new Exception();
|
467 |
throw new Exception();
|
| 451 |
}
|
468 |
}
|
| 452 |
|
469 |
|
| 453 |
}
|
470 |
}
|
| 454 |
|
471 |
|