feat(order): 添加单张照片订单类型支持

- 新增 member_single_photo_data CTE 查询单张照片数据
- 添加订单类型 14 对应单张照片类型的映射
- 在订单项目查询中增加对单张照片类型的支持
- 关联 member_single_photo_data 表获取单张照片的 face_id 和 URL
- 实现单张照片类型的 face_url 和 imgUrl 映射逻辑
This commit is contained in:
2026-02-14 17:54:13 +08:00
parent b01056d829
commit 6a22fc87a7

View File

@@ -115,6 +115,13 @@
SELECT 5 as type, gr.template_id as id, pt.scenic_id as scenic_id, gr.result_image_url as url, gr.face_id SELECT 5 as type, gr.template_id as id, pt.scenic_id as scenic_id, gr.result_image_url as url, gr.face_id
FROM puzzle_generation_record gr FROM puzzle_generation_record gr
left join puzzle_template pt on gr.template_id = pt.id left join puzzle_template pt on gr.template_id = pt.id
),
member_single_photo_data AS (
SELECT 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.deleted = 0
) )
SELECT SELECT
oi.id AS oiId, oi.id AS oiId,
@@ -136,6 +143,7 @@
WHEN '4' THEN '一体机照片打印' WHEN '4' THEN '一体机照片打印'
WHEN '5' THEN 'pLog' WHEN '5' THEN 'pLog'
WHEN '13' THEN '打卡点拍照' WHEN '13' THEN '打卡点拍照'
WHEN '14' THEN '单张照片'
ELSE '其他' ELSE '其他'
END AS goods_name, END AS goods_name,
CASE oi.goods_type CASE oi.goods_type
@@ -143,12 +151,14 @@
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 WHEN '13' THEN oi.goods_id
WHEN '14' THEN mspd.face_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 WHEN '13' THEN msac.face_url
WHEN '14' THEN mspd.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
@@ -161,6 +171,7 @@
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 WHEN '13' THEN msac.url
WHEN '14' THEN mspd.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
@@ -170,6 +181,7 @@
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 OR oi.goods_id = mpl.scenic_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 OR oi.goods_id = mpl.scenic_id) AND mpl.type = oi.goods_type AND o.face_id = mpl.face_id
LEFT JOIN member_single_photo_data mspd ON oi.goods_id = mspd.source_id AND o.face_id = mspd.face_id AND oi.goods_type = 14
WHERE oi.order_id = #{id}; WHERE oi.order_id = #{id};
</select> </select>