Rev 23767 | Rev 23824 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
package com.smartdukaan.cron.migrations;import java.time.LocalDateTime;import java.util.Arrays;import java.util.List;import org.apache.commons.lang.StringUtils;import org.apache.logging.log4j.LogManager;import org.apache.logging.log4j.Logger;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Component;import org.springframework.transaction.annotation.Transactional;import com.spice.profitmandi.dao.entity.transaction.LineItemImei;import com.spice.profitmandi.dao.entity.transaction.Order;import com.spice.profitmandi.dao.repository.transaction.LineItemImeisRepository;import com.spice.profitmandi.dao.repository.transaction.OrderRepository;@Component@Transactional(rollbackFor = Throwable.class)public class RunOnceTasks {private static final Logger LOGGER = LogManager.getLogger(RunOnceTasks.class);@Autowiredprivate OrderRepository orderRepository;@Autowiredprivate LineItemImeisRepository lineItemImeisRepository;public void migarateLineItemsToNewTable() {LOGGER.info("Before Migrated LineItems Successfully");int maxLineItemId = lineItemImeisRepository.selectMaximumLineItemId();LOGGER.info("Maximum id is {}", maxLineItemId);LocalDateTime endDate = LocalDateTime.now();LocalDateTime startDate = endDate.plusHours(1);List<Order> orders = orderRepository.selectAllByDatesBetween(startDate, endDate);for (Order order : orders) {if (order.getLineItem().getId() > maxLineItemId) {String serialNumbers = order.getLineItem().getSerialNumber();if (!StringUtils.isEmpty(serialNumbers)) {List<String> serialNumberList = Arrays.asList(serialNumbers.split(","));for (String serialNumber : serialNumberList) {int lineItemId = order.getLineItem().getId();LineItemImei lineItemImei = new LineItemImei();lineItemImei.setSerialNumber(serialNumber);lineItemImei.setLineItemId(lineItemId);lineItemImeisRepository.persist(lineItemImei);}} else {LOGGER.info("Serial Numbers dont exist for Order {}", order.getId());}}}LOGGER.info("Migrated LineItems Successfully");}}