照片打印

This commit is contained in:
2025-05-22 10:43:26 +08:00
parent 9b00b34a68
commit 937c2b33d3
12 changed files with 306 additions and 7 deletions

View File

@@ -99,7 +99,11 @@
FROM member_source ms
LEFT JOIN face f ON ms.face_id = f.id
LEFT JOIN source s ON ms.source_id = s.id
)
),
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
FROM member_print mp
)
SELECT
oi.id AS oiId,
oi.order_id AS orderId,
@@ -109,12 +113,14 @@
sc.name AS scenic_name,
CASE oi.goods_type
WHEN '0' THEN mvd.cover_url
WHEN '3' THEN mpd.url
END AS coverUrl,
oi.goods_type,
CASE oi.goods_type
WHEN '0' THEN mvd.name
WHEN '1' THEN '录像集'
WHEN '2' THEN '照片集'
WHEN '3' THEN '照片打印'
ELSE '其他'
END AS goods_name,
CASE oi.goods_type
@@ -134,12 +140,14 @@
CASE oi.goods_type
WHEN '1' THEN msd.url
WHEN '2' THEN msd.url
WHEN '3' THEN mpd.url
END AS imgUrl
FROM order_item oi
LEFT JOIN `order` o ON oi.order_id = o.id
LEFT JOIN scenic sc ON o.scenic_id = sc.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_photo_data mpd ON oi.goods_id = mpd.id AND mpd.type = oi.goods_type
WHERE oi.order_id = #{id};
</select>

View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.ycwl.basic.mapper.PrintTaskMapper">
<insert id="insertTask">
insert into print_task(printer_id, status, printer_name, url, width, height, create_time)
values (#{printerId}, 0, #{printerName}, #{url}, #{width}, #{height}, NOW())
</insert>
</mapper>

View File

@@ -41,19 +41,38 @@
<select id="listRelation" resultType="com.ycwl.basic.model.pc.printer.resp.MemberPrintResp">
SELECT p.id, p.scenic_id as scenicId, s.name as scenicName, p.member_id as memberId,
p.orig_url as origUrl, p.crop_url as cropUrl, p.order_id as orderId, p.quantity,
p.status, p.create_time as createTime
p.status, p.create_time as createTime, p.printer_id
FROM member_print p
LEFT JOIN scenic s ON s.id = p.scenic_id
WHERE p.member_id = #{memberId} AND p.scenic_id = #{scenicId}
WHERE p.member_id = #{memberId} AND p.scenic_id = #{scenicId} AND p.status = 0
</select>
<select id="getUserPhoto" resultType="com.ycwl.basic.model.pc.printer.resp.MemberPrintResp">
SELECT p.id, p.scenic_id, s.name as scenicName, p.member_id as memberId,
p.member_id, p.orig_url as origUrl, p.crop_url as cropUrl, p.order_id as orderId, p.quantity,
p.status, p.create_time as createTime
p.status, p.create_time as createTime, p.printer_id
FROM member_print p
LEFT JOIN scenic s ON s.id = p.scenic_id
WHERE p.id = #{id} AND p.member_id = #{memberId} AND p.scenic_id = #{scenicId}
</select>
<select id="getUserPhotoByIds" resultType="com.ycwl.basic.model.pc.printer.resp.MemberPrintResp">
SELECT p.id, p.scenic_id, s.name as scenicName, p.member_id as memberId,
p.orig_url as origUrl, p.crop_url as cropUrl, p.order_id as orderId, p.quantity,
p.status, p.create_time as createTime, p.printer_id
FROM member_print p
LEFT JOIN scenic s ON s.id = p.scenic_id
WHERE p.id IN
<foreach collection="ids" item="id" open="(" separator="," close=")">
#{id}
</foreach>
</select>
<select id="listRelationByOrderId" resultType="com.ycwl.basic.model.pc.printer.resp.MemberPrintResp">
SELECT p.id, p.scenic_id as scenicId, s.name as scenicName, p.member_id as memberId,
p.orig_url as origUrl, p.crop_url as cropUrl, p.order_id as orderId, p.quantity,
p.status, p.create_time as createTime, p.printer_id
FROM member_print p
LEFT JOIN scenic s ON s.id = p.scenic_id
WHERE p.id in (select order_item.goods_id from order_item where order_item.order_id = #{orderId} and order_item.goods_type = 3)
</select>
<!-- 新增 -->
<insert id="add">
@@ -121,6 +140,12 @@
<update id="setPhotoQuantity">
UPDATE member_print SET quantity = #{quantity}, update_time = NOW() WHERE id = #{id}
</update>
<update id="setUserIsBuyItem">
UPDATE member_print SET order_id = #{orderId}, status = 1, update_time = NOW() WHERE member_id = #{memberId} AND id = #{id}
</update>
<update id="updateUserPhotoListToPrinter">
UPDATE member_print SET printer_id = #{printerId}, update_time = NOW() WHERE member_id = #{memberId} AND scenic_id = #{scenicId} AND status = 0 AND printer_id is null
</update>
<!-- 删除 -->
<delete id="deleteById">