Bonus-Cloud-AI-V2/bonus-modules/bonus-ai/src/main/resources/mapper/DatasetFileMapper.xml

60 lines
2.3 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.bonus.ai.mapper.DatasetFileMapper">
<resultMap type="com.bonus.ai.domain.dataset.DatasetFile" id="DatasetFileResult">
<result property="fileId" column="file_id" />
<result property="datasetId" column="dataset_id" />
</resultMap>
<!-- &lt;!&ndash; 插入数据集文件映射关系 &ndash;&gt;-->
<!-- <insert id="insertDatasetFile" parameterType="com.bonus.ai.domain.dataset.DatasetFile">-->
<!-- INSERT INTO ai_dataset_file_map (file_id, dataset_id, is_annotated)-->
<!-- VALUES (#{fileId}, #{datasetId}, #{isAnnotated})-->
<!-- </insert>-->
<insert id="batchDatasetFile">
insert into ai_dataset_file_map(file_id, dataset_id) values
<foreach item="item" index="index" collection="list" separator=",">
(#{item.fileId},#{item.datasetId})
</foreach>
</insert>
<delete id="deleteDatasetFile" parameterType="Long">
delete from ai_dataset_file_map where dateset_id=#{datasetId}
</delete>
<!-- 删除数据集文件映射关系 -->
<update id="deleteDatasetFiles">
update FROM ai_dataset_file_map
<foreach collection="array" item="datasetId" open="(" separator="," close=")">
#{datasetId}
</foreach>
</update>
<!-- <delete id="deleteDatasetFiles">-->
<!-- DELETE FROM ai_dataset_file_map-->
<!-- <foreach collection="array" item="datasetId" open="(" separator="," close=")">-->
<!-- #{datasetId}-->
<!-- </foreach>-->
<!-- </delete>-->
<!-- 根据数据集ID查询文件列表 -->
<select id="selectFilesByDatasetId" parameterType="Long" resultType="com.bonus.ai.domain.DataSetBasicFileEntity">
SELECT bf.file_id AS fileId, bf.file_url AS fileUrl
FROM ai_dataset_file_map df
WHERE df.dataset_id = #{datasetId}
left join ai_basic_file bf on bf.file_id = df.file_id
</select>
<!-- 更新是否已标注状态 -->
<update id="updateIsAnnotated">
UPDATE ai_dataset_file_map
SET is_annotated = #{isAnnotated}
WHERE file_id = #{fileId} AND dataset_id = #{datasetId}
</update>
</mapper>