|  | @@ -10,14 +10,12 @@
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  package com.yami.shop.platform.controller;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 | 
	
		
			
				|  |  |  import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 | 
	
		
			
				|  |  |  import com.baomidou.mybatisplus.core.metadata.IPage;
 | 
	
		
			
				|  |  |  import com.yami.shop.bean.enums.DvyType;
 | 
	
		
			
				|  |  |  import com.yami.shop.bean.enums.OrderStatus;
 | 
	
		
			
				|  |  | -import com.yami.shop.bean.model.Order;
 | 
	
		
			
				|  |  | -import com.yami.shop.bean.model.OrderItem;
 | 
	
		
			
				|  |  | -import com.yami.shop.bean.model.User;
 | 
	
		
			
				|  |  | -import com.yami.shop.bean.model.UserAddrOrder;
 | 
	
		
			
				|  |  | +import com.yami.shop.bean.model.*;
 | 
	
		
			
				|  |  |  import com.yami.shop.bean.param.BackendOrderParam;
 | 
	
		
			
				|  |  |  import com.yami.shop.bean.param.DeliveryOrderParam;
 | 
	
		
			
				|  |  |  import com.yami.shop.bean.param.OrderParam;
 | 
	
	
		
			
				|  | @@ -25,8 +23,11 @@ import com.yami.shop.bean.param.OrderPayParam;
 | 
	
		
			
				|  |  |  import com.yami.shop.common.exception.GlobalException;
 | 
	
		
			
				|  |  |  import com.yami.shop.common.util.PageParam;
 | 
	
		
			
				|  |  |  import com.yami.shop.common.util.R;
 | 
	
		
			
				|  |  | +import com.yami.shop.security.comment.dao.AppConnectMapper;
 | 
	
		
			
				|  |  | +import com.yami.shop.security.comment.model.AppConnect;
 | 
	
		
			
				|  |  |  import com.yami.shop.service.*;
 | 
	
		
			
				|  |  |  import com.yami.shop.utils.CullenUtils;
 | 
	
		
			
				|  |  | +import com.yami.shop.wx.service.impl.WxProviderServiceImpl;
 | 
	
		
			
				|  |  |  import io.swagger.annotations.ApiOperation;
 | 
	
		
			
				|  |  |  import lombok.AllArgsConstructor;
 | 
	
		
			
				|  |  |  import org.springframework.format.annotation.DateTimeFormat;
 | 
	
	
		
			
				|  | @@ -39,6 +40,7 @@ import java.util.Date;
 | 
	
		
			
				|  |  |  import java.util.List;
 | 
	
		
			
				|  |  |  import java.util.Map;
 | 
	
		
			
				|  |  |  import java.util.Objects;
 | 
	
		
			
				|  |  | +import java.util.stream.Collectors;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  /**
 | 
	
		
			
				|  |  |   * 订单信息管理实现
 | 
	
	
		
			
				|  | @@ -59,6 +61,8 @@ public class OrderController {
 | 
	
		
			
				|  |  |      private final SkuService skuService;
 | 
	
		
			
				|  |  |      private final UserService userService;
 | 
	
		
			
				|  |  |      private final DeliveryService deliveryService;
 | 
	
		
			
				|  |  | +    private final OrderSettlementService orderSettlementService;
 | 
	
		
			
				|  |  | +    private final AppConnectMapper appConnectMapper;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      /**
 | 
	
	
		
			
				|  | @@ -154,7 +158,6 @@ public class OrderController {
 | 
	
		
			
				|  |  |                      CullenUtils.validateDataThrowException(orderItemService.refundIngCount(orderItem.getOrderItemId())!=0,"该订单存在售后中商品,请处理后发货..."));
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        //Delivery delivery = deliveryService.getById(deliveryOrderParam.getDvyId());
 | 
	
		
			
				|  |  |          Order orderParam = new Order();
 | 
	
		
			
				|  |  |          if (deliveryOrderParam.getDvyType().equals(2)){
 | 
	
		
			
				|  |  |              orderParam.setOrderId(order.getOrderId());
 | 
	
	
		
			
				|  | @@ -179,7 +182,29 @@ public class OrderController {
 | 
	
		
			
				|  |  |              productService.removeProductCacheByProdId(orderItem.getProdId());
 | 
	
		
			
				|  |  |              skuService.removeSkuCacheBySkuId(orderItem.getSkuId(),orderItem.getProdId());
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        OrderSettlement settlement = orderSettlementService.getOne(new LambdaQueryWrapper<OrderSettlement>().eq(OrderSettlement::getOrderNumber, deliveryOrderParam.getOrderNumber()));
 | 
	
		
			
				|  |  | +        UserAddrOrder userAddrOrder = userAddrOrderService.getById(order.getAddrOrderId());
 | 
	
		
			
				|  |  | +        AppConnect connect = appConnectMapper.getByUserId(order.getUserId(), 1);
 | 
	
		
			
				|  |  | +        Delivery delivery = deliveryService.getById(deliveryOrderParam.getDvyId());
 | 
	
		
			
				|  |  | +        WxProviderServiceImpl.uploadShippingInfo(
 | 
	
		
			
				|  |  | +                deliveryOrderParam.getDvyFlowId(),
 | 
	
		
			
				|  |  | +                settlement.getBizPayNo(),
 | 
	
		
			
				|  |  | +                toOrderStr(orderItems),
 | 
	
		
			
				|  |  | +                userAddrOrder.getMobile(),
 | 
	
		
			
				|  |  | +                connect.getBizUserId(),
 | 
	
		
			
				|  |  | +                delivery.getDvyNo(),1
 | 
	
		
			
				|  |  | +                );
 | 
	
		
			
				|  |  |          return R.SUCCESS();
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    public static String toOrderStr(List<OrderItem> items) {
 | 
	
		
			
				|  |  | +        if (items == null || items.isEmpty()) {
 | 
	
		
			
				|  |  | +            return "";
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        return items.stream()
 | 
	
		
			
				|  |  | +                .map(item -> item.getProdName() + "*" + item.getProdCount())
 | 
	
		
			
				|  |  | +                .collect(Collectors.joining(" "));
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  }
 |