ComplaintV1ServiceDaoImplMapper.xml 12.4 KB
<?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="complaintV1ServiceDaoImpl">


    <!-- 保存投诉信息 add by wuxw 2018-07-03 -->
    <insert id="saveComplaintInfo" parameterType="Map">
        insert into complaint(
        store_id,owner_id,room_id,room_name,start_user_id,complaint_id,type_cd,owner_name,context,complaint_name,tel,state,community_id
        ) values (
        #{storeId},#{ownerId},#{roomId},#{roomName},#{startUserId},#{complaintId},#{typeCd},#{ownerName},#{context},#{complaintName},#{tel},#{state},#{communityId}
        )
    </insert>


    <!-- 查询投诉信息 add by wuxw 2018-07-03 -->
    <select id="getComplaintInfo" parameterType="Map" resultType="Map">
        select t.store_id storeId,t.owner_id ownerId,t.room_id roomId,t.room_name roomName,t.start_user_id
        startUserId,t.complaint_id complaintId,t.type_cd typeCd,t.owner_name ownerName,t.context,t.complaint_name complaintName,
        t.tel,t.state,t.community_id communityId,td.`name` stateName,ct.type_name typeName,t.create_time createTime
        from complaint t
        left join complaint_type ct on t.type_cd = ct.type_cd and ct.status_cd = '0'
        left join t_dict td on t.state = td.status_cd and td.table_name = 'complaint' and td.table_columns = 'state'
        where 1 =1
        <if test="statusCd !=null and statusCd != ''">
            and t.status_cd= #{statusCd}
        </if>
        <if test="storeId !=null and storeId != ''">
            and t.store_id= #{storeId}
        </if>
        <if test="ownerId !=null and ownerId != ''">
            and t.owner_id= #{ownerId}
        </if>
        <if test="roomId !=null and roomId != ''">
            and t.room_id= #{roomId}
        </if>
        <if test="roomName !=null and roomName != ''">
            and t.room_name= #{roomName}
        </if>
        <if test="startUserId !=null and startUserId != ''">
            and t.start_user_id= #{startUserId}
        </if>
        <if test="complaintId !=null and complaintId != ''">
            and t.complaint_id= #{complaintId}
        </if>
        <if test="typeCd !=null and typeCd != ''">
            and t.type_cd= #{typeCd}
        </if>
        <if test="ownerName !=null and ownerName != ''">
            and t.owner_name= #{ownerName}
        </if>
        <if test="complaintName !=null and complaintName != ''">
            and t.complaint_name= #{complaintName}
        </if>
        <if test="tel !=null and tel != ''">
            and t.tel= #{tel}
        </if>
        <if test="state !=null and state != ''">
            and t.state= #{state}
        </if>
        <if test="communityId !=null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
        <if test="communityIds !=null">
            and t.community_id in
            <foreach collection="communityIds" item="item" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="startTime !=null and startTime != ''">
            and t.create_time &gt;= #{startTime}
        </if>
        <if test="endTime !=null and endTime != ''">
            and t.create_time &lt;= #{endTime}
        </if>
        order by t.create_time desc
        <if test="page != -1 and page != null ">
            limit #{page}, #{row}
        </if>

    </select>


    <!-- 修改投诉信息 add by wuxw 2018-07-03 -->
    <update id="updateComplaintInfo" parameterType="Map">
        update complaint t set t.status_cd = #{statusCd}
        <if test="newBId != null and newBId != ''">
            ,t.b_id = #{newBId}
        </if>

        <if test="ownerId !=null and ownerId != ''">
            , t.owner_id= #{ownerId}
        </if>
        <if test="roomId !=null and roomId != ''">
            , t.room_id= #{roomId}
        </if>
        <if test="roomName !=null and roomName != ''">
            , t.room_name= #{roomName}
        </if>
        <if test="startUserId !=null and startUserId != ''">
            , t.start_user_id= #{startUserId}
        </if>
        <if test="typeCd !=null and typeCd != ''">
            , t.type_cd= #{typeCd}
        </if>
        <if test="ownerName !=null and ownerName != ''">
            , t.owner_name= #{ownerName}
        </if>
        <if test="context !=null and context != ''">
            , t.context= #{context}
        </if>
        <if test="complaintName !=null and complaintName != ''">
            , t.complaint_name= #{complaintName}
        </if>
        <if test="tel !=null and tel != ''">
            , t.tel= #{tel}
        </if>
        <if test="state !=null and state != ''">
            , t.state= #{state}
        </if>

        where 1=1
        <if test="complaintId !=null and complaintId != ''">
            and t.complaint_id= #{complaintId}
        </if>
        <if test="communityId !=null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
        <if test="storeId !=null and storeId != ''">
            and t.store_id= #{storeId}
        </if>

    </update>

    <!-- 查询投诉数量 add by wuxw 2018-07-03 -->
    <select id="queryComplaintsCount" parameterType="Map" resultType="Map">
        select count(1) count
        from complaint t
        where 1 =1
        <if test="statusCd !=null and statusCd != ''">
            and t.status_cd= #{statusCd}
        </if>
        <if test="storeId !=null and storeId != ''">
            and t.store_id= #{storeId}
        </if>
        <if test="ownerId !=null and ownerId != ''">
            and t.owner_id= #{ownerId}
        </if>
        <if test="roomId !=null and roomId != ''">
            and t.room_id= #{roomId}
        </if>
        <if test="roomName !=null and roomName != ''">
            and t.room_name= #{roomName}
        </if>
        <if test="startUserId !=null and startUserId != ''">
            and t.start_user_id= #{startUserId}
        </if>
        <if test="complaintId !=null and complaintId != ''">
            and t.complaint_id= #{complaintId}
        </if>
        <if test="typeCd !=null and typeCd != ''">
            and t.type_cd= #{typeCd}
        </if>
        <if test="ownerName !=null and ownerName != ''">
            and t.owner_name= #{ownerName}
        </if>
        <if test="context !=null and context != ''">
            and t.context= #{context}
        </if>
        <if test="complaintName !=null and complaintName != ''">
            and t.complaint_name= #{complaintName}
        </if>
        <if test="tel !=null and tel != ''">
            and t.tel= #{tel}
        </if>
        <if test="state !=null and state != ''">
            and t.state= #{state}
        </if>
        <if test="communityId !=null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
        <if test="communityIds !=null">
            and t.community_id in
            <foreach collection="communityIds" item="item" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="startTime !=null and startTime != ''">
            and t.create_time &gt;= #{startTime}
        </if>
        <if test="endTime !=null and endTime != ''">
            and t.create_time &lt;= #{endTime}
        </if>

    </select>

    <select id="queryComplaintCountByOwnerTels" parameterType="Map" resultType="Map">
        select t.tel ownerTel,count(1) complaintCount
        from
        complaint t
        where t.status_cd = '0'
        and t.community_id = #{communityId}
        and t.tel in
        <foreach collection="ownerTels" item="item" open="(" close=")" separator=",">
            #{item}
        </foreach>
        group by t.tel
    </select>

    <select id="queryStaffComplaintCount" parameterType="Map" resultType="Map">
        select count(1) count
        from complaint t
        left join complaint_type ct on t.type_cd = ct.type_cd and ct.status_cd = '0'
        left join complaint_type_user ctu on ct.type_cd = ctu.type_cd and ctu.status_cd = '0'
        left join t_dict td on t.state = td.status_cd and td.table_name = 'complaint' and td.table_columns = 'state'
        where 1 =1
        and ctu.staff_id = #{staffId}
        <if test="statusCd !=null and statusCd != ''">
            and t.status_cd= #{statusCd}
        </if>
        <if test="storeId !=null and storeId != ''">
            and t.store_id= #{storeId}
        </if>
        <if test="ownerId !=null and ownerId != ''">
            and t.owner_id= #{ownerId}
        </if>
        <if test="roomId !=null and roomId != ''">
            and t.room_id= #{roomId}
        </if>
        <if test="roomName !=null and roomName != ''">
            and t.room_name= #{roomName}
        </if>
        <if test="startUserId !=null and startUserId != ''">
            and t.start_user_id= #{startUserId}
        </if>
        <if test="complaintId !=null and complaintId != ''">
            and t.complaint_id= #{complaintId}
        </if>
        <if test="typeCd !=null and typeCd != ''">
            and t.type_cd= #{typeCd}
        </if>
        <if test="ownerName !=null and ownerName != ''">
            and t.owner_name= #{ownerName}
        </if>
        <if test="context !=null and context != ''">
            and t.context= #{context}
        </if>
        <if test="complaintName !=null and complaintName != ''">
            and t.complaint_name= #{complaintName}
        </if>
        <if test="tel !=null and tel != ''">
            and t.tel= #{tel}
        </if>
        <if test="state !=null and state != ''">
            and t.state= #{state}
        </if>
        <if test="communityId !=null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
        <if test="startTime !=null and startTime != ''">
            and t.create_time &gt;= #{startTime}
        </if>
        <if test="endTime !=null and endTime != ''">
            and t.create_time &lt;= #{endTime}
        </if>
    </select>

    <select id="queryStaffComplaints" parameterType="Map" resultType="Map">
        select t.store_id storeId,t.owner_id ownerId,t.room_id roomId,t.room_name roomName,t.start_user_id
        startUserId,t.complaint_id complaintId,t.type_cd typeCd,t.owner_name ownerName,t.context,t.complaint_name complaintName,
        t.tel,t.state,t.community_id communityId,td.`name` stateName,ct.type_name typeName,t.create_time createTime
        from complaint t
        left join complaint_type ct on t.type_cd = ct.type_cd and ct.status_cd = '0'
        left join complaint_type_user ctu on ct.type_cd = ctu.type_cd and ctu.status_cd = '0'
        left join t_dict td on t.state = td.status_cd and td.table_name = 'complaint' and td.table_columns = 'state'
        where 1 =1
        and ctu.staff_id = #{staffId}
        <if test="statusCd !=null and statusCd != ''">
            and t.status_cd= #{statusCd}
        </if>
        <if test="storeId !=null and storeId != ''">
            and t.store_id= #{storeId}
        </if>
        <if test="ownerId !=null and ownerId != ''">
            and t.owner_id= #{ownerId}
        </if>
        <if test="roomId !=null and roomId != ''">
            and t.room_id= #{roomId}
        </if>
        <if test="roomName !=null and roomName != ''">
            and t.room_name= #{roomName}
        </if>
        <if test="startUserId !=null and startUserId != ''">
            and t.start_user_id= #{startUserId}
        </if>
        <if test="complaintId !=null and complaintId != ''">
            and t.complaint_id= #{complaintId}
        </if>
        <if test="typeCd !=null and typeCd != ''">
            and t.type_cd= #{typeCd}
        </if>
        <if test="ownerName !=null and ownerName != ''">
            and t.owner_name= #{ownerName}
        </if>
        <if test="complaintName !=null and complaintName != ''">
            and t.complaint_name= #{complaintName}
        </if>
        <if test="tel !=null and tel != ''">
            and t.tel= #{tel}
        </if>
        <if test="state !=null and state != ''">
            and t.state= #{state}
        </if>
        <if test="communityId !=null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
        <if test="startTime !=null and startTime != ''">
            and t.create_time &gt;= #{startTime}
        </if>
        <if test="endTime !=null and endTime != ''">
            and t.create_time &lt;= #{endTime}
        </if>
        order by t.create_time desc
        <if test="page != -1 and page != null ">
            limit #{page}, #{row}
        </if>

    </select>
</mapper>