|  | @@ -26,6 +26,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 | 
	
		
			
				|  |  |  import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 | 
	
		
			
				|  |  |  import com.fasterxml.jackson.core.JsonParser;
 | 
	
		
			
				|  |  |  import com.fasterxml.jackson.databind.ObjectMapper;
 | 
	
		
			
				|  |  | +import com.google.common.collect.Lists;
 | 
	
		
			
				|  |  |  import com.google.common.collect.Maps;
 | 
	
		
			
				|  |  |  import com.yami.shop.bean.app.dto.OrderCountData;
 | 
	
		
			
				|  |  |  import com.yami.shop.bean.app.dto.ShopCartOrderMergerDto;
 | 
	
	
		
			
				|  | @@ -867,12 +868,14 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 | 
	
		
			
				|  |  |  //            }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              // 待发货状态-最后一件商品进行退款,退款金额 =  商品金额 + 订单运费金额
 | 
	
		
			
				|  |  | -//            if (Objects.equals(order.getHbOrderStatus(), OrderStatus.PADYED.value()) && order.getFreightAmount() > 0) {
 | 
	
		
			
				|  |  | -//                int orderItenCount = orderItemService.count(new LambdaQueryWrapper<OrderItem>().eq(OrderItem::getOrderNumber, order.getOrderNumber()));
 | 
	
		
			
				|  |  | -//                if (Objects.equals(orderRefunds.size(), orderItenCount - 1)) {
 | 
	
		
			
				|  |  | -//                    newOrderRefund.setRefundAmount(Arith.add(newOrderRefund.getRefundAmount(), order.getFreightAmount()));
 | 
	
		
			
				|  |  | -//                }
 | 
	
		
			
				|  |  | -//            }
 | 
	
		
			
				|  |  | +            if ((Objects.equals(order.getHbOrderStatus(), OrderStatus.PADYED.value())||
 | 
	
		
			
				|  |  | +                    Objects.equals(order.getHbOrderStatus(), OrderStatus.CONSIGNMENT.value())) && order.getFreightAmount() > 0) {
 | 
	
		
			
				|  |  | +                int orderItenCount = orderItemService.count(new LambdaQueryWrapper<OrderItem>().eq(OrderItem::getOrderNumber, order.getOrderNumber()));
 | 
	
		
			
				|  |  | +                if (Objects.equals(orderRefunds.size(), orderItenCount - 1)) {
 | 
	
		
			
				|  |  | +                    newOrderRefund.setRefundAmount(Arith.add(newOrderRefund.getRefundAmount(), order.getFreightAmount()));
 | 
	
		
			
				|  |  | +                    newOrderRefund.setFreightAmount(order.getFreightAmount());
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          newOrderRefund.setShopId(order.getShopId());
 | 
	
	
		
			
				|  | @@ -897,8 +900,18 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 | 
	
		
			
				|  |  |          newOrderRefund.setReturnMoneySts(rReturnMoneySts);
 | 
	
		
			
				|  |  |          newOrderRefund.setApplyTime(new Date());
 | 
	
		
			
				|  |  |          newOrderRefund.setUpdateTime(new Date());
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        //TODO 待完善 积分
 | 
	
		
			
				|  |  |          log.info("生成退款单:{}", newOrderRefund);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +        List<OrderRefundAmountParam> sukList = Lists.newArrayList();
 | 
	
		
			
				|  |  | +        orderRefundParam.getOrderRefundSkuList().forEach(c -> {
 | 
	
		
			
				|  |  | +            OrderRefundAmountParam orderRefundAmountParam = new OrderRefundAmountParam();
 | 
	
		
			
				|  |  | +            orderRefundAmountParam.setSkuId(c.getSkuId());
 | 
	
		
			
				|  |  | +            orderRefundAmountParam.setProdCount(c.getProductCount());
 | 
	
		
			
				|  |  | +            sukList.add(orderRefundAmountParam);
 | 
	
		
			
				|  |  | +        });
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |          // 生成退款单
 | 
	
		
			
				|  |  |          orderRefundMapper.insert(newOrderRefund);
 | 
	
		
			
				|  |  |          // 更新订单状态
 |