Subversion Repositories SmartDukaan

Rev

Rev 24961 | Rev 24964 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 24961 Rev 24962
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