You've already forked FrameTour-BE
feat(order): 添加商品数量字段并初始化
- 在 OrderItemVO 中新增 count 字段用于记录商品数量- 根据不同商品类型设置默认数量为1 - 针对打印订单类型从照片信息中获取实际数量进行赋值 - 完善订单项数据封装逻辑以支持数量统计需求
This commit is contained in:
@@ -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
|
||||
*/
|
||||
|
||||
@@ -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());
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user