Subversion Repositories SmartDukaan

Rev

Rev 23767 | Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
23755 amit.gupta 1
package com.smartdukaan.cron.migrations;
2
 
3
import java.text.SimpleDateFormat;
4
import java.time.LocalDate;
5
import java.time.LocalDateTime;
6
import java.time.LocalTime;
7
import java.util.Arrays;
8
import java.util.List;
9
 
10
import org.apache.commons.lang.StringUtils;
11
import org.apache.logging.log4j.LogManager;
12
import org.apache.logging.log4j.Logger;
13
import org.springframework.beans.factory.annotation.Autowired;
14
import org.springframework.stereotype.Component;
15
import org.springframework.transaction.annotation.Transactional;
16
 
17
import com.spice.profitmandi.dao.entity.transaction.LineItemImei;
18
import com.spice.profitmandi.dao.entity.transaction.Order;
19
import com.spice.profitmandi.dao.repository.transaction.LineItemImeisRepository;
20
import com.spice.profitmandi.dao.repository.transaction.OrderRepository;
21
 
22
@Component
23
@Transactional(rollbackFor = Throwable.class)
24
public class RunOnceTasks {
25
 
26
	private static final Logger LOGGER = LogManager.getLogger(RunOnceTasks.class);
27
 
28
	private static final SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
29
	@Autowired
30
	private OrderRepository orderRepository;
31
 
32
	@Autowired
33
	private LineItemImeisRepository lineItemImeisRepository;
34
 
35
	public void migarateLineItemsToNewTable() {
36
		LOGGER.info("Before Migrated LineItems Successfully");
37
		LocalDateTime endDate = LocalDateTime.now();
38
		LocalDateTime startDate = LocalDateTime.of(LocalDate.of(2017, 07, 1), LocalTime.MIDNIGHT);
39
		List<Order> orders = orderRepository.selectAllByDatesBetween(startDate,  endDate);
40
		for (Order order : orders) {
41
			String serialNumbers = order.getLineItem().getSerialNumber();
42
			if(!StringUtils.isEmpty(serialNumbers)) {
43
				List<String> serialNumberList = Arrays.asList(serialNumbers.split(","));
44
				for(String serialNumber : serialNumberList) {
45
					int lineItemId=order.getLineItem().getId();
46
					LineItemImei lineItemImei = new LineItemImei();
47
					lineItemImei.setSerialNumber(serialNumber);
48
					lineItemImei.setLineItemId(lineItemId);
49
					lineItemImeisRepository.persist(lineItemImei);
50
				}
51
			} else {
52
				LOGGER.info("Serial Numbers dont exist for Order {}", order.getId());
53
			}
54
		}
55
		LOGGER.info("Migrated LineItems Successfully");
56
	}
57
}