You've already forked FrameTour-BE
feat(puzzle): 添加拼图水印功能支持
- 创建 PuzzleWatermarkEntity 实体类用于存储拼图水印信息 - 定义水印类型、URL、关联记录ID等关键字段 - 实现 PuzzleWatermarkMapper 数据访问层接口 - 提供新增水印记录的 insert 方法 - 添加批量查询水印的 listByRecordIds 方法 - 实现按记录和类型查询单条水印的 getByRecordAndType 方法 - 支持按人脸ID和水印类型进行条件查询 - 为拼图不同场景下的水印版本管理提供数据支撑
This commit is contained in:
@@ -0,0 +1,16 @@
|
|||||||
|
package com.ycwl.basic.model.pc.puzzle.entity;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 拼图水印实体
|
||||||
|
* 存储拼图在不同场景下的水印版本(如打印水印、免费下载水印等)
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class PuzzleWatermarkEntity {
|
||||||
|
private Integer id;
|
||||||
|
private Long recordId;
|
||||||
|
private Long faceId;
|
||||||
|
private String watermarkType;
|
||||||
|
private String watermarkUrl;
|
||||||
|
}
|
||||||
@@ -0,0 +1,44 @@
|
|||||||
|
package com.ycwl.basic.puzzle.mapper;
|
||||||
|
|
||||||
|
import com.ycwl.basic.model.pc.puzzle.entity.PuzzleWatermarkEntity;
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 拼图水印Mapper接口
|
||||||
|
* 用于存储和查询拼图在不同场景下的水印版本
|
||||||
|
*/
|
||||||
|
@Mapper
|
||||||
|
public interface PuzzleWatermarkMapper {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增拼图水印记录
|
||||||
|
*/
|
||||||
|
int insert(PuzzleWatermarkEntity entity);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量查询拼图水印
|
||||||
|
*
|
||||||
|
* @param recordIds 拼图生成记录ID列表
|
||||||
|
* @param faceId 人脸ID(可选)
|
||||||
|
* @param watermarkType 水印类型
|
||||||
|
* @return 水印列表
|
||||||
|
*/
|
||||||
|
List<PuzzleWatermarkEntity> listByRecordIds(@Param("recordIds") List<Long> recordIds,
|
||||||
|
@Param("faceId") Long faceId,
|
||||||
|
@Param("watermarkType") String watermarkType);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询单条拼图水印
|
||||||
|
*
|
||||||
|
* @param recordId 拼图生成记录ID
|
||||||
|
* @param faceId 人脸ID(可选)
|
||||||
|
* @param watermarkType 水印类型
|
||||||
|
* @return 水印记录
|
||||||
|
*/
|
||||||
|
PuzzleWatermarkEntity getByRecordAndType(@Param("recordId") Long recordId,
|
||||||
|
@Param("faceId") Long faceId,
|
||||||
|
@Param("watermarkType") String watermarkType);
|
||||||
|
}
|
||||||
45
src/main/resources/mapper/PuzzleWatermarkMapper.xml
Normal file
45
src/main/resources/mapper/PuzzleWatermarkMapper.xml
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
<?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.puzzle.mapper.PuzzleWatermarkMapper">
|
||||||
|
|
||||||
|
<!-- 新增拼图水印记录 -->
|
||||||
|
<insert id="insert" parameterType="com.ycwl.basic.model.pc.puzzle.entity.PuzzleWatermarkEntity"
|
||||||
|
useGeneratedKeys="true" keyProperty="id">
|
||||||
|
INSERT INTO puzzle_watermark (record_id, face_id, watermark_type, watermark_url)
|
||||||
|
VALUES (#{recordId}, #{faceId}, #{watermarkType}, #{watermarkUrl})
|
||||||
|
</insert>
|
||||||
|
|
||||||
|
<!-- 批量查询拼图水印 -->
|
||||||
|
<select id="listByRecordIds" resultType="com.ycwl.basic.model.pc.puzzle.entity.PuzzleWatermarkEntity">
|
||||||
|
SELECT id, record_id, face_id, watermark_type, watermark_url
|
||||||
|
FROM puzzle_watermark
|
||||||
|
WHERE record_id IN
|
||||||
|
<foreach collection="recordIds" item="item" open="(" separator="," close=")">
|
||||||
|
#{item}
|
||||||
|
</foreach>
|
||||||
|
<if test="faceId == null">
|
||||||
|
AND face_id IS NULL
|
||||||
|
</if>
|
||||||
|
<if test="faceId != null">
|
||||||
|
AND face_id = #{faceId}
|
||||||
|
</if>
|
||||||
|
AND watermark_type = #{watermarkType}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<!-- 查询单条拼图水印 -->
|
||||||
|
<select id="getByRecordAndType" resultType="com.ycwl.basic.model.pc.puzzle.entity.PuzzleWatermarkEntity">
|
||||||
|
SELECT id, record_id, face_id, watermark_type, watermark_url
|
||||||
|
FROM puzzle_watermark
|
||||||
|
WHERE record_id = #{recordId}
|
||||||
|
<if test="faceId == null">
|
||||||
|
AND face_id IS NULL
|
||||||
|
</if>
|
||||||
|
<if test="faceId != null">
|
||||||
|
AND face_id = #{faceId}
|
||||||
|
</if>
|
||||||
|
AND watermark_type = #{watermarkType}
|
||||||
|
LIMIT 1
|
||||||
|
</select>
|
||||||
|
|
||||||
|
</mapper>
|
||||||
Reference in New Issue
Block a user