memberMapper.xml 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376
  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. user_is_bought userIsBought,
  31. user_email userEmail,
  32. user_qrcode_type userQrcodeType,
  33. user_stay_integral userStayIntegral
  34. </sql>
  35. <!-- 获取个人信息-->
  36. <select id="getMyMemberInfo" parameterType="String" resultType="Member" >
  37. SELECT
  38. user_head,user_nickname,user_sex,user_name,user_birth_date,user_tel,user_age_stage,user_identity,
  39. user_integral,user_stay_integral,user_use_integral,user_surplus_integral
  40. FROM TB_IAMBERRY_USER_USERINFO
  41. WHERE user_openid = #{userOpenid}
  42. </select>
  43. <!--修改个人信息-->
  44. <update id="updateMyMember" parameterType="Member" >
  45. UPDATE TB_IAMBERRY_USER_USERINFO
  46. <set>
  47. <if test="userName!=null||userName!=''">
  48. user_name=#{userName},
  49. </if>
  50. <if test="userTel!=null">
  51. user_tel=#{userTel},
  52. </if>
  53. <if test="userSex!=null">
  54. user_sex=#{userSex},
  55. </if>
  56. <if test="userBirthDate!=null">
  57. user_birth_date=#{userBirthDate}
  58. </if>
  59. </set>
  60. WHERE user_openid = #{userOpenid}
  61. </update>
  62. <!-- 匹配查询会员信息 -->
  63. <select id="getMemberByFuzzy" parameterType="Member" resultType="Member">
  64. select
  65. <include refid="allField"/>
  66. from TB_IAMBERRY_USER_USERINFO
  67. where 1 = 1
  68. <if test="user_create_date!=null">
  69. and user_create_date between #{userCreateDate} and #{userCreateDate}
  70. </if>
  71. <if test="user_name!=null">
  72. and user_name like '%${value}%'
  73. </if>
  74. ORDER BY USER_ID DESC
  75. </select>
  76. <!-- 根据id查询会员信息 -->
  77. <select id="getMemberByUserId" resultType="Member"
  78. parameterType="int">
  79. SELECT
  80. <include refid="allField"/>
  81. FROM TB_IAMBERRY_USER_USERINFO
  82. WHERE USER_ID = #{userId}
  83. </select>
  84. <!-- 根据openid查询会员信息 -->
  85. <select id="getMemberByUserOpenId" resultType="Member"
  86. parameterType="String">
  87. SELECT
  88. <include refid="allField"/>
  89. FROM TB_IAMBERRY_USER_USERINFO
  90. WHERE user_openid = #{userOpenid}
  91. </select>
  92. <!-- 查询会员数量 -->
  93. <select id="getCount" resultType="int">
  94. SELECT
  95. COUNT(USER_ID) MEMBERNUM
  96. FROM
  97. TB_IAMBERRY_USER_USERINFO
  98. </select>
  99. <!-- 分页显示会员信息 -->
  100. <select id="getMemberByPage" parameterType="Page"
  101. resultType="Member">
  102. SELECT
  103. <include refid="allField" />
  104. FROM
  105. TB_IAMBERRY_USER_USERINFO where 1=1
  106. <if test="params.userInput != null and params.userInput != ''">
  107. AND user_nickname LIKE CONCAT('%',#{params.userInput},'%')
  108. OR user_tel LIKE CONCAT('%',#{params.userInput},'%')
  109. </if>
  110. <if test="params.beginDate != null and params.beginDate != ''">
  111. <![CDATA[AND DATE(user_sub_date) >= #{params.beginDate}]]>
  112. </if>
  113. <if test="params.endDate != null and params.endDate != ''">
  114. <![CDATA[AND DATE(user_sub_date) <= #{params.endDate}]]>
  115. </if>
  116. ORDER BY USER_ID DESC
  117. <if test="pageNo>=0 and pageSize>0 ">
  118. LIMIT
  119. ${pageNo},${pageSize}
  120. </if>
  121. </select>
  122. <!-- 删除一条记录 -->
  123. <delete id="deleteMemById" parameterType="int">
  124. DELETE FROM
  125. TB_IAMBERRY_USER_USERINFO
  126. WHERE
  127. USER_ID = #{userId}
  128. </delete>
  129. <!-- 修改 -->
  130. <update id="updateMemberByUserId" parameterType="Member">
  131. update tb_iamberry_user_userinfo
  132. <set>
  133. <if test="userOpenid!=null">
  134. user_openid = #{userOpenid},
  135. </if>
  136. <if test="userHead!=null">
  137. user_head = #{userHead},
  138. </if>
  139. <if test="userNickname!=null">
  140. user_nickname = #{userNickname},
  141. </if>
  142. <if test="userAddr!=null">
  143. user_addr = #{userAddr},
  144. </if>
  145. <if test="userSex!=null">
  146. user_sex = #{userSex},
  147. </if>
  148. <if test="userIntegral!=null">
  149. user_integral = #{userIntegral},
  150. </if>
  151. <if test="userAccountNum!=null">
  152. user_account_num = #{userAccountNum},
  153. </if>
  154. <if test="userPwd!=null">
  155. user_pwd = #{userPwd},
  156. </if>
  157. <if test="userTel!=null">
  158. user_tel = #{userTel},
  159. </if>
  160. <if test="userName!=null">
  161. user_name = #{userName},
  162. </if>
  163. <if test="userBirthDate!=null">
  164. user_birth_date = #{userBirthDate},
  165. </if>
  166. <if test="userSurplusIntegral!=null">
  167. user_surplus_integral = #{userSurplusIntegral},
  168. </if>
  169. <if test="userUseIntegral!=null">
  170. user_use_integral = #{userUseIntegral},
  171. </if>
  172. <if test="userResType!=null">
  173. user_res_type = #{userResType},
  174. </if>
  175. <if test="userStatus!=null">
  176. user_status = #{userStatus},
  177. </if>
  178. <if test="userSubDate!=null">
  179. user_sub_date = #{userSubDate},
  180. </if>
  181. <if test="userCreateDate!=null">
  182. user_create_date = #{userCreateDate},
  183. </if>
  184. <if test="userIdentity!=null">
  185. user_identity = #{userIdentity},
  186. </if>
  187. <if test="userQrcode!=null">
  188. user_qrcode = #{userQrcode},
  189. </if>
  190. <if test="userIsFlag!=null">
  191. user_is_flag = #{userIsFlag},
  192. </if>
  193. <if test="userEmail!=null">
  194. user_email = #{userEmail},
  195. </if>
  196. <if test="userQrcodeType != null">
  197. user_qrcode_type = #{userQrcodeType}
  198. </if>
  199. <if test="userStayIntegral != null">
  200. user_stay_integral = #{userStayIntegral}
  201. </if>
  202. <if test="userAgeStage != null">
  203. user_age_stage = #{userAgeStage}
  204. </if>
  205. </set>
  206. <where>
  207. <if test="userId != null">
  208. user_id = #{userId}
  209. </if>
  210. <if test="userOpenid != null">
  211. user_openid = #{userOpenid}
  212. </if>
  213. </where>
  214. </update>
  215. <!-- 修改用户已用积分 -->
  216. <update id="updateUserUseIntegral" parameterType="Member">
  217. UPDATE
  218. TB_IAMBERRY_USER_USERINFO
  219. SET
  220. USER_USE_INTEGRAL = (USER_USE_INTEGRAL + #{userUseIntegral})
  221. WHERE
  222. USER_OPENID = #{userOpenid}
  223. </update>
  224. <!-- 修改用户可用积分 -->
  225. <update id="updateUserIntegral" parameterType="Member">
  226. UPDATE
  227. TB_IAMBERRY_USER_USERINFO
  228. SET
  229. USER_SURPLUS_INTEGRAL = (USER_SURPLUS_INTEGRAL - #{userSurplusIntegral})
  230. WHERE
  231. USER_OPENID = #{userOpenid}
  232. </update>
  233. <!-- 修改用户可用金额 -->
  234. <update id="updateUserIncomeByOpenId" parameterType="Member">
  235. UPDATE
  236. TB_IAMBERRY_USER_USERINFO
  237. SET
  238. USER_INCOME = (USER_INCOME + #{userIncome})
  239. WHERE
  240. USER_OPENID = #{userOpenid}
  241. </update>
  242. <!-- 修改用户待入账积分 -->
  243. <update id="updateUserStayIntegralByOpenId" parameterType="Member">
  244. UPDATE
  245. TB_IAMBERRY_USER_USERINFO
  246. SET
  247. user_stay_integral = (user_stay_integral + #{userStayIntegral})
  248. WHERE
  249. USER_OPENID = #{userOpenid}
  250. </update>
  251. <!-- 根据当前用户Id,下线信息 -->
  252. <select id="selectUserIntegralByWechatProxyId" parameterType="Page"
  253. resultType="Member">
  254. SELECT u.USER_ID userId,u.USER_HEAD userHead, u.USER_NICKNAME userNickname,
  255. u.USER_ADDR userAddr, u.USER_SEX userSex,
  256. u.USER_SUB_DATE userSubDate
  257. FROM TB_IAMBERRY_USER_USERINFO u
  258. JOIN TB_IAMBERRY_WD w
  259. ON u.USER_OPENID=w.WD_USER_OPENID
  260. WHERE w.WD_FIRST=#{totalRecord}
  261. AND u.USER_RES_TYPE = 2
  262. <if test="params!=null and params.endNo!=null and params.endNo!=''">
  263. <![CDATA[ and u.USER_ID < #{params.endNo} ]]>
  264. </if>
  265. <if test="params!=null and params.beginNo!=null and params.beginNo!=''">
  266. <![CDATA[ and u.USER_ID > #{params.begindNo} ]]>
  267. </if>
  268. ORDER BY u.USER_SUB_DATE DESC
  269. LIMIT 0, #{pageSize}
  270. </select>
  271. <!-- 根据用户openid,获取用户来源、用户身份 -->
  272. <select id="selectUserResAndIdSByOpenId" parameterType="String" resultType="Member">
  273. SELECT
  274. USER_RES_TYPE userResType, USER_IDENTITY userIdentity, USER_ID userId
  275. FROM
  276. TB_IAMBERRY_USER_USERINFO
  277. WHERE
  278. USER_OPENID = #{userOpenid}
  279. </select>
  280. <!-- 根据openid获取用户的绑定状态 -->
  281. <update id="updateUserFlagByOpenId" parameterType="String">
  282. UPDATE
  283. TB_IAMBERRY_USER_USERINFO
  284. SET
  285. USER_IS_FLAG = 2
  286. WHERE
  287. USER_OPENID = #{openid} AND USER_IS_FLAG = 1
  288. </update>
  289. <!-- 根据 userid 查询下线人数 和 已购买人数-->
  290. <select id="selectDownCountByUserId" parameterType="Integer" resultType="Integer">
  291. (
  292. SELECT COUNT(u.USER_ID) count
  293. FROM TB_IAMBERRY_USER_USERINFO u
  294. JOIN TB_IAMBERRY_WD w
  295. ON u.USER_OPENID=w.WD_USER_OPENID
  296. WHERE w.WD_FIRST=#{userid}
  297. AND u.USER_RES_TYPE = 2
  298. )
  299. UNION ALL
  300. (
  301. SELECT COUNT(userOpenid) count
  302. FROM
  303. (
  304. SELECT DISTINCT r.REBACK_FROM_OPENID userOpenid
  305. FROM TB_IAMBERRY_REBACK r
  306. JOIN TB_IAMBERRY_WD w
  307. ON r.REBACK_FROM_OPENID=w.WD_USER_OPENID
  308. JOIN TB_IAMBERRY_USER_USERINFO u
  309. ON w.WD_FIRST=u.USER_ID
  310. WHERE r.REBACK_TO_OPENID IN
  311. (SELECT us.USER_OPENID FROM TB_IAMBERRY_USER_USERINFO us WHERE us.USER_ID=#{userid})
  312. AND u.USER_ID=#{userid}
  313. ) s
  314. )
  315. </select>
  316. <!-- 根据openid 修改用户的是否购买 -->
  317. <update id="updateIsBaughtByOpenid" parameterType="Member">
  318. UPDATE TB_IAMBERRY_USER_USERINFO
  319. SET USER_IS_BOUGHT = #{userIsBought}
  320. WHERE USER_OPENID = #{userOpenid}
  321. </update>
  322. <!-- 个人分销下线用户 - 普通用户个数 -->
  323. <select id="getOrdinaryNumber" resultType="integer" parameterType="Member">
  324. SELECT count(*)
  325. FROM tb_iamberry_user_userinfo TIUU
  326. WHERE TIUU.user_dealers = #{userDealers}
  327. <if test="userNickname!=null">
  328. and user_nickname like '%${userNickname}%'
  329. </if>
  330. </select>
  331. <!-- 公司分销下线用户 - 个人分销列表 -->
  332. <select id="getOrdinary" resultType="Member" parameterType="Member">
  333. SELECT
  334. <include refid="allField"/>
  335. FROM tb_iamberry_user_userinfo
  336. WHERE user_dealers = #{userDealers}
  337. <if test="userNickname!=null">
  338. and user_nickname like '%${userNickname}%'
  339. </if>
  340. ORDER BY user_id DESC
  341. <if test="pageBean!=null and pageBean.recordBegin>0 and pageBean.pageSize>0 ">
  342. limit ${pageBean.recordBegin},${pageBean.pageSize}
  343. </if>
  344. <if test="pageBean!=null and pageBean.recordBegin==0 and pageBean.pageSize>0 ">
  345. limit ${pageBean.pageSize}
  346. </if>
  347. </select>
  348. <insert id="insertStayIntegral" parameterType="StayIntegral" useGeneratedKeys="true" keyProperty="stayId">
  349. INSERT INTO tb_iamberry_stay_integral (user_openid,config_id,sales_orderid,stay_number,stay_recorded_time,stay_status,stay_remark)
  350. VALUES
  351. (#{userOpenId},#{configId},#{orderId},#{stayNumber},#{stayRecordedTime},#{stayStatus},#{stayRemark})
  352. </insert>
  353. </mapper>