|
@@ -37,6 +37,7 @@ import java.math.RoundingMode;
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
import java.util.Date;
|
|
import java.util.Date;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
+import java.util.Map;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -154,10 +155,23 @@ public class OmsOrderReturnApplyServiceImpl implements OmsOrderReturnApplyServic
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ OmsOrderItemExample itemExample = new OmsOrderItemExample();
|
|
|
|
+ itemExample.createCriteria().andOrderSnEqualTo(orderSn);
|
|
|
|
+ List<OmsOrderItem> items = orderItemMapper.selectByExample(itemExample);
|
|
|
|
+ Map<Long, Integer> itemIdNumMap = items.stream().collect(Collectors.groupingBy(OmsOrderItem::getId, Collectors.summingInt(OmsOrderItem::getProductQuantity)));
|
|
|
|
+
|
|
|
|
|
|
OmsOrderReturnApplyExample applyExample = new OmsOrderReturnApplyExample();
|
|
OmsOrderReturnApplyExample applyExample = new OmsOrderReturnApplyExample();
|
|
applyExample.createCriteria().andOrderSnEqualTo(orderSn);
|
|
applyExample.createCriteria().andOrderSnEqualTo(orderSn);
|
|
List<OmsOrderReturnApply> applyList = returnApplyMapper.selectByExample(applyExample);
|
|
List<OmsOrderReturnApply> applyList = returnApplyMapper.selectByExample(applyExample);
|
|
|
|
+ Map<Long, Integer> returnMap = applyList.stream().collect(Collectors.groupingBy(OmsOrderReturnApply::getOrderItemId, Collectors.summingInt(OmsOrderReturnApply::getProductCount)));
|
|
|
|
+
|
|
|
|
+ // 全部退货才更新状态
|
|
|
|
+ for (Long itemId : itemIdNumMap.keySet()) {
|
|
|
|
+ if (!itemIdNumMap.get(itemId).equals(returnMap.getOrDefault(itemId, 0))) {
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
|
|
List<Integer> statusList = applyList.stream().map(OmsOrderReturnApply::getStatus).distinct().collect(Collectors.toList());
|
|
List<Integer> statusList = applyList.stream().map(OmsOrderReturnApply::getStatus).distinct().collect(Collectors.toList());
|
|
// 全部退回完成,更新订单状态为已关闭
|
|
// 全部退回完成,更新订单状态为已关闭
|