feat(order): 添加商品数量字段并初始化

- 在 OrderItemVO 中新增 count 字段用于记录商品数量- 根据不同商品类型设置默认数量为1
- 针对打印订单类型从照片信息中获取实际数量进行赋值
- 完善订单项数据封装逻辑以支持数量统计需求
This commit is contained in:
2025-11-07 21:58:19 +08:00
parent 25c0e629c6
commit 6b2089a9bc
2 changed files with 7 additions and 0 deletions

View File

@@ -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
*/

View File

@@ -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<SourceEntity> 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<MemberPrintResp> 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());
});
}
});
});