<?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.beantechs.speech.cloud.mapper.CustomUserContactMapper" >
<insert id="batchInsertContact" parameterType="java.util.List">
insert into user_contact (device_id,vin,user_id,contact_name,create_time) values
<foreach collection="list" item="item" separator=",">
(#{item.deviceId},#{item.vin},#{item.userId},#{item.contactName},#{item.createTime})
</foreach>
</insert>
<select id="queryList" resultType="java.lang.String">
select
uc.contact_name contactName
FROM user_contact uc
where uc.device_id = #{deviceId}
<if test="userId != null and userId != ''">
and uc.user_id = #{userId}
</if>
<if test="vin != null and vin != ''">
and uc.vin = #{vin}
</if>
<if test="contactName != null and contactName != ''">
and uc.contact_name like concat(concat('%',#{contactName}),'%')
</if>
<if test="dflag != null">
and uc.dflag = #{dflag}
</if>
</select>
<update id="batchUpdateByParams" parameterType="java.util.List">
update user_contact
set dflag = case
<foreach collection="list" item="item">
when
device_id = #{item.deviceId} and user_id = #{item.userId} and contact_name = #{item.contactName}
<if test="item.vin != null">
and vin = #{item.vin}
</if>
then #{item.dflag}
</foreach>
end
<where>
<foreach collection="list" item="item" open="( " separator="," close=" )">
device_id = #{item.deviceId} and user_id = #{item.userId} and contact_name = #{item.contactName}
<if test="item.vin != null">
and vin = #{item.vin}
</if>
</foreach>
</where>
</update>
<update id="batchUpdateFlag" parameterType="java.util.List">
update user_contact
set dflag = case
<foreach collection="list" item="item">
when device_id = #{item.deviceId} and contact_name = #{item.contactName} then #{item.dflag}
</foreach>
end
<where>
<foreach collection="list" item="item" open="( " separator=") or (" close=" )">
device_id = #{item.deviceId} and contact_name = #{item.contactName}
</foreach>
</where>
</update>
</mapper>