|  | @@ -6,6 +6,8 @@ import cn.newfeifan.mall.framework.common.pojo.CommonResult;
 | 
	
		
			
				|  |  |  import cn.newfeifan.mall.framework.common.pojo.PageResult;
 | 
	
		
			
				|  |  |  import cn.newfeifan.mall.module.distri.mq.message.order.CalcMessage;
 | 
	
		
			
				|  |  |  import cn.newfeifan.mall.module.distri.mq.message.order.DistriOrderMessage;
 | 
	
		
			
				|  |  | +import cn.newfeifan.mall.module.distri.mq.message.order.OrderCalcMessage;
 | 
	
		
			
				|  |  | +import cn.newfeifan.mall.module.distri.mq.message.order.OrderItemMessage;
 | 
	
		
			
				|  |  |  import cn.newfeifan.mall.module.member.api.user.MemberUserApi;
 | 
	
		
			
				|  |  |  import cn.newfeifan.mall.module.member.api.user.dto.MemberUserRespDTO;
 | 
	
		
			
				|  |  |  import cn.newfeifan.mall.module.pay.controller.admin.order.vo.PayOrderPageItemRespVO;
 | 
	
	
		
			
				|  | @@ -38,6 +40,7 @@ import org.springframework.web.bind.annotation.*;
 | 
	
		
			
				|  |  |  import javax.annotation.Resource;
 | 
	
		
			
				|  |  |  import javax.validation.Valid;
 | 
	
		
			
				|  |  |  import java.util.*;
 | 
	
		
			
				|  |  | +import java.util.stream.Collectors;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  import static cn.newfeifan.mall.framework.common.pojo.CommonResult.success;
 | 
	
		
			
				|  |  |  import static cn.newfeifan.mall.framework.common.util.collection.CollectionUtils.convertList;
 | 
	
	
		
			
				|  | @@ -249,8 +252,34 @@ public class TradeOrderController {
 | 
	
		
			
				|  |  |      public CommonResult<String> startCalc(@RequestParam("orderIds") List<Long> orderIds) {
 | 
	
		
			
				|  |  |  //        List<DistriOrderMessage> appTradeOrderDetailRespVos = tradeOrderQueryService.queryAllOrder();
 | 
	
		
			
				|  |  |          List<DistriOrderMessage> appTradeOrderDetailRespVos = tradeOrderQueryService.queryAllOrder(orderIds);
 | 
	
		
			
				|  |  | -        CalcMessage calcMessage = CalcMessage.builder().distriOrderMessages(appTradeOrderDetailRespVos).build();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        Map<Long, List<OrderItemMessage>> orderItemMessageGroupBy = appTradeOrderDetailRespVos.stream()
 | 
	
		
			
				|  |  | +                .map(k -> OrderItemMessage.builder().price(k.getPrice())
 | 
	
		
			
				|  |  | +                        .productCount(k.getProductCount())
 | 
	
		
			
				|  |  | +                        .costPrice(k.getCostPrice())
 | 
	
		
			
				|  |  | +                        .orderId(k.getOrderId())
 | 
	
		
			
				|  |  | +                        .totalPrice(k.getTotalPrice()).build())
 | 
	
		
			
				|  |  | +                .collect(Collectors.groupingBy(OrderItemMessage::getOrderId));
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        List<OrderCalcMessage> orderCalcMessages = appTradeOrderDetailRespVos.stream().map(k -> {
 | 
	
		
			
				|  |  | +            OrderCalcMessage orderCalcMessage = OrderCalcMessage.builder()
 | 
	
		
			
				|  |  | +                    .orderId(k.getOrderId())
 | 
	
		
			
				|  |  | +                    .name(k.getName())
 | 
	
		
			
				|  |  | +                    .nickName(k.getNickName())
 | 
	
		
			
				|  |  | +                    .no(k.getNo())
 | 
	
		
			
				|  |  | +                    .merchantId(k.getMerchantId())
 | 
	
		
			
				|  |  | +                    .shopId(k.getShopId())
 | 
	
		
			
				|  |  | +                    .userId(k.getUserId()).build();
 | 
	
		
			
				|  |  | +            List<OrderItemMessage> orderItemMessages = orderItemMessageGroupBy.get(k.getOrderId());
 | 
	
		
			
				|  |  | +            orderCalcMessage.setOrderItemMessages(orderItemMessages);
 | 
	
		
			
				|  |  | +            return orderCalcMessage;
 | 
	
		
			
				|  |  | +        }).collect(Collectors.toList());
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        CalcMessage calcMessage = CalcMessage.builder().orderCalcMessages(orderCalcMessages).distriOrderMessages(appTradeOrderDetailRespVos).build();
 | 
	
		
			
				|  |  |          distriOrderProducer.sendDistriOrderMessage(calcMessage);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |          return success("success");
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 |