<?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.yiqi.core.mapper.ClothWashModeMapper">

    <resultMap type="com.yiqi.core.domain.ClothWashMode" id="ClothWashModeResult">
            <result property="id" column="id"/>
            <result property="name" column="name"/>
            <result property="sort" column="sort"/>
            <result property="status" column="status"/>
            <result property="delFlag" column="del_flag"/>
            <result property="createBy" column="create_by"/>
            <result property="createById" column="create_by_id"/>
            <result property="createTime" column="create_time"/>
            <result property="updateBy" column="update_by"/>
            <result property="updateById" column="update_by_id"/>
            <result property="updateTime" column="update_time"/>
            <result property="remark" column="remark"/>
    </resultMap>

    <sql id="selectClothWashModeVo">
        select id, name, sort, status, del_flag, create_by, create_by_id, create_time, update_by, update_by_id, update_time, remark
        from cloth_wash_mode
    </sql>

    <select id="selectClothWashModeList" parameterType="com.yiqi.core.domain.ClothWashMode" resultMap="ClothWashModeResult">
        <include refid="selectClothWashModeVo"/>
        <where>
                        del_flag = 0
                        <if test="name != null  and name != ''">
                            and name like concat('%', #{name}, '%')
                        </if>
                        <if test="sort != null ">
                            and sort = #{sort}
                        </if>
                        <if test="status != null  and status != ''">
                            and status = #{status}
                        </if>
                        <if test="createById != null ">
                            and create_by_id = #{createById}
                        </if>
                        <if test="updateById != null ">
                            and update_by_id = #{updateById}
                        </if>
        </where>
        order by sort
    </select>

    <select id="selectClothWashModeById" parameterType="Long"
            resultMap="ClothWashModeResult">
            <include refid="selectClothWashModeVo"/>
            where id = #{id}
    </select>

    <insert id="insertClothWashMode" parameterType="com.yiqi.core.domain.ClothWashMode" useGeneratedKeys="true"
            keyProperty="id">
        insert into cloth_wash_mode
        <trim prefix="(" suffix=")" suffixOverrides=",">
                    <if test="name != null and name != ''">name,
                    </if>
                    <if test="sort != null">sort,
                    </if>
                    <if test="status != null">status,
                    </if>
                    <if test="delFlag != null">del_flag,
                    </if>
                    <if test="createBy != null">create_by,
                    </if>
                    <if test="createById != null">create_by_id,
                    </if>
                    <if test="createTime != null">create_time,
                    </if>
                    <if test="updateBy != null">update_by,
                    </if>
                    <if test="updateById != null">update_by_id,
                    </if>
                    <if test="updateTime != null">update_time,
                    </if>
                    <if test="remark != null">remark,
                    </if>
        </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
                    <if test="name != null and name != ''">#{name},
                    </if>
                    <if test="sort != null">#{sort},
                    </if>
                    <if test="status != null">#{status},
                    </if>
                    <if test="delFlag != null">#{delFlag},
                    </if>
                    <if test="createBy != null">#{createBy},
                    </if>
                    <if test="createById != null">#{createById},
                    </if>
                    <if test="createTime != null">#{createTime},
                    </if>
                    <if test="updateBy != null">#{updateBy},
                    </if>
                    <if test="updateById != null">#{updateById},
                    </if>
                    <if test="updateTime != null">#{updateTime},
                    </if>
                    <if test="remark != null">#{remark},
                    </if>
        </trim>
    </insert>

    <update id="updateClothWashMode" parameterType="com.yiqi.core.domain.ClothWashMode">
        update cloth_wash_mode
        <trim prefix="SET" suffixOverrides=",">
                    <if test="name != null and name != ''">name =
                        #{name},
                    </if>
                    <if test="sort != null">sort =
                        #{sort},
                    </if>
                    <if test="status != null">status =
                        #{status},
                    </if>
                    <if test="delFlag != null">del_flag =
                        #{delFlag},
                    </if>
                    <if test="createBy != null">create_by =
                        #{createBy},
                    </if>
                    <if test="createById != null">create_by_id =
                        #{createById},
                    </if>
                    <if test="createTime != null">create_time =
                        #{createTime},
                    </if>
                    <if test="updateBy != null">update_by =
                        #{updateBy},
                    </if>
                    <if test="updateById != null">update_by_id =
                        #{updateById},
                    </if>
                    <if test="updateTime != null">update_time =
                        #{updateTime},
                    </if>
                    <if test="remark != null">remark =
                        #{remark},
                    </if>
        </trim>
        where id = #{id}
    </update>

    <update id="deleteClothWashModeById" parameterType="Long">
        update cloth_wash_mode
        <trim prefix="SET" suffixOverrides=",">
            del_flag = 2 ,
            update_time = now()
        </trim>
        where id = #{id}
    </update>

    <update id="deleteClothWashModeByIds" parameterType="String">
        update cloth_wash_mode
        <trim prefix="SET" suffixOverrides=",">
            del_flag = 2 ,
            update_time = now()
        </trim>
        where id in
        <foreach item="id" collection="array" open="(" separator="," close=")">
            #{id}
        </foreach>
    </update>
</mapper>