You've already forked FrameTour-BE
feat(puzzle): 实现人脸匹配后异步生成拼图模板功能
- 移除查询规则时的景区ID参数,简化规则加载逻辑 - 为人脸匹配编排器添加拼图模板服务依赖 - 新增异步生成拼图模板方法,在人脸识别成功后触发 - 优化Mapper接口,添加@Mapper注解并移除冗余查询方法 - 更新文档说明,同步修改规则查询方式描述 - 清理SourceMapper中重复的deleted条件过滤逻辑
This commit is contained in:
@@ -236,7 +236,7 @@ Map<String, String> execute(Long templateId, Long faceId, Long scenicId)
|
||||
|
||||
**执行流程**:
|
||||
1. **加载规则列表**:
|
||||
- 查询指定模板和景区的所有启用规则(`PuzzleFillRuleMapper.listByTemplateAndScenic`)
|
||||
- 查询指定模板的所有启用规则(`PuzzleFillRuleMapper.listByTemplateId`)
|
||||
- 按`priority`降序排序(优先级高的先执行)
|
||||
|
||||
2. **构建上下文**:
|
||||
|
||||
@@ -62,7 +62,7 @@ public class PuzzleElementFillEngine {
|
||||
|
||||
try {
|
||||
// 1. 查询模板的所有启用规则(按priority DESC排序)
|
||||
List<PuzzleFillRuleEntity> rules = ruleMapper.listByTemplateAndScenic(templateId, scenicId);
|
||||
List<PuzzleFillRuleEntity> rules = ruleMapper.listByTemplateId(templateId);
|
||||
if (rules == null || rules.isEmpty()) {
|
||||
log.debug("模板[{}]没有配置自动填充规则", templateId);
|
||||
return dynamicData;
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.ycwl.basic.puzzle.mapper;
|
||||
|
||||
import com.ycwl.basic.puzzle.entity.PuzzleElementEntity;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
@@ -11,6 +12,7 @@ import java.util.List;
|
||||
* @author Claude
|
||||
* @since 2025-01-17
|
||||
*/
|
||||
@Mapper
|
||||
public interface PuzzleElementMapper {
|
||||
|
||||
/**
|
||||
|
||||
@@ -20,13 +20,4 @@ public interface PuzzleFillRuleMapper extends BaseMapper<PuzzleFillRuleEntity> {
|
||||
* @return 规则列表
|
||||
*/
|
||||
List<PuzzleFillRuleEntity> listByTemplateId(@Param("templateId") Long templateId);
|
||||
|
||||
/**
|
||||
* 根据模板ID和景区ID查询所有启用的规则(按优先级降序)
|
||||
*
|
||||
* @param templateId 模板ID
|
||||
* @param scenicId 景区ID
|
||||
* @return 规则列表
|
||||
*/
|
||||
List<PuzzleFillRuleEntity> listByTemplateAndScenic(@Param("templateId") Long templateId, @Param("scenicId") Long scenicId);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.ycwl.basic.puzzle.mapper;
|
||||
|
||||
import com.ycwl.basic.puzzle.entity.PuzzleGenerationRecordEntity;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
@@ -11,6 +12,7 @@ import java.util.List;
|
||||
* @author Claude
|
||||
* @since 2025-01-17
|
||||
*/
|
||||
@Mapper
|
||||
public interface PuzzleGenerationRecordMapper {
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.ycwl.basic.puzzle.mapper;
|
||||
|
||||
import com.ycwl.basic.puzzle.entity.PuzzleTemplateEntity;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
@@ -11,6 +12,7 @@ import java.util.List;
|
||||
* @author Claude
|
||||
* @since 2025-01-17
|
||||
*/
|
||||
@Mapper
|
||||
public interface PuzzleTemplateMapper {
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user