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