From 6b2089a9bc40ab8c283ff874ce4914de010bc21f Mon Sep 17 00:00:00 2001 From: Jerry Yan <792602257@qq.com> Date: Fri, 7 Nov 2025 21:58:19 +0800 Subject: [PATCH] =?UTF-8?q?feat(order):=20=E6=B7=BB=E5=8A=A0=E5=95=86?= =?UTF-8?q?=E5=93=81=E6=95=B0=E9=87=8F=E5=AD=97=E6=AE=B5=E5=B9=B6=E5=88=9D?= =?UTF-8?q?=E5=A7=8B=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 OrderItemVO 中新增 count 字段用于记录商品数量- 根据不同商品类型设置默认数量为1 - 针对打印订单类型从照片信息中获取实际数量进行赋值 - 完善订单项数据封装逻辑以支持数量统计需求 --- .../com/ycwl/basic/model/pc/order/resp/OrderItemVO.java | 1 + .../com/ycwl/basic/service/pc/impl/OrderServiceImpl.java | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/src/main/java/com/ycwl/basic/model/pc/order/resp/OrderItemVO.java b/src/main/java/com/ycwl/basic/model/pc/order/resp/OrderItemVO.java index 90ed1459..e9915826 100644 --- a/src/main/java/com/ycwl/basic/model/pc/order/resp/OrderItemVO.java +++ b/src/main/java/com/ycwl/basic/model/pc/order/resp/OrderItemVO.java @@ -23,6 +23,7 @@ public class OrderItemVO { private Long orderId; // 商品类型,1成片,2源素材 private Integer goodsType; + private Integer count; /** * 商品ID,goods_type=1关联video.id,=2关联source.id,=3关联template.id */ diff --git a/src/main/java/com/ycwl/basic/service/pc/impl/OrderServiceImpl.java b/src/main/java/com/ycwl/basic/service/pc/impl/OrderServiceImpl.java index bc639376..1ce87899 100644 --- a/src/main/java/com/ycwl/basic/service/pc/impl/OrderServiceImpl.java +++ b/src/main/java/com/ycwl/basic/service/pc/impl/OrderServiceImpl.java @@ -513,23 +513,29 @@ public class OrderServiceImpl implements OrderService { item.setCoverList(memberVideoEntityList.stream().map(SourceEntity::getUrl).collect(Collectors.toList())); if (!memberVideoEntityList.isEmpty()) { item.setShootingTime(memberVideoEntityList.getFirst().getCreateTime()); + item.setCount(1); } } else if (Integer.valueOf(2).equals(item.getGoodsType())) { List memberVideoEntityList = sourceMapper.listImageByFaceRelation(orderReqQuery.getMemberId(), item.getFaceId()); item.setCoverList(memberVideoEntityList.stream().map(SourceEntity::getUrl).collect(Collectors.toList())); if (!memberVideoEntityList.isEmpty()) { item.setShootingTime(memberVideoEntityList.getFirst().getCreateTime()); + item.setCount(1); } } else if (Integer.valueOf(0).equals(item.getGoodsType())) { item.setCoverList(Collections.singletonList(item.getCoverUrl())); VideoEntity video = videoRepository.getVideo(item.getGoodsId()); if (video != null) { item.setShootingTime(videoTaskRepository.getTaskShotDate(video.getTaskId())); + item.setCount(1); } } else if (Integer.valueOf(3).equals(item.getGoodsType())) { // 打印订单 List photo = printerMapper.getUserPhotoByIds(orderItemList.stream().map(OrderItemVO::getGoodsId).collect(Collectors.toList())); item.setCoverList(photo.stream().map(MemberPrintResp::getCropUrl).collect(Collectors.toList())); + photo.stream().filter(p -> p.getId().equals(item.getGoodsId().intValue())).findAny().ifPresent(p -> { + item.setCount(p.getQuantity()); + }); } }); });