| Line 26... |
Line 26... |
| 26 |
import com.spice.profitmandi.dao.entity.fofo.FofoOrderItem;
|
26 |
import com.spice.profitmandi.dao.entity.fofo.FofoOrderItem;
|
| 27 |
import com.spice.profitmandi.dao.entity.fofo.InventoryItem;
|
27 |
import com.spice.profitmandi.dao.entity.fofo.InventoryItem;
|
| 28 |
import com.spice.profitmandi.dao.entity.fofo.Purchase;
|
28 |
import com.spice.profitmandi.dao.entity.fofo.Purchase;
|
| 29 |
import com.spice.profitmandi.dao.entity.fofo.SchemeInOut;
|
29 |
import com.spice.profitmandi.dao.entity.fofo.SchemeInOut;
|
| 30 |
import com.spice.profitmandi.dao.entity.fofo.SchemeItem;
|
30 |
import com.spice.profitmandi.dao.entity.fofo.SchemeItem;
|
| - |
|
31 |
import com.spice.profitmandi.dao.entity.transaction.Order;
|
| 31 |
import com.spice.profitmandi.dao.enumuration.catalog.SchemeAmountType;
|
32 |
import com.spice.profitmandi.dao.enumuration.catalog.SchemeAmountType;
|
| 32 |
import com.spice.profitmandi.dao.enumuration.catalog.SchemeType;
|
33 |
import com.spice.profitmandi.dao.enumuration.catalog.SchemeType;
|
| 33 |
import com.spice.profitmandi.dao.repository.catalog.ItemRepository;
|
34 |
import com.spice.profitmandi.dao.repository.catalog.ItemRepository;
|
| 34 |
import com.spice.profitmandi.dao.repository.catalog.RetailerSchemeRepository;
|
35 |
import com.spice.profitmandi.dao.repository.catalog.RetailerSchemeRepository;
|
| 35 |
import com.spice.profitmandi.dao.repository.catalog.SchemeRepository;
|
36 |
import com.spice.profitmandi.dao.repository.catalog.SchemeRepository;
|
| Line 38... |
Line 39... |
| 38 |
import com.spice.profitmandi.dao.repository.fofo.FofoOrderItemRepository;
|
39 |
import com.spice.profitmandi.dao.repository.fofo.FofoOrderItemRepository;
|
| 39 |
import com.spice.profitmandi.dao.repository.fofo.InventoryItemRepository;
|
40 |
import com.spice.profitmandi.dao.repository.fofo.InventoryItemRepository;
|
| 40 |
import com.spice.profitmandi.dao.repository.fofo.PurchaseRepository;
|
41 |
import com.spice.profitmandi.dao.repository.fofo.PurchaseRepository;
|
| 41 |
import com.spice.profitmandi.dao.repository.fofo.SchemeInOutRepository;
|
42 |
import com.spice.profitmandi.dao.repository.fofo.SchemeInOutRepository;
|
| 42 |
import com.spice.profitmandi.dao.repository.fofo.SchemeItemRepository;
|
43 |
import com.spice.profitmandi.dao.repository.fofo.SchemeItemRepository;
|
| - |
|
44 |
import com.spice.profitmandi.dao.repository.transaction.OrderRepository;
|
| 43 |
import com.spice.profitmandi.service.inventory.OrderService;
|
45 |
import com.spice.profitmandi.service.inventory.OrderService;
|
| 44 |
import com.spice.profitmandi.service.wallet.WalletService;
|
46 |
import com.spice.profitmandi.service.wallet.WalletService;
|
| 45 |
|
47 |
|
| 46 |
import in.shop2020.model.v1.catalog.ItemType;
|
48 |
import in.shop2020.model.v1.catalog.ItemType;
|
| 47 |
import in.shop2020.model.v1.order.WalletReferenceType;
|
49 |
import in.shop2020.model.v1.order.WalletReferenceType;
|
| Line 85... |
Line 87... |
| 85 |
private FofoLineItemRepository fofoLineItemRepository;
|
87 |
private FofoLineItemRepository fofoLineItemRepository;
|
| 86 |
|
88 |
|
| 87 |
@Autowired
|
89 |
@Autowired
|
| 88 |
private PurchaseRepository purchaseRepository;
|
90 |
private PurchaseRepository purchaseRepository;
|
| 89 |
|
91 |
|
| - |
|
92 |
@Autowired
|
| - |
|
93 |
private OrderRepository orderRepository;
|
| - |
|
94 |
|
| 90 |
@Override
|
95 |
@Override
|
| 91 |
public void saveScheme(int creatorId, CreateSchemeRequest createSchemeRequest) throws ProfitMandiBusinessException {
|
96 |
public void saveScheme(int creatorId, CreateSchemeRequest createSchemeRequest) throws ProfitMandiBusinessException {
|
| 92 |
|
97 |
|
| 93 |
this.validateCreateSchemeRequest(createSchemeRequest);
|
98 |
this.validateCreateSchemeRequest(createSchemeRequest);
|
| 94 |
|
99 |
|
| Line 499... |
Line 504... |
| 499 |
return fofoOrderItemSchemsMap;
|
504 |
return fofoOrderItemSchemsMap;
|
| 500 |
}
|
505 |
}
|
| 501 |
|
506 |
|
| 502 |
@Override
|
507 |
@Override
|
| 503 |
public float processSchemeIn(int purchaseId, int retailerId) throws ProfitMandiBusinessException {
|
508 |
public float processSchemeIn(int purchaseId, int retailerId) throws ProfitMandiBusinessException {
|
| - |
|
509 |
Purchase purchase = purchaseRepository.selectByIdAndFofoId(purchaseId, retailerId);
|
| - |
|
510 |
List<Order> orders = orderRepository.selectByAirwayBillOrInvoiceNumber(purchase.getPurchaseReference(), retailerId);
|
| - |
|
511 |
LocalDateTime billingTimestamp = LocalDateTime.now();
|
| - |
|
512 |
if(!orders.isEmpty()){
|
| - |
|
513 |
billingTimestamp = orders.get(0).getBillingTimestamp();
|
| - |
|
514 |
}
|
| 504 |
List<Scheme> schemes = schemeRepository.selectActiveAll(SchemeType.IN, LocalDateTime.now());
|
515 |
List<Scheme> schemes = schemeRepository.selectActiveAll(SchemeType.IN, billingTimestamp);
|
| 505 |
float totalCashback = 0;
|
516 |
float totalCashback = 0;
|
| 506 |
if(schemes.isEmpty()){
|
517 |
if(schemes.isEmpty()){
|
| 507 |
return 0;
|
518 |
return 0;
|
| 508 |
}
|
519 |
}
|
| 509 |
List<InventoryItem> inventoryItems = inventoryItemRepository.selectByPurchaseId(purchaseId);
|
520 |
List<InventoryItem> inventoryItems = inventoryItemRepository.selectByPurchaseId(purchaseId);
|
| 510 |
LOGGER.info("SchemeIn filter inventoryItems {}", inventoryItems);
|
521 |
LOGGER.info("SchemeIn filter inventoryItems {}", inventoryItems);
|
| 511 |
|
522 |
|
| 512 |
Purchase purchase = purchaseRepository.selectByIdAndFofoId(purchaseId, retailerId);
|
- |
|
| 513 |
|
- |
|
| 514 |
Map<InventoryItem, Set<Scheme>> inventoryItemSchemesMap = this.toInventoryItemSchemesMap(schemes, inventoryItems);
|
523 |
Map<InventoryItem, Set<Scheme>> inventoryItemSchemesMap = this.toInventoryItemSchemesMap(schemes, inventoryItems);
|
| 515 |
|
524 |
|
| 516 |
if(inventoryItemSchemesMap.isEmpty()){
|
525 |
if(inventoryItemSchemesMap.isEmpty()){
|
| 517 |
return 0;
|
526 |
return 0;
|
| 518 |
}
|
527 |
}
|