Files
FrameTour-BE/src/main/resources/mapper/PuzzleFillRuleItemMapper.xml
Jerry Yan 778afaaa83 feat(puzzle): 实现拼图自动填充规则引擎及相关功能
- 新增拼图填充规则管理Controller、DTO、Entity等核心类
- 实现条件评估策略模式,支持多种匹配规则
- 实现数据源解析策略模式,支持多种数据来源
- 新增拼图元素自动填充引擎,支持优先级匹配和动态填充
- 在SourceMapper中增加设备统计和查询相关方法
- 在PuzzleGenerateRequest中新增faceId字段用于触发自动填充
- 完善相关枚举类和工具类,提升系统可维护性和扩展性
2025-11-19 11:10:23 +08:00

44 lines
1.7 KiB
XML

<?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.PuzzleFillRuleItemMapper">
<resultMap id="BaseResultMap" type="com.ycwl.basic.puzzle.entity.PuzzleFillRuleItemEntity">
<id column="id" property="id"/>
<result column="rule_id" property="ruleId"/>
<result column="element_key" property="elementKey"/>
<result column="data_source" property="dataSource"/>
<result column="source_filter" property="sourceFilter"/>
<result column="sort_strategy" property="sortStrategy"/>
<result column="fallback_value" property="fallbackValue"/>
<result column="item_order" property="itemOrder"/>
<result column="create_time" property="createTime"/>
<result column="update_time" property="updateTime"/>
</resultMap>
<select id="listByRuleId" resultMap="BaseResultMap">
SELECT *
FROM puzzle_fill_rule_item
WHERE rule_id = #{ruleId}
ORDER BY item_order ASC, id ASC
</select>
<insert id="batchInsert">
INSERT INTO puzzle_fill_rule_item (
rule_id, element_key, data_source, source_filter,
sort_strategy, fallback_value, item_order
) VALUES
<foreach collection="items" item="item" separator=",">
(
#{item.ruleId}, #{item.elementKey}, #{item.dataSource}, #{item.sourceFilter},
#{item.sortStrategy}, #{item.fallbackValue}, #{item.itemOrder}
)
</foreach>
</insert>
<delete id="deleteByRuleId">
DELETE FROM puzzle_fill_rule_item
WHERE rule_id = #{ruleId}
</delete>
</mapper>