feat(puzzle): 实现拼图自动填充规则引擎及相关功能

- 新增拼图填充规则管理Controller、DTO、Entity等核心类
- 实现条件评估策略模式,支持多种匹配规则
- 实现数据源解析策略模式,支持多种数据来源
- 新增拼图元素自动填充引擎,支持优先级匹配和动态填充
- 在SourceMapper中增加设备统计和查询相关方法
- 在PuzzleGenerateRequest中新增faceId字段用于触发自动填充
- 完善相关枚举类和工具类,提升系统可维护性和扩展性
This commit is contained in:
2025-11-19 11:10:23 +08:00
parent de421cf0d5
commit 778afaaa83
43 changed files with 4019 additions and 3 deletions

View File

@@ -0,0 +1,39 @@
<?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.PuzzleFillRuleMapper">
<resultMap id="BaseResultMap" type="com.ycwl.basic.puzzle.entity.PuzzleFillRuleEntity">
<id column="id" property="id"/>
<result column="template_id" property="templateId"/>
<result column="rule_name" property="ruleName"/>
<result column="condition_type" property="conditionType"/>
<result column="condition_value" property="conditionValue"/>
<result column="priority" property="priority"/>
<result column="enabled" property="enabled"/>
<result column="scenic_id" property="scenicId"/>
<result column="description" property="description"/>
<result column="deleted" property="deleted"/>
<result column="create_time" property="createTime"/>
<result column="update_time" property="updateTime"/>
</resultMap>
<select id="listByTemplateId" resultMap="BaseResultMap">
SELECT *
FROM puzzle_fill_rule
WHERE template_id = #{templateId}
AND enabled = 1
AND deleted = 0
ORDER BY priority DESC, id ASC
</select>
<select id="listByTemplateAndScenic" resultMap="BaseResultMap">
SELECT *
FROM puzzle_fill_rule
WHERE template_id = #{templateId}
AND scenic_id = #{scenicId}
AND enabled = 1
AND deleted = 0
ORDER BY priority DESC, id ASC
</select>
</mapper>