<?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.tencent.supersonic.knowledge.persistence.mapper.DictConfMapper">

    <resultMap id="DictConfPO"
               type="com.tencent.supersonic.knowledge.persistence.dataobject.DictConfDO">
        <id column="id" property="id"/>
        <result column="model_id" property="modelId"/>
        <result column="dim_value_infos" property="dimValueInfos"/>
        <result column="created_at" property="createdAt"/>
        <result column="updated_at" property="updatedAt"/>
        <result column="created_by" property="createdBy"/>
        <result column="updated_by" property="updatedBy"/>
    </resultMap>

    <insert id="createDictConf">
        insert into s2_dictionary
        (`domain_id`, dim_value_infos, created_at, updated_at, created_by, updated_by)
        values
        (#{modelId}, #{dimValueInfos}, #{createdAt}, #{updatedAt}, #{createdBy}, #{updatedBy})
    </insert>

    <insert id="upsertDictInfo">
         insert into s2_dictionary
        (`model_id`, dim_value_infos, created_at, updated_at, created_by, updated_by)
        values
        (#{modelId}, #{dimValueInfos}, #{createdAt}, #{updatedAt}, #{createdBy}, #{updatedBy})
        on duplicate key update
        dim_value_infos = #{dimValueInfos},
        updated_at = #{updatedAt},
        updated_by = #{updatedBy}
    </insert>

    <update id="editDictConf">
        update s2_dictionary
        set dim_value_infos = #{dimValueInfos},
        updated_at = #{updatedAt},
        updated_by = #{updatedBy}
        where model_id = #{modelId}
        and status = 0
    </update>

    <select id="getDictInfoByModelId" resultMap="DictConfPO">
        select *
        from s2_dictionary
        where model_id = #{modelId}
        and status = 0
    </select>


</mapper>