You've already forked FrameTour-BE
feat(source): 添加过滤已存在关联关系功能
- 在SourceMapper中新增filterExistingRelations方法 - 修改FaceServiceImpl中的关联关系保存逻辑 - 修改TaskFaceServiceImpl中的关联关系保存逻辑 - 修改VideoPieceGetter中的关联关系检查逻辑 - 在SourceMapper.xml中添加filterExistingRelations的SQL实现
This commit is contained in:
@@ -16,6 +16,41 @@
|
||||
(#{item.scenicId}, #{item.faceId}, #{item.memberId}, #{item.sourceId}, #{item.isBuy}, #{item.type}, #{item.orderId}, #{item.isFree})
|
||||
</foreach>
|
||||
</insert>
|
||||
<select id="filterExistingRelations" resultType="com.ycwl.basic.model.pc.source.entity.MemberSourceEntity">
|
||||
<if test="list != null and list.size() > 0">
|
||||
SELECT
|
||||
r.memberId as memberId,
|
||||
r.sourceId as sourceId,
|
||||
r.type as type,
|
||||
r.faceId as faceId,
|
||||
r.scenicId as scenicId,
|
||||
r.isBuy as isBuy,
|
||||
r.orderId as orderId,
|
||||
r.isFree as isFree,
|
||||
r.id as id
|
||||
FROM (
|
||||
<foreach collection="list" item="item" separator=" UNION ALL ">
|
||||
SELECT
|
||||
#{item.memberId} as memberId,
|
||||
#{item.sourceId} as sourceId,
|
||||
#{item.type} as type,
|
||||
#{item.faceId} as faceId,
|
||||
#{item.scenicId} as scenicId,
|
||||
#{item.isBuy} as isBuy,
|
||||
#{item.orderId} as orderId,
|
||||
#{item.isFree} as isFree,
|
||||
#{item.id} as id
|
||||
</foreach>
|
||||
) r
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1 FROM member_source ms
|
||||
WHERE ms.member_id = r.memberId
|
||||
AND ms.source_id = r.sourceId
|
||||
AND ms.type = r.type
|
||||
AND ms.face_id = r.faceId
|
||||
)
|
||||
</if>
|
||||
</select>
|
||||
<insert id="addSourceWatermark">
|
||||
insert source_watermark(source_id, face_id, watermark_type, watermark_url)
|
||||
values (#{sourceId}, #{faceId}, #{type}, #{url})
|
||||
|
||||
Reference in New Issue
Block a user