gameMapper.xml 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3. <mapper namespace="com.iamberry.wechat.service.mapper.GameMapper">
  4. <!-- 通过游戏类型查询游戏信息 -->
  5. <select id="selectGameByGameType" parameterType="GameSystemDto" resultType="GameSystemDto">
  6. SELECT
  7. GAME_ID gameId,
  8. GAME_NAME gameName,
  9. GAME_TYPE gameType,
  10. GAME_START_DATE gameStartDate,
  11. GAME_END_DATE gameEndDate,
  12. GAME_DESC gameDesc,
  13. GAME_THRESHOLD gameThreshold,
  14. GAME_THRESHOLD_NUM gameThresholdNum
  15. FROM
  16. TB_IAMBERRY_GAME_SYSTEM
  17. WHERE
  18. GAME_ID = #{gameId}
  19. </select>
  20. <!-- 通过游戏id查询游戏信息 -->
  21. <select id="selectGameByGameId" parameterType="GameSystemDto" resultType="GameSystemDto">
  22. SELECT
  23. GAME_ID gameId,
  24. GAME_THRESHOLD gameThreshold,
  25. GAME_THRESHOLD_NUM gameThresholdNum
  26. FROM
  27. TB_IAMBERRY_GAME_SYSTEM
  28. WHERE
  29. GAME_ID = #{gameId}
  30. </select>
  31. <!-- 通过游戏id查询游戏奖品信息 -->
  32. <select id="selectGamePrizeByGameId" parameterType="GamePrizeDto" resultType="GamePrizeDto">
  33. SELECT
  34. PRIZE_NAME prizeName,
  35. PRIZE_NUM prizeNum,
  36. PRIZE_PRICE prizePrice,
  37. PRIZE_GAME_ID prizeGameId,
  38. PRIZE_IMAGE prizeImage,
  39. PRIZE_LEVEL prizeLevel,
  40. PRIZE_DESC prizeDesc,
  41. PRIZE_PROBABILITY prizeProbability,
  42. PRIZE_TYPE prizeType,
  43. PRIZE_WINNING_NUM prizeWinningNum,
  44. PRIZE_WINNING_TYPE prizeWinningType,
  45. PRIZE_ID prizeId
  46. FROM
  47. TB_IAMBERRY_GAME_PRIZE
  48. <where>
  49. <if test="prizeGameId != null and prizeGameId != ''">
  50. PRIZE_GAME_ID = #{prizeGameId}
  51. </if>
  52. </where>
  53. </select>
  54. <!-- 修改奖品的数量 -->
  55. <update id="updatePrizeNum" parameterType="java.lang.Integer">
  56. UPDATE
  57. TB_IAMBERRY_GAME_PRIZE
  58. SET
  59. PRIZE_NUM = (PRIZE_NUM - 1)
  60. WHERE
  61. PRIZE_NUM >= 1
  62. AND
  63. PRIZE_ID = #{prizeID}
  64. </update>
  65. <!-- 根据openid和订单id和游戏id查询游戏日志信息 -->
  66. <select id="selectGameLogsByGameId" parameterType="GameLogsDto" resultType="GameLogsDto">
  67. SELECT
  68. LOGS_OPENID logsOpenId,
  69. LOGS_ORDERID logsOrderId,
  70. LOGS_GAME_ID logsGameId,
  71. LOGS_STATE logsState,
  72. LOGS_DATE logsDate
  73. FROM
  74. TB_IAMBERRY_GAME_LOGS
  75. WHERE
  76. LOGS_OPENID = #{logsOpenId}
  77. AND
  78. LOGS_ORDERID = #{logsOrderId}
  79. AND
  80. LOGS_GAME_ID = #{logsGameId}
  81. LIMIT ${page.recordBegin},${page.pageSize}
  82. </select>
  83. <!-- 插入游戏信息 -->
  84. <insert id="saveLogs" parameterType="GameLogsDto">
  85. INSERT INTO
  86. TB_IAMBERRY_GAME_LOGS
  87. (
  88. LOGS_OPENID ,
  89. LOGS_ORDERID ,
  90. LOGS_GAME_ID ,
  91. LOGS_PRIZE_ID ,
  92. LOGS_STATE ,
  93. LOGS_DATE
  94. )
  95. VALUES
  96. (
  97. #{logsOpenId},
  98. #{logsOrderId},
  99. #{logsGameId},
  100. #{logsPrizeId},
  101. #{logsState},
  102. NOW()
  103. )
  104. </insert>
  105. <!-- 查询游戏已玩次数 -->
  106. <select id="selectGameLogsCount" parameterType="GameLogsDto" resultType="Integer">
  107. SELECT
  108. COUNT(LOGS_ID)
  109. FROM
  110. TB_IAMBERRY_GAME_LOGS
  111. WHERE
  112. LOGS_OPENID = #{logsOpenId}
  113. AND
  114. LOGS_GAME_ID = #{logsGameId}
  115. <if test="logsOrderId != null and logsOrderId != ''">
  116. AND LOGS_ORDERID = #{logsOrderId}
  117. </if>
  118. </select>
  119. <!-- 根据gameid获取当前用户的中奖纪录 -->
  120. <select id="selectWinningLogsByGameId" parameterType="GameLogsDto" resultType="GameLogsDto">
  121. SELECT
  122. L.LOGS_OPENID logsOpenId,
  123. L.LOGS_ORDERID logsOrderId,
  124. L.LOGS_GAME_ID logsGameId,
  125. S.GAME_NAME logsGameName,
  126. L.LOGS_STATE logsState,
  127. L.LOGS_DATE logsDate,
  128. P.PRIZE_ID logsPrizeId,
  129. P.PRIZE_NAME logsPrizeName,
  130. P.PRIZE_IMAGE logsPrizeImage,
  131. P.PRIZE_LEVEL logsPrizeLevel,
  132. COUNT(DISTINCT L.LOGS_ID) logsSum
  133. FROM
  134. TB_IAMBERRY_GAME_LOGS L
  135. LEFT JOIN
  136. TB_IAMBERRY_GAME_SYSTEM S ON L.LOGS_GAME_ID = S.GAME_ID
  137. LEFT JOIN
  138. TB_IAMBERRY_GAME_PRIZE P ON L.LOGS_PRIZE_ID = P.PRIZE_ID
  139. WHERE
  140. L.LOGS_OPENID = #{logsOpenId}
  141. <if test="logsGameId != null and logsGameId != ''">
  142. AND
  143. L.LOGS_GAME_ID = #{logsGameId}
  144. </if>
  145. AND
  146. L.LOGS_STATE = 2
  147. GROUP BY
  148. L.LOGS_GAME_ID,L.LOGS_PRIZE_ID
  149. ORDER BY
  150. L.LOGS_DATE DESC
  151. LIMIT ${page.recordBegin},${page.pageSize}
  152. </select>
  153. <select id="selectWinningCount" parameterType="GameLogsDto" resultType="Integer">
  154. SELECT COUNT(t.logsId) FROM (SELECT
  155. DISTINCT L.LOGS_ID logsId
  156. FROM
  157. TB_IAMBERRY_GAME_LOGS L
  158. LEFT JOIN
  159. TB_IAMBERRY_GAME_SYSTEM S ON L.LOGS_GAME_ID = S.GAME_ID
  160. LEFT JOIN
  161. TB_IAMBERRY_GAME_PRIZE P ON L.LOGS_PRIZE_ID = P.PRIZE_ID
  162. WHERE
  163. L.LOGS_OPENID = #{logsOpenId}
  164. <if test="logsGameId != null and logsGameId != ''">
  165. AND
  166. L.LOGS_GAME_ID = #{logsGameId}
  167. </if>
  168. AND L.LOGS_STATE = 2
  169. GROUP BY
  170. L.LOGS_GAME_ID,L.LOGS_PRIZE_ID
  171. ORDER BY
  172. L.LOGS_DATE DESC ) t
  173. </select>
  174. <!-- 根据时间和openid查询订单条目数 -->
  175. <select id="selectOrderByCreateDate" parameterType="Order" resultType="Integer">
  176. SELECT
  177. COUNT(DISTINCT SALES_ORDERID)
  178. FROM
  179. TB_IAMBERRY_SHOP_SALES_ORDER
  180. WHERE
  181. SALES_STATUS IN (2,5,12)
  182. AND
  183. SALES_OPENID = #{salesOpenid}
  184. AND
  185. <![CDATA[DATE_FORMAT(SALES_CREATE_DATE,'%Y-%m-%d') >= DATE_FORMAT(#{beginDate},'%Y-%m-%d')]]>
  186. AND
  187. <![CDATA[DATE_FORMAT(SALES_CREATE_DATE,'%Y-%m-%d') <= DATE_FORMAT(#{endDate},'%Y-%m-%d')]]>
  188. </select>
  189. </mapper>