LiveWatchUserMapper.xml 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper
  3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5. <mapper namespace="com.fs.live.mapper.LiveWatchUserMapper">
  6. <resultMap type="LiveWatchUser" id="LiveWatchUserResult">
  7. <result property="id" column="id" />
  8. <result property="liveId" column="live_id" />
  9. <result property="userId" column="user_id" />
  10. <result property="msgStatus" column="msg_status" />
  11. <result property="online" column="online" />
  12. <result property="createTime" column="create_time" />
  13. <result property="createBy" column="create_by" />
  14. <result property="updateBy" column="update_by" />
  15. <result property="updateTime" column="update_time" />
  16. <result property="remark" column="remark" />
  17. <result property="onlineSeconds" column="online_seconds" />
  18. </resultMap>
  19. <sql id="selectLiveWatchUserVo">
  20. select id, live_id,user_id, msg_status, online, create_time, create_by, update_by, update_time, remark,online_seconds from live_watch_user
  21. </sql>
  22. <select id="selectLiveWatchUserList" parameterType="LiveWatchUser" resultMap="LiveWatchUserResult">
  23. <include refid="selectLiveWatchUserVo"/>
  24. <where>
  25. <if test="liveId != null "> and live_id = #{liveId}</if>
  26. <if test="userId != null "> and user_id = #{userId}</if>
  27. <if test="msgStatus != null "> and msg_status = #{msgStatus}</if>
  28. <if test="online != null "> and online = #{online}</if>
  29. <if test="onlineSeconds != null "> and online_seconds = #{onlineSeconds}</if>
  30. </where>
  31. </select>
  32. <select id="selectLiveWatchUserById" parameterType="Long" resultMap="LiveWatchUserResult">
  33. <include refid="selectLiveWatchUserVo"/>
  34. where id = #{id}
  35. </select>
  36. <select id="selectWatchUserListByLiveId" resultType="com.fs.live.vo.LiveWatchUserVO">
  37. select
  38. lwu.live_id liveId,
  39. lwu.user_id userId,
  40. lwu.msg_status msgStatus,
  41. lwu.online online,
  42. fu.nick_name nickName,
  43. fu.avatar avatar
  44. from live_watch_user lwu
  45. left join fs_user fu on lwu.user_id = fu.user_id
  46. where lwu.live_id = #{params.liveId}
  47. <if test="params.msgStatus != null "> and msg_status = #{params.msgStatus}</if>
  48. <if test="params.online != null "> and online = #{params.online}</if>
  49. <if test="params.userName != null and params.userName != ''"> and fs.nickname like concat('%',#{params.userName},'%')</if>
  50. order by lwu.create_time desc
  51. </select>
  52. <select id="selectWatchUserListAllByLiveId" resultType="com.fs.live.vo.LiveWatchUserVO">
  53. select
  54. lwu.live_id liveId,
  55. lwu.user_id userId,
  56. lwu.msg_status msgStatus,
  57. lwu.online online,
  58. fu.nick_name nickName,
  59. fu.avatar avatar
  60. from live_watch_user lwu
  61. left join fs_user fu on lwu.user_id = fu.user_id
  62. where lwu.live_id = #{params.liveId}
  63. <if test="params.userName != null and params.userName != ''"> and fs.nickname like concat('%',#{params.userName},'%')</if>
  64. order by lwu.create_time desc
  65. </select>
  66. <select id="selectLiveWatchUserByIdAndCompanyIdAndCompanyUserId" resultMap="LiveWatchUserResult">
  67. <include refid="selectLiveWatchUserVo"/>
  68. where id = #{id} and company_id = #{companyId} and company_user_id = #{companyUserId}
  69. </select>
  70. <select id="selectWatchUserByLiveIdAndUserId" resultType="com.fs.live.vo.LiveWatchUserVO">
  71. select
  72. lwu.live_id liveId,
  73. lwu.user_id userId,
  74. lwu.msg_status msgStatus,
  75. lwu.online online,
  76. fu.nickname nickName,
  77. fu.avatar avatar
  78. from live_watch_user lwu
  79. left join fs_user fu on lwu.user_id = fu.user_id
  80. where lwu.live_id = #{liveId} and lwu.user_id = #{userId}
  81. </select>
  82. <select id="selectOnlineUserList" parameterType="LiveWatchUser" resultType="com.fs.live.vo.LiveWatchUserVO">
  83. select lwu.*,
  84. fu.nickname nickName,
  85. fu.avatar avatar
  86. from live_watch_user lwu
  87. left join fs_user fu on lwu.user_id = fu.user_id
  88. <where>
  89. <if test="liveId != null "> and live_id = #{liveId}</if>
  90. <if test="online != null "> and online = #{online}</if>
  91. </where>
  92. </select>
  93. <insert id="insertLiveWatchUser" parameterType="LiveWatchUser" useGeneratedKeys="true" keyProperty="id">
  94. insert into live_watch_user
  95. <trim prefix="(" suffix=")" suffixOverrides=",">
  96. <if test="liveId != null">live_id,</if>
  97. <if test="userId != null">user_id,</if>
  98. <if test="msgStatus != null">msg_status,</if>
  99. <if test="online != null">online,</if>
  100. <if test="createTime != null">create_time,</if>
  101. <if test="createBy != null">create_by,</if>
  102. <if test="updateBy != null">update_by,</if>
  103. <if test="updateTime != null">update_time,</if>
  104. <if test="remark != null">remark,</if>
  105. <if test="onlineSeconds != null">online_seconds,</if>
  106. </trim>
  107. <trim prefix="values (" suffix=")" suffixOverrides=",">
  108. <if test="liveId != null">#{liveId},</if>
  109. <if test="userId != null">#{userId},</if>
  110. <if test="msgStatus != null">#{msgStatus},</if>
  111. <if test="online != null">#{online},</if>
  112. <if test="createTime != null">#{createTime},</if>
  113. <if test="createBy != null">#{createBy},</if>
  114. <if test="updateBy != null">#{updateBy},</if>
  115. <if test="updateTime != null">#{updateTime},</if>
  116. <if test="remark != null">#{remark},</if>
  117. <if test="onlineSeconds != null">#{onlineSeconds},</if>
  118. </trim>
  119. </insert>
  120. <update id="updateLiveWatchUser" parameterType="LiveWatchUser">
  121. update live_watch_user
  122. <trim prefix="SET" suffixOverrides=",">
  123. <if test="liveId != null">live_id = #{liveId},</if>
  124. <if test="userId != null">user_id = #{userId},</if>
  125. <if test="msgStatus != null">msg_status = #{msgStatus},</if>
  126. <if test="online != null">online = #{online},</if>
  127. <if test="createTime != null">create_time = #{createTime},</if>
  128. <if test="createBy != null">create_by = #{createBy},</if>
  129. <if test="updateBy != null">update_by = #{updateBy},</if>
  130. <if test="updateTime != null">update_time = #{updateTime},</if>
  131. <if test="remark != null">remark = #{remark},</if>
  132. <if test="onlineSeconds != null">online_seconds = #{onlineSeconds},</if>
  133. </trim>
  134. where id = #{id}
  135. </update>
  136. <delete id="deleteLiveWatchUserById" parameterType="Long">
  137. delete from live_watch_user where id = #{id}
  138. </delete>
  139. <delete id="deleteLiveWatchUserByIds" parameterType="String">
  140. delete from live_watch_user where id in
  141. <foreach item="id" collection="array" open="(" separator="," close=")">
  142. #{id}
  143. </foreach>
  144. </delete>
  145. <select id="checkOnlineNoRewardUser" resultType="com.fs.live.domain.LiveWatchUser">
  146. SELECT lwu.*
  147. FROM live_watch_user lwu
  148. WHERE lwu.live_id = #{liveId}
  149. AND lwu.online = 0
  150. AND NOT EXISTS (
  151. SELECT 1
  152. FROM live_reward_record lrr
  153. WHERE lrr.user_id = lwu.user_id
  154. AND lrr.live_id = lwu.live_id
  155. and lrr.source_type = 3
  156. AND DATE(lrr.create_time) = DATE(#{now})
  157. )
  158. </select>
  159. </mapper>