<?xml version="1.0" encoding="UTF-8"?>
<!--
  ~
  ~      Copyright (c) 2018-2025, hnqz All rights reserved.
  ~
  ~  Redistribution and use in source and binary forms, with or without
  ~  modification, are permitted provided that the following conditions are met:
  ~
  ~ Redistributions of source code must retain the above copyright notice,
  ~  this list of conditions and the following disclaimer.
  ~  Redistributions in binary form must reproduce the above copyright
  ~  notice, this list of conditions and the following disclaimer in the
  ~  documentation and/or other materials provided with the distribution.
  ~  Neither the name of the pig4cloud.com developer nor the names of its
  ~  contributors may be used to endorse or promote products derived from
  ~  this software without specific prior written permission.
  ~  Author: hnqz
  ~
  -->

<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.qunzhixinxi.hnqz.admin.mapper.SysWxReplyMessageMapper">

	<!-- 通用查询映射结果 -->
	<resultMap id="baseResultMap" type="com.qunzhixinxi.hnqz.admin.entity.SysWxReplyMessage">
		<id column="id" property="id"/>
		<result column="keyword" property="keyword"></result>
		<result column="type" property="type"></result>
		<result column="create_time" property="createTime"></result>
		<result column="update_time" property="updateTime"></result>
		<result column="enable_flag" property="enableFlag"></result>
		<collection property="mediaList" ofType="com.qunzhixinxi.hnqz.admin.entity.SysWxReplyMessageMedia"
					select="com.qunzhixinxi.hnqz.admin.mapper.SysWxReplyMessageMediaMapper.listMediaByMessageId" column="id">
		</collection>
	</resultMap>

	<!-- 分页查询消息列表 -->
	<select id="listMessagePage" resultMap="baseResultMap">
		SELECT
			m.*
		FROM
			sys_wx_reply_message m
		<where>
			<if test="query.keyword != null and query.keyword != ''">
				AND m.keyword LIKE CONCAT('%',#{query.keyword},'%')
			</if>
			<if test="query.type != null and query.type != ''">
				AND m.type = #{query.type}
			</if>
			<if test="query.enableFlag != null and query.enableFlag != ''">
				AND m.enable_flag = #{query.enableFlag}
			</if>
		</where>
		ORDER BY m.create_time DESC
	</select>

	<!-- 根据id查询消息列表 -->
	<select id="getMessageById" resultMap="baseResultMap">
		SELECT * FROM sys_wx_reply_message WHERE id = #{id}
	</select>

</mapper>
