|
@@ -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");
|
|
|
}
|
|
|
|