diff --git a/src/main/java/com/ycwl/basic/mapper/SourceMapper.java b/src/main/java/com/ycwl/basic/mapper/SourceMapper.java index 2c804459..40c34282 100644 --- a/src/main/java/com/ycwl/basic/mapper/SourceMapper.java +++ b/src/main/java/com/ycwl/basic/mapper/SourceMapper.java @@ -82,6 +82,7 @@ public interface SourceMapper { List listVideoByFaceRelation(Long faceId); List listImageByFaceRelation(Long faceId); + List listAiCamImageByFaceRelation(Long faceId); List listByFaceRelation(Long faceId, Integer type); SourceEntity getEntity(Long 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 ab4e47f7..f33e51ce 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 @@ -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 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 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 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()); diff --git a/src/main/resources/mapper/OrderMapper.xml b/src/main/resources/mapper/OrderMapper.xml index 3735703b..019af7a1 100644 --- a/src/main/resources/mapper/OrderMapper.xml +++ b/src/main/resources/mapper/OrderMapper.xml @@ -95,6 +95,13 @@ LEFT JOIN face f ON ms.face_id = f.id LEFT JOIN source s ON ms.source_id = s.id WHERE s.id IS NOT NULL + ), + member_source_aicam_data AS ( + SELECT ms.member_id, ms.source_id, ms.face_id, f.face_url, s.url + FROM member_source ms + LEFT JOIN face f ON ms.face_id = f.id + LEFT JOIN source s ON ms.source_id = s.id + WHERE s.id IS NOT NULL AND ms.type = 3 ), member_photo_data AS ( SELECT mp.member_id, 3 as type, mp.id, mp.crop_url as url, mp.quantity, mp.status, mp.create_time @@ -127,17 +134,20 @@ WHEN '3' THEN '照片打印' WHEN '4' THEN '一体机照片打印' WHEN '5' THEN 'pLog' + WHEN '13' THEN 'AI相机照片集' ELSE '其他' END AS goods_name, CASE oi.goods_type WHEN '0' THEN mvd.face_id WHEN '1' THEN oi.goods_id WHEN '2' THEN oi.goods_id + WHEN '13' THEN oi.goods_id END AS face_id, CASE oi.goods_type WHEN '0' THEN mvd.face_url WHEN '1' THEN msd.face_url WHEN '2' THEN msd.face_url + WHEN '13' THEN msac.face_url END AS face_url, CASE oi.goods_type WHEN '0' THEN mvd.video_url @@ -149,11 +159,13 @@ WHEN '3' THEN mpd.url WHEN '4' THEN mpa.url WHEN '5' THEN mpl.url + WHEN '13' THEN msac.url END AS imgUrl FROM order_item oi LEFT JOIN `order` o ON oi.order_id = o.id LEFT JOIN member_video_data mvd ON o.face_id = mvd.face_id AND oi.goods_id = mvd.video_id LEFT JOIN member_source_data msd ON o.face_id = msd.face_id AND oi.goods_id = msd.face_id AND msd.type = oi.goods_type + LEFT JOIN member_source_aicam_data msac ON o.face_id = msac.face_id AND oi.goods_id = msac.face_id AND oi.goods_type = 13 LEFT JOIN member_photo_data mpd ON oi.goods_id = mpd.id AND mpd.type = oi.goods_type LEFT JOIN member_aio_photo_data mpa ON oi.goods_id = mpa.id AND mpa.type = oi.goods_type LEFT JOIN member_plog_data mpl ON oi.goods_id = mpl.id AND mpl.type = oi.goods_type AND o.face_id = mpl.face_id diff --git a/src/main/resources/mapper/SourceMapper.xml b/src/main/resources/mapper/SourceMapper.xml index a939b6e1..2d7757a7 100644 --- a/src/main/resources/mapper/SourceMapper.xml +++ b/src/main/resources/mapper/SourceMapper.xml @@ -348,6 +348,12 @@ left join source s on ms.source_id = s.id where ms.face_id = #{faceId} and ms.type = 2 +