zxl
2025-07-11 4e6d6e7c8e4ca42e96528a71162f5e58e473f652
framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java
@@ -5,7 +5,6 @@
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.io.IoUtil;
import cn.hutool.core.text.CharSequenceUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
import cn.hutool.poi.excel.ExcelReader;
@@ -205,6 +204,12 @@
                    UserContext.getCurrentUser().getUsername(), message));
            item.getCheckedSkuList().forEach(
                    sku -> {
//                        OrderItem e = new OrderItem(sku, item, tradeDTO);
//                        String goodsId = e.getGoodsId();
//                        Goods goods = goodsService.getById(goodsId);
//                        item.getPriceDetailDTO().setPlatFormCommissionPoint(Double.valueOf(goods.getCommission().toString()));
//                        e.setPriceDetailDTO(item.getPriceDetailDTO());
//                        orderItems.add(e);
                        orderItems.add(new OrderItem(sku, item, tradeDTO));
                        currentOrderItems.add(new OrderItem(sku, item, tradeDTO));
                    }
@@ -237,6 +242,42 @@
        queryWrapper.groupBy("o.id");
        queryWrapper.orderByDesc("o.id");
        IPage<OrderSimpleXcxVO>  iPage = this.baseMapper.queryByXcxParams(PageUtil.initPage(orderSearchParams), queryWrapper);
        Set<String> goodsIds = new HashSet<>();
        for (OrderSimpleXcxVO orderSimpleVO : iPage.getRecords()) {
            orderSimpleVO.setOrderItems(orderSimpleVO.initOrderItems());
            String groupGoodsId = orderSimpleVO.getGroupGoodsId();
            if (StringUtils.isNotBlank(groupGoodsId)) {
                goodsIds.addAll(Arrays.asList(groupGoodsId.split(",")));
            }
        }
        if (CollectionUtil.isNotEmpty(goodsIds)) {
            List<Goods> list = goodsService.list(Wrappers.<Goods>lambdaQuery().in(Goods::getId, goodsIds));
            Map<String, String> goodsVideos = list
                    .stream().collect(Collectors.toMap(Goods::getId, g->
                            StringUtils.isNotBlank(g.getGoodsVideo())?g.getGoodsVideo():""
                    ));
            iPage.getRecords().forEach(orderSimpleVO -> {
                orderSimpleVO.getOrderItems().forEach(orderItem -> {
                    String videoUrl = goodsVideos.get(orderItem.getGoodsId());
                    if (StringUtils.isNotBlank(videoUrl)&&!videoUrl.contains("http")) {
                        orderItem.setVideo(cosUtil.getPreviewUrl(videoUrl));
                    }
                    String image = orderItem.getImage();
                    if (StringUtils.isNotBlank(image)&&!image.contains("http")) {
                        orderItem.setImage(cosUtil.getPreviewUrl(image));
                    }
                });
            });
        }
        return iPage;
    }
    @Override
    public IPage<OrderSimpleXcxVO> querySupplierOrderParams(SupplierOrderSearchParams orderSearchParams) {
        QueryWrapper queryWrapper = orderSearchParams.queryWrapper();
        queryWrapper.groupBy("o.id");
        queryWrapper.orderByDesc("o.id");
        IPage<OrderSimpleXcxVO>  iPage = this.baseMapper.querySupplierOrderParams(PageUtil.initPage(orderSearchParams), queryWrapper);
        Set<String> goodsIds = new HashSet<>();
        for (OrderSimpleXcxVO orderSimpleVO : iPage.getRecords()) {
            orderSimpleVO.setOrderItems(orderSimpleVO.initOrderItems());
@@ -454,7 +495,25 @@
        //记录店铺订单支付流水
        storeFlowService.payOrder(orderSn);
        //todo 生成订单记录表
//        //获取子订单数据
//        List<OrderItem> orderItems = orderItemService.getByOrderSn(orderSn);
//        List<String> goodsIds = orderItems.stream().map(OrderItem::getGoodsId).distinct().collect(Collectors.toList());
//
//        Map<String, OrderItem> orderItem = orderItems.stream()
//                .collect(Collectors.toMap(OrderItem::getGoodsId, Function.identity()
//                        ,(oldValue, newValue) -> oldValue));
//        //根据订单item项创建抽成流水订单
//        List<CommissionRecord> commissionRecords = new ArrayList<>();
//        CommissionRecord commissionRecord;
//        for (OrderItem item : orderItems) {
//            commissionRecord = new CommissionRecord();
//            commissionRecord.setSn(item.getSn());
//            BigDecimal commission = item.getCommission();
//            commissionRecord.setCommission(commission);
//            commissionRecord.setCommissionPrice();
//
//        }
        //发送订单已付款消息
        OrderMessage orderMessage = new OrderMessage();
        orderMessage.setOrderSn(order.getSn());