baizonghao
2023-03-30 94e5611b79ba1440d042eb062fb36b1b9f01a0be
ycl-platform/src/main/resources/mapper/message/MessageMapper.xml
@@ -33,4 +33,72 @@
        id, parent_id, head, channel_code, message_type, body, target_from, target_to, message_number, random_code, over_time, send_time, is_scan, status, is_view, remark, version, create_user, create_time, update_user, update_time, respond_result
    </sql>
    <select id="selectMessagePage" parameterType="com.ycl.dto.message.MessageParam"
            resultType="com.ycl.vo.message.MessageVO">
        SELECT
        t1.id,
        t1.target_from,
        t3.column_name as messageTypeName,
        t1.`status`,
        t1.body,
        t1.send_time,
        t1.create_time,
        t1.respond_result,
        t1.head,
        t1.target_to,
        t1.message_type,
        t1.channel_code,
        t4.username as createUser,
        t1.phone_number
        FROM
        `ums_message` t1
        left join ums_admin t4 on t1.create_user = t4.id
        LEFT JOIN ums_message_column t3 ON t3.id = t1.message_type
        <where>
            <if test="messageParam.head !=null and messageParam.head !=''">
                t1.head like concat('%',#{messageParam.head},'%')
            </if>
            <if test="messageParam.channelCode !='' and messageParam.channelCode != null">
                and t1.channel_code=#{messageParam.channelCode}
            </if>
            <if test="messageParam.targetTo !='' and messageParam.targetTo != null">
                and t1.target_to=#{messageParam.targetTo}
            </if>
            <if test="messageParam.messageType != null">
                and t1.message_type=#{messageParam.messageType}
            </if>
            <if test="messageParam.isView != null">
                and t1.is_view=#{messageParam.isView}
            </if>
            <if test="messageParam.startTime != null and messageParam.startTime != '' and messageParam.endTime != null and messageParam.endTime != '' ">
                and t1.create_time between #{messageParam.startTime} and #{messageParam.endTime}
            </if>
            <if test="messageParam.status != null">
                and t1.status=#{messageParam.status}
            </if>
            <if test="messageParam.respondResult !=null and messageParam.respondResult !='' ">
                and t1.respond_result=#{messageParam.respondResult}
            </if>
            <if test="messageParam.sort==1">
                ORDER BY t1.create_time desc
            </if>
            <if test="messageParam.sort==0">
                ORDER BY t1.create_time asc
            </if>
        </where>
        order by t1.create_time desc
    </select>
    <select id="selectUserColumn" resultType="com.ycl.vo.message.MessageColumnUserVO">
        SELECT
            t1.*,
            t2.is_receive
        FROM
            ums_message_column t1 LEFT JOIN ums_message_column_set t2 ON t1.id = t2.message_column_id
        WHERE
            t2.user_id=#{id}
          and t1.is_show=1
    </select>
</mapper>