| <?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.xzx.gc.system.mapper.SysMessageMapper"> | 
|     <resultMap id="SysMessageMap" type="com.xzx.gc.model.system.SysMessageVo"> | 
|         <id column="id" property="id" /> | 
|         <result column="message" jdbcType="VARCHAR" property="message"/> | 
|         <result column="user_id" jdbcType="VARCHAR" property="userId"/> | 
|         <result column="mobile_phone" jdbcType="VARCHAR" property="mobilePhone"/> | 
|         <result column="message_type" jdbcType="VARCHAR" property="messageType"/> | 
|         <result column="message_sub_type_name" jdbcType="VARCHAR" property="messageSubTypeName"/> | 
|         <result column="message_type_name" jdbcType="VARCHAR" property="messageTypeName"/> | 
|         <result column="flag" jdbcType="VARCHAR" property="flag"/> | 
|         <result column="create_time" jdbcType="VARCHAR" property="createTime"/> | 
|         <result column="create_user_id" jdbcType="VARCHAR" property="createUserId"/> | 
|     </resultMap> | 
|   | 
|     <!-- 通用查询结果列 --> | 
|     <sql id="Base_Column_List"> | 
|         id,message,user_id,mobile_phone,message_type,flag,create_time,create_user_id,message_sub_type_name,message_type_name | 
|     </sql> | 
|   | 
|     <!-- 新增消息--> | 
|     <insert id="addSysMessage" parameterType="java.util.Map"> | 
|         insert into xzx_sys_message(message,user_id,mobile_phone,message_type,flag,create_time,create_user_id ) | 
|         values (#{message},#{userId},#{mobilePhone},#{messageType},#{flag},#{createTime},#{createUserId}) | 
|     </insert> | 
|   | 
|     <!-- 消息列表查询(未读消息)--> | 
|     <select id="getSysMessageByType" parameterType="java.util.Map" resultMap="SysMessageMap"> | 
|         select a.* | 
|         from xzx_sys_message a | 
|         where 1=1 | 
|         <if test="messageType!=null and messageType!=''"> | 
|             and  a.message_type=#{messageType} | 
|         </if> | 
|         <if test="flag!=null and flag!=''"> | 
|             and  a.flag=#{flag} | 
|         </if> | 
|         <if test="userId!=null and userId!=''"> | 
|             and  a.user_id=#{userId} | 
|         </if> | 
|         order by a.flag desc,a.create_time desc | 
|     </select> | 
|   | 
|     <!-- 消息详情查询 --> | 
|     <select id="getSysMessageById" parameterType="java.util.Map" resultMap="SysMessageMap"> | 
|         select <include refid="Base_Column_List"/> from xzx_sys_message | 
|         where id = #{id} | 
|     </select> | 
|   | 
|     <!-- 消息编辑--> | 
|     <update id="editSysMessageVo" parameterType="java.util.Map"> | 
|         update xzx_sys_message | 
|         set flag=#{flag} | 
|         where id = #{id} | 
|     </update> | 
|   | 
|     <!-- 把所有未读消息更新成已读--> | 
|     <update id="updateAllMessageFlag" parameterType="java.util.Map"> | 
|         update xzx_sys_message | 
|         set flag='1' | 
|         where  1=1 | 
|         <if test="messageType!=null and messageType!=''"> | 
|             and  message_type=#{messageType} | 
|         </if> | 
|         <if test="userId!=null and userId!=''"> | 
|             and  user_id=#{userId} | 
|         </if> | 
|     </update> | 
|   | 
|     <select id="getNotReadNum" resultType="int"> | 
|         select count(1) | 
|         from xzx_sys_message a | 
|         where  a.user_id=#{userId} | 
|           and  a.flag=2 | 
|     </select> | 
|   | 
|   | 
|   | 
| </mapper> |