|
@@ -2247,24 +2247,29 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
|
|
|
if(CollectionUtils.isEmpty(dtos)){
|
|
|
continue;
|
|
|
}
|
|
|
- Map<Long,Integer> indexMap = new HashMap<>();
|
|
|
Map<Long,List<SellOrder>> goodsSkuMap = dtos.stream().collect(Collectors.groupingBy(e->e.getGoodsSkuId().longValue()));
|
|
|
for (OrderSkuSync.SkuSync skuSync : orderSkuSync.getSkuSyncList()) {
|
|
|
List<SellOrder> sellOrderList = goodsSkuMap.get(skuSync.getSku());
|
|
|
for (int i = 0; i < skuSync.getCount(); i++) {
|
|
|
- SellOrder sellOrder = sellOrderList.get(indexMap.get(skuSync.getSku())==null?0:indexMap.get(skuSync.getSku()));
|
|
|
- if (sellOrder != null) {
|
|
|
- sellOrder.setDeliveryTime(format);
|
|
|
- sellOrder.setSellCost(skuSync.getPrice());
|
|
|
- sellOrder.setStockType(StringUtils.equalsIgnoreCase(skuSync.getType(),"INTERNAL")?StockType.INTERNAL:StockType.EXTERNAL);
|
|
|
- }
|
|
|
- indexMap.put(skuSync.getSku(),indexMap.get(skuSync.getSku())==null?0:indexMap.get(skuSync.getSku())+1);
|
|
|
+ SellOrder sellOrder = this.getSellorder(sellOrderList,i);
|
|
|
+ sellOrder.setDeliveryTime(format);
|
|
|
+ sellOrder.setSellCost(skuSync.getPrice());
|
|
|
+ sellOrder.setStockType(StringUtils.equalsIgnoreCase(skuSync.getType(),"INTERNAL")?StockType.INTERNAL:StockType.EXTERNAL);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
sellOrderDao.batchUpdate(sellOrders);
|
|
|
}
|
|
|
|
|
|
+ private SellOrder getSellorder(List<SellOrder> sellOrderList,Integer index){
|
|
|
+ SellOrder sellOrder = sellOrderList.get(index);
|
|
|
+ if(StringUtils.isNotEmpty(sellOrder.getDeliveryTime())){
|
|
|
+ return getSellorder(sellOrderList,index+1);
|
|
|
+ }else {
|
|
|
+ return sellOrder;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
public BigDecimal getActualAmount(BigDecimal price, StudentPaymentOrderExportDto row) {
|
|
|
if (row.getExpectAmount().compareTo(BigDecimal.ZERO) > 0) {
|
|
|
return price.multiply(row.getActualAmount()).divide(row.getExpectAmount(), 2, BigDecimal.ROUND_DOWN);
|