memberMapper.xml 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273
  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. <!-- 命名,每一个映射对象不一样 namespace:必须与对应的接口全类名一致 -->
  4. <mapper namespace="com.iamberry.wechat.service.mapper.MemberMapper">
  5. <sql id="allField">
  6. user_id userId,
  7. user_openid userOpenid,
  8. user_head userHead,
  9. user_nickname userNickName,
  10. user_addr userAddr,
  11. user_sex userSex,
  12. user_integral userIntegral,
  13. user_account_num userAccountNum,
  14. user_create_date userCreateDate,
  15. user_birth_date userBirthDate,
  16. user_identity userIdentity,
  17. user_is_flag userIsFlag,
  18. user_pwd userPwd,
  19. user_tel userTel,
  20. user_name userName,
  21. user_qrcode userQrcode,
  22. user_res_type userResType,
  23. user_status userStatus,
  24. user_surplus_integral userSurplusIntegral,
  25. user_sub_date userSubDate,
  26. user_use_integral userUseIntegral,
  27. user_income userIncome,
  28. user_template_id templateId,
  29. user_dealers userDealers
  30. </sql>
  31. <!-- 匹配查询会员信息 -->
  32. <select id="getMemberByFuzzy" parameterType="Member" resultType="Member">
  33. select
  34. <include refid="allField"/>
  35. from TB_IAMBERRY_USER_USERINFO
  36. where 1 = 1
  37. <if test="user_create_date!=null">
  38. and user_create_date between #{userCreateDate} and #{userCreateDate}
  39. </if>
  40. <if test="user_name!=null">
  41. and user_name like '%${value}%'
  42. </if>
  43. ORDER BY USER_ID DESC
  44. </select>
  45. <!-- 根据id查询会员信息 -->
  46. <select id="getMemberByUserId" resultType="Member"
  47. parameterType="int">
  48. SELECT
  49. <include refid="allField"/>
  50. FROM TB_IAMBERRY_USER_USERINFO
  51. WHERE USER_ID = #{userId}
  52. </select>
  53. <!-- 根据openid查询会员信息 -->
  54. <select id="getMemberByUserOpenId" resultType="Member"
  55. parameterType="String">
  56. SELECT
  57. <include refid="allField"/>
  58. FROM TB_IAMBERRY_USER_USERINFO
  59. WHERE user_openid = #{userOpenid}
  60. </select>
  61. <!-- 查询会员数量 -->
  62. <select id="getCount" resultType="int">
  63. SELECT
  64. COUNT(USER_ID) MEMBERNUM
  65. FROM
  66. TB_IAMBERRY_USER_USERINFO
  67. </select>
  68. <!-- 分页显示会员信息 -->
  69. <select id="getMemberByPage" parameterType="Page"
  70. resultType="Member">
  71. SELECT
  72. <include refid="allField" />
  73. FROM
  74. TB_IAMBERRY_USER_USERINFO where 1=1
  75. <if test="params.userInput!=null and params.userInput!=''">
  76. AND user_nickname LIKE CONCAT('%',#{params.userInput},'%')
  77. OR user_tel LIKE CONCAT('%',#{params.userInput},'%')
  78. </if>
  79. <if test="params.beginDate!=null and params.beginDate!='' and params.endDate!=null and params.endDate!=''">
  80. AND DATE(user_create_date) BETWEEN #{params.beginDate} AND #{params.endDate}
  81. </if>
  82. ORDER BY USER_ID DESC
  83. <if test="pageNo>=0 and pageSize>0 ">
  84. LIMIT
  85. ${pageNo},${pageSize}
  86. </if>
  87. </select>
  88. <!-- 删除一条记录 -->
  89. <delete id="deleteMemById" parameterType="int">
  90. DELETE FROM
  91. TB_IAMBERRY_USER_USERINFO
  92. WHERE
  93. USER_ID = #{userId}
  94. </delete>
  95. <!-- 修改 -->
  96. <update id="updateMemberByUserId" parameterType="Member">
  97. update tb_iamberry_user_userinfo
  98. <set>
  99. <if test="userOpenid!=null">
  100. user_openid = #{userOpenid},
  101. </if>
  102. <if test="userHead!=null">
  103. user_head = #{userHead},
  104. </if>
  105. <if test="userNickname!=null">
  106. user_nickname = #{userNickname},
  107. </if>
  108. <if test="userAddr!=null">
  109. user_addr = #{userAddr},
  110. </if>
  111. <if test="userSex!=null">
  112. user_sex = #{userSex},
  113. </if>
  114. <if test="userIntegral!=null">
  115. user_integral = #{userIntegral},
  116. </if>
  117. <if test="userAccountNum!=null">
  118. user_account_num = #{userAccountNum},
  119. </if>
  120. <if test="userPwd!=null">
  121. user_pwd = #{userPwd},
  122. </if>
  123. <if test="userTel!=null">
  124. user_tel = #{userTel},
  125. </if>
  126. <if test="userName!=null">
  127. user_name = #{userName},
  128. </if>
  129. <if test="userBirthDate!=null">
  130. user_birth_date = #{userBirthDate},
  131. </if>
  132. <if test="userSurplusIntegral!=null">
  133. user_surplus_integral = #{userSurplusIntegral},
  134. </if>
  135. <if test="userUseIntegral!=null">
  136. user_use_integral = #{userUseIntegral},
  137. </if>
  138. <if test="userResType!=null">
  139. user_res_type = #{userResType},
  140. </if>
  141. <if test="userStatus!=null">
  142. user_status = #{userStatus},
  143. </if>
  144. <if test="userSubDate!=null">
  145. user_sub_date = #{userSubDate},
  146. </if>
  147. <if test="userCreateDate!=null">
  148. user_create_date = #{userCreateDate},
  149. </if>
  150. <if test="userIdentity!=null">
  151. user_identity = #{userIdentity},
  152. </if>
  153. <if test="userQrcode!=null">
  154. user_qrcode = #{userQrcode},
  155. </if>
  156. <if test="userIsFlag!=null">
  157. user_is_flag = #{userIsFlag},
  158. </if>
  159. </set>
  160. where user_id = #{userId}
  161. </update>
  162. <!-- 修改用户已用积分 -->
  163. <update id="updateUserUseIntegral" parameterType="Member">
  164. UPDATE
  165. TB_IAMBERRY_USER_USERINFO
  166. SET
  167. USER_USE_INTEGRAL = (USER_USE_INTEGRAL + #{userUseIntegral})
  168. WHERE
  169. USER_OPENID = #{userOpenid}
  170. </update>
  171. <!-- 修改用户可用积分 -->
  172. <update id="updateUserIntegral" parameterType="Member">
  173. UPDATE
  174. TB_IAMBERRY_USER_USERINFO
  175. SET
  176. USER_SURPLUS_INTEGRAL = (USER_SURPLUS_INTEGRAL - #{userSurplusIntegral})
  177. WHERE
  178. USER_OPENID = #{userOpenid}
  179. </update>
  180. <!-- 修改用户可用金额 -->
  181. <update id="updateUserIncomeByOpenId" parameterType="Member">
  182. UPDATE
  183. TB_IAMBERRY_USER_USERINFO
  184. SET
  185. USER_INCOME = (USER_INCOME + #{userIncome})
  186. WHERE
  187. USER_OPENID = #{userOpenid}
  188. </update>
  189. <!-- 根据当前用户Id,下线信息 -->
  190. <select id="selectUserIntegralByWechatProxyId" parameterType="Page"
  191. resultType="Member">
  192. SELECT u.USER_ID userId,u.USER_HEAD userHead, u.USER_NICKNAME userNickname,
  193. u.USER_ADDR userAddr, u.USER_SEX userSex,
  194. u.USER_SUB_DATE userSubDate
  195. FROM TB_IAMBERRY_USER_USERINFO u
  196. JOIN TB_IAMBERRY_WD w
  197. ON u.USER_OPENID=w.WD_USER_OPENID
  198. WHERE w.WD_FIRST=#{totalRecord}
  199. AND u.USER_RES_TYPE = 2
  200. <if test="params!=null and params.endNo!=null and params.endNo!=''">
  201. <![CDATA[ and u.USER_ID < #{params.endNo} ]]>
  202. </if>
  203. <if test="params!=null and params.beginNo!=null and params.beginNo!=''">
  204. <![CDATA[ and u.USER_ID > #{params.begindNo} ]]>
  205. </if>
  206. ORDER BY u.USER_SUB_DATE DESC
  207. LIMIT 0, #{pageSize}
  208. </select>
  209. <!-- 根据用户openid,获取用户来源、用户身份 -->
  210. <select id="selectUserResAndIdSByOpenId" parameterType="String" resultType="Member">
  211. SELECT
  212. USER_RES_TYPE userResType, USER_IDENTITY userIdentity, USER_ID userId
  213. FROM
  214. TB_IAMBERRY_USER_USERINFO
  215. WHERE
  216. USER_OPENID = #{userOpenid}
  217. </select>
  218. <!-- 根据openid获取用户的绑定状态 -->
  219. <update id="updateUserFlagByOpenId" parameterType="String">
  220. UPDATE
  221. TB_IAMBERRY_USER_USERINFO
  222. SET
  223. USER_IS_FLAG = 2
  224. WHERE
  225. USER_OPENID = #{openid} AND USER_IS_FLAG = 1
  226. </update>
  227. <!-- 根据 userid 查询下线人数 和 已购买人数-->
  228. <select id="selectDownCountByUserId" parameterType="Integer" resultType="Integer">
  229. (
  230. SELECT COUNT(u.USER_ID) count
  231. FROM TB_IAMBERRY_USER_USERINFO u
  232. JOIN TB_IAMBERRY_WD w
  233. ON u.USER_OPENID=w.WD_USER_OPENID
  234. WHERE w.WD_FIRST=#{userid}
  235. AND u.USER_RES_TYPE = 2
  236. )
  237. UNION ALL
  238. (
  239. SELECT COUNT(userOpenid) count
  240. FROM
  241. (
  242. SELECT DISTINCT r.REBACK_FROM_OPENID userOpenid
  243. FROM TB_IAMBERRY_REBACK r
  244. JOIN TB_IAMBERRY_WD w
  245. ON r.REBACK_FROM_OPENID=w.WD_USER_OPENID
  246. JOIN TB_IAMBERRY_USER_USERINFO u
  247. ON w.WD_FIRST=u.USER_ID
  248. WHERE r.REBACK_TO_OPENID IN
  249. (SELECT us.USER_OPENID FROM TB_IAMBERRY_USER_USERINFO us WHERE us.USER_ID=#{userid})
  250. AND u.USER_ID=#{userid}
  251. ) s
  252. )
  253. </select>
  254. </mapper>