|  | @@ -37,6 +37,7 @@ import java.math.RoundingMode;
 | 
	
		
			
				|  |  |  import java.util.ArrayList;
 | 
	
		
			
				|  |  |  import java.util.Date;
 | 
	
		
			
				|  |  |  import java.util.List;
 | 
	
		
			
				|  |  | +import java.util.Map;
 | 
	
		
			
				|  |  |  import java.util.stream.Collectors;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  /**
 | 
	
	
		
			
				|  | @@ -154,10 +155,23 @@ public class OmsOrderReturnApplyServiceImpl implements OmsOrderReturnApplyServic
 | 
	
		
			
				|  |  |              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();
 | 
	
		
			
				|  |  |          applyExample.createCriteria().andOrderSnEqualTo(orderSn);
 | 
	
		
			
				|  |  |          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());
 | 
	
		
			
				|  |  |          // 全部退回完成,更新订单状态为已关闭
 |