You've already forked FrameTour-BE
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:
@@ -82,6 +82,7 @@ public interface SourceMapper {
|
|||||||
List<SourceEntity> listVideoByFaceRelation(Long faceId);
|
List<SourceEntity> listVideoByFaceRelation(Long faceId);
|
||||||
|
|
||||||
List<SourceEntity> listImageByFaceRelation(Long faceId);
|
List<SourceEntity> listImageByFaceRelation(Long faceId);
|
||||||
|
List<SourceEntity> listAiCamImageByFaceRelation(Long faceId);
|
||||||
List<MemberSourceEntity> listByFaceRelation(Long faceId, Integer type);
|
List<MemberSourceEntity> listByFaceRelation(Long faceId, Integer type);
|
||||||
|
|
||||||
SourceEntity getEntity(Long id);
|
SourceEntity getEntity(Long id);
|
||||||
|
|||||||
@@ -177,7 +177,7 @@ public class OrderServiceImpl implements OrderService {
|
|||||||
} else if (Integer.valueOf(2).equals(orderItemList.getFirst().getGoodsType())) {
|
} else if (Integer.valueOf(2).equals(orderItemList.getFirst().getGoodsType())) {
|
||||||
item.setGoodsName("照片集");
|
item.setGoodsName("照片集");
|
||||||
item.setOrderType("照片集");
|
item.setOrderType("照片集");
|
||||||
} else if (Integer.valueOf(3).equals(orderItemList.getFirst().getGoodsType())) {
|
} else if (Integer.valueOf(13).equals(orderItemList.getFirst().getGoodsType())) {
|
||||||
item.setGoodsName("AI微单");
|
item.setGoodsName("AI微单");
|
||||||
item.setOrderType("AI微单");
|
item.setOrderType("AI微单");
|
||||||
} else if (Integer.valueOf(0).equals(orderItemList.getFirst().getGoodsType())) {
|
} 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())) {
|
} else if (Integer.valueOf(2).equals(orderItemList.getFirst().getGoodsType())) {
|
||||||
item.setGoodsName("照片集");
|
item.setGoodsName("照片集");
|
||||||
item.setOrderType("照片集");
|
item.setOrderType("照片集");
|
||||||
} else if (Integer.valueOf(3).equals(orderItemList.getFirst().getGoodsType())) {
|
} else if (Integer.valueOf(13).equals(orderItemList.getFirst().getGoodsType())) {
|
||||||
item.setGoodsName("AI微单");
|
item.setGoodsName("AI微单");
|
||||||
item.setOrderType("AI微单");
|
item.setOrderType("AI微单");
|
||||||
} else if (Integer.valueOf(0).equals(orderItemList.getFirst().getGoodsType())) {
|
} else if (Integer.valueOf(0).equals(orderItemList.getFirst().getGoodsType())) {
|
||||||
@@ -350,6 +350,26 @@ public class OrderServiceImpl implements OrderService {
|
|||||||
item.setShootingTime(memberVideoEntityList.getFirst().getCreateTime());
|
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
|
} else if (Integer.valueOf(3).equals(item.getGoodsType())) { // 打印照片 goodsId就是memberPrintId
|
||||||
List<MemberPrintResp> list = printerMapper.getUserPhotoByIds(orderItemList.stream().map(OrderItemVO::getGoodsId).collect(Collectors.toList()));
|
List<MemberPrintResp> list = printerMapper.getUserPhotoByIds(orderItemList.stream().map(OrderItemVO::getGoodsId).collect(Collectors.toList()));
|
||||||
item.setCoverList(orderItemList.stream().map(OrderItemVO::getCoverUrl).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.setShootingTime(memberVideoEntityList.getFirst().getCreateTime());
|
||||||
item.setCount(1);
|
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())) {
|
} else if (Integer.valueOf(0).equals(item.getGoodsType())) {
|
||||||
item.setCoverList(Collections.singletonList(item.getCoverUrl()));
|
item.setCoverList(Collections.singletonList(item.getCoverUrl()));
|
||||||
VideoEntity video = videoRepository.getVideo(item.getGoodsId());
|
VideoEntity video = videoRepository.getVideo(item.getGoodsId());
|
||||||
@@ -688,6 +715,9 @@ public class OrderServiceImpl implements OrderService {
|
|||||||
} else if (Integer.valueOf(2).equals(orderItemList.getFirst().getGoodsType())) {
|
} else if (Integer.valueOf(2).equals(orderItemList.getFirst().getGoodsType())) {
|
||||||
item.setGoodsName("照片集");
|
item.setGoodsName("照片集");
|
||||||
item.setOrderType("照片集");
|
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())) {
|
} else if (Integer.valueOf(0).equals(orderItemList.getFirst().getGoodsType())) {
|
||||||
item.setOrderType("旅行Vlog");
|
item.setOrderType("旅行Vlog");
|
||||||
item.setGoodsName(orderItemList.getFirst().getGoodsName());
|
item.setGoodsName(orderItemList.getFirst().getGoodsName());
|
||||||
|
|||||||
@@ -95,6 +95,13 @@
|
|||||||
LEFT JOIN face f ON ms.face_id = f.id
|
LEFT JOIN face f ON ms.face_id = f.id
|
||||||
LEFT JOIN source s ON ms.source_id = s.id
|
LEFT JOIN source s ON ms.source_id = s.id
|
||||||
WHERE s.id IS NOT NULL
|
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 (
|
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
|
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 '3' THEN '照片打印'
|
||||||
WHEN '4' THEN '一体机照片打印'
|
WHEN '4' THEN '一体机照片打印'
|
||||||
WHEN '5' THEN 'pLog'
|
WHEN '5' THEN 'pLog'
|
||||||
|
WHEN '13' THEN 'AI相机照片集'
|
||||||
ELSE '其他'
|
ELSE '其他'
|
||||||
END AS goods_name,
|
END AS goods_name,
|
||||||
CASE oi.goods_type
|
CASE oi.goods_type
|
||||||
WHEN '0' THEN mvd.face_id
|
WHEN '0' THEN mvd.face_id
|
||||||
WHEN '1' THEN oi.goods_id
|
WHEN '1' THEN oi.goods_id
|
||||||
WHEN '2' THEN oi.goods_id
|
WHEN '2' THEN oi.goods_id
|
||||||
|
WHEN '13' THEN oi.goods_id
|
||||||
END AS face_id,
|
END AS face_id,
|
||||||
CASE oi.goods_type
|
CASE oi.goods_type
|
||||||
WHEN '0' THEN mvd.face_url
|
WHEN '0' THEN mvd.face_url
|
||||||
WHEN '1' THEN msd.face_url
|
WHEN '1' THEN msd.face_url
|
||||||
WHEN '2' THEN msd.face_url
|
WHEN '2' THEN msd.face_url
|
||||||
|
WHEN '13' THEN msac.face_url
|
||||||
END AS face_url,
|
END AS face_url,
|
||||||
CASE oi.goods_type
|
CASE oi.goods_type
|
||||||
WHEN '0' THEN mvd.video_url
|
WHEN '0' THEN mvd.video_url
|
||||||
@@ -149,11 +159,13 @@
|
|||||||
WHEN '3' THEN mpd.url
|
WHEN '3' THEN mpd.url
|
||||||
WHEN '4' THEN mpa.url
|
WHEN '4' THEN mpa.url
|
||||||
WHEN '5' THEN mpl.url
|
WHEN '5' THEN mpl.url
|
||||||
|
WHEN '13' THEN msac.url
|
||||||
END AS imgUrl
|
END AS imgUrl
|
||||||
FROM order_item oi
|
FROM order_item oi
|
||||||
LEFT JOIN `order` o ON oi.order_id = o.id
|
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_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_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_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_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
|
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
|
||||||
|
|||||||
@@ -348,6 +348,12 @@
|
|||||||
left join source s on ms.source_id = s.id
|
left join source s on ms.source_id = s.id
|
||||||
where ms.face_id = #{faceId} and ms.type = 2
|
where ms.face_id = #{faceId} and ms.type = 2
|
||||||
</select>
|
</select>
|
||||||
|
<select id="listAiCamImageByFaceRelation" resultType="com.ycwl.basic.model.pc.source.entity.SourceEntity">
|
||||||
|
select s.*, ms.is_buy
|
||||||
|
from member_source ms
|
||||||
|
left join source s on ms.source_id = s.id
|
||||||
|
where ms.face_id = #{faceId} and ms.type = 3
|
||||||
|
</select>
|
||||||
<select id="getEntity" resultType="com.ycwl.basic.model.pc.source.entity.SourceEntity">
|
<select id="getEntity" resultType="com.ycwl.basic.model.pc.source.entity.SourceEntity">
|
||||||
select *
|
select *
|
||||||
from source
|
from source
|
||||||
|
|||||||
Reference in New Issue
Block a user