feat(order): 添加AI相机照片集商品类型支持

- 在OrderServiceImpl中增加对商品类型13(AI相机照片集)的处理逻辑
- 新增listAiCamImageByFaceRelation方法用于查询AI相机图片数据
- 扩展订单详情展示逻辑,支持AI相机照片集的封面和拍摄时间显示
- 更新OrderMapper.xml,新增member_source_aicam_data查询片段
- 修改SQL映射,增加对goods_type=13情况的字段匹配规则
- 完善商品名称和订单类型的设置逻辑,区分AI相机照片集与其他类型
This commit is contained in:
2025-12-06 14:41:42 +08:00
parent c42b055d5f
commit 7749faf807
4 changed files with 51 additions and 2 deletions

View File

@@ -82,6 +82,7 @@ public interface SourceMapper {
List<SourceEntity> listVideoByFaceRelation(Long faceId);
List<SourceEntity> listImageByFaceRelation(Long faceId);
List<SourceEntity> listAiCamImageByFaceRelation(Long faceId);
List<MemberSourceEntity> listByFaceRelation(Long faceId, Integer type);
SourceEntity getEntity(Long id);

View File

@@ -177,7 +177,7 @@ public class OrderServiceImpl implements OrderService {
} else if (Integer.valueOf(2).equals(orderItemList.getFirst().getGoodsType())) {
item.setGoodsName("照片集");
item.setOrderType("照片集");
} else if (Integer.valueOf(3).equals(orderItemList.getFirst().getGoodsType())) {
} else if (Integer.valueOf(13).equals(orderItemList.getFirst().getGoodsType())) {
item.setGoodsName("AI微单");
item.setOrderType("AI微单");
} else if (Integer.valueOf(0).equals(orderItemList.getFirst().getGoodsType())) {
@@ -240,7 +240,7 @@ public class OrderServiceImpl implements OrderService {
} else if (Integer.valueOf(2).equals(orderItemList.getFirst().getGoodsType())) {
item.setGoodsName("照片集");
item.setOrderType("照片集");
} else if (Integer.valueOf(3).equals(orderItemList.getFirst().getGoodsType())) {
} else if (Integer.valueOf(13).equals(orderItemList.getFirst().getGoodsType())) {
item.setGoodsName("AI微单");
item.setOrderType("AI微单");
} else if (Integer.valueOf(0).equals(orderItemList.getFirst().getGoodsType())) {
@@ -350,6 +350,26 @@ public class OrderServiceImpl implements OrderService {
item.setShootingTime(memberVideoEntityList.getFirst().getCreateTime());
}
}
} else if (Integer.valueOf(13).equals(item.getGoodsType())) { // AI相机照片 goodsId就是人脸ID
List<SourceEntity> aiCamImageList = sourceMapper.listAiCamImageByFaceRelation(item.getGoodsId());
item.setCoverList(aiCamImageList.stream().map(SourceEntity::getUrl).collect(Collectors.toList()));
if (!_f.contains(13)) {
_f.add(13);
if (!aiCamImageList.isEmpty()) {
for (SourceEntity sourceEntity : aiCamImageList) {
GoodsDetailVO goods = new GoodsDetailVO();
goods.setGoodsId(sourceEntity.getId());
goods.setGoodsName("AI相机照片");
goods.setUrl(sourceEntity.getUrl());
goods.setGoodsType(sourceEntity.getType());
goods.setScenicId(sourceEntity.getScenicId());
goods.setTemplateCoverUrl(sourceEntity.getUrl());
goods.setCreateTime(sourceEntity.getCreateTime());
goodsList.add(goods);
}
item.setShootingTime(aiCamImageList.getFirst().getCreateTime());
}
}
} else if (Integer.valueOf(3).equals(item.getGoodsType())) { // 打印照片 goodsId就是memberPrintId
List<MemberPrintResp> list = printerMapper.getUserPhotoByIds(orderItemList.stream().map(OrderItemVO::getGoodsId).collect(Collectors.toList()));
item.setCoverList(orderItemList.stream().map(OrderItemVO::getCoverUrl).collect(Collectors.toList()));
@@ -552,6 +572,13 @@ public class OrderServiceImpl implements OrderService {
item.setShootingTime(memberVideoEntityList.getFirst().getCreateTime());
item.setCount(1);
}
} else if (Integer.valueOf(13).equals(item.getGoodsType())) {
List<SourceEntity> aiCamImageList = sourceMapper.listAiCamImageByFaceRelation(item.getFaceId());
item.setCoverList(aiCamImageList.stream().map(SourceEntity::getUrl).collect(Collectors.toList()));
if (!aiCamImageList.isEmpty()) {
item.setShootingTime(aiCamImageList.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());
@@ -688,6 +715,9 @@ public class OrderServiceImpl implements OrderService {
} else if (Integer.valueOf(2).equals(orderItemList.getFirst().getGoodsType())) {
item.setGoodsName("照片集");
item.setOrderType("照片集");
} else if (Integer.valueOf(13).equals(orderItemList.getFirst().getGoodsType())) {
item.setGoodsName("AI相机照片集");
item.setOrderType("AI相机照片集");
} else if (Integer.valueOf(0).equals(orderItemList.getFirst().getGoodsType())) {
item.setOrderType("旅行Vlog");
item.setGoodsName(orderItemList.getFirst().getGoodsName());