AppUserMapper.xml 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416
  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.ytpm.dao.AppUserMapper">
  4. <insert id="addOne" parameterType="com.ytpm.app.model.YtDyzUser">
  5. insert into yt_dyz_user
  6. (
  7. user_id,
  8. nick_name,
  9. head_img,
  10. registry_time,
  11. last_login_time,
  12. last_login_ip,
  13. login_days,
  14. total_video,
  15. total_income,
  16. red_packet_balance,
  17. red_packet_amount,
  18. points_balance,
  19. points_total,
  20. withdraw_total,
  21. sign_days,
  22. user_status,
  23. risk_reason,
  24. wx_open_id,
  25. ditch_id,
  26. platform_id,
  27. app_id,
  28. power,
  29. phone,
  30. device_id
  31. )
  32. values
  33. (
  34. #{userId},
  35. #{nickName},
  36. #{headImg},
  37. #{registryTime},
  38. #{lastLoginTime},
  39. #{lastLoginIp},
  40. #{loginDays},
  41. #{totalVideo},
  42. #{totalIncome},
  43. #{redPacketBalance},
  44. #{redPacketAmount},
  45. #{pointsBalance},
  46. #{pointsTotal},
  47. #{withdrawTotal},
  48. #{signDays},
  49. #{userStatus},
  50. #{riskReason},
  51. #{wxOpenId},
  52. #{ditchId},
  53. #{platformId},
  54. #{appId},
  55. #{power},
  56. #{phone},
  57. #{deviceId}
  58. )
  59. </insert>
  60. <insert id="addPowerRecord">
  61. insert into yt_dyz_power_record
  62. (
  63. record_id, user_id, type, remark, add_time
  64. )
  65. values
  66. (
  67. #{recordId},#{userId},#{type},#{remark},#{addTime}
  68. )
  69. </insert>
  70. <insert id="saveAppConfig">
  71. insert into yt_app_default_config
  72. (
  73. config_name,
  74. open_id,
  75. secret,
  76. app_id,
  77. app_key,
  78. app_type
  79. )
  80. values
  81. (
  82. #{configName},
  83. #{openId},
  84. #{secret},
  85. #{appId},
  86. #{appKey},
  87. #{appType}
  88. )
  89. </insert>
  90. <update id="addOnePower">
  91. update yt_dyz_user set power = power+1 where user_id = #{userId}
  92. </update>
  93. <update id="subOnePower">
  94. update yt_dyz_user set power = power-1 where user_id = #{userId}
  95. </update>
  96. <update id="updateUser" parameterType="com.ytpm.app.model.YtDyzUser">
  97. update yt_dyz_user
  98. <set>
  99. <if test="nickName != null">
  100. nick_name = #{nickName},
  101. </if>
  102. <if test="phone != null">
  103. phone = #{phone},
  104. </if>
  105. <if test="deviceId != null">
  106. device_id = #{deviceId},
  107. </if>
  108. <if test="headImg != null">
  109. head_img = #{headImg},
  110. </if>
  111. <if test="power != null">
  112. power = #{power},
  113. </if>
  114. <if test="lastLoginTime != null">
  115. last_login_time = #{lastLoginTime},
  116. </if>
  117. <if test="lastLoginIp != null">
  118. last_login_ip = #{lastLoginIp},
  119. </if>
  120. <if test="loginDays != null">
  121. login_days = #{loginDays},
  122. </if>
  123. <if test="totalVideo != null">
  124. total_video = #{totalVideo},
  125. </if>
  126. <if test="totalIncome != null">
  127. total_income = #{totalIncome},
  128. </if>
  129. <if test="redPacketBalance != null">
  130. red_packet_balance = #{redPacketBalance},
  131. </if>
  132. <if test="redPacketAmount != null">
  133. red_packet_amount = #{redPacketAmount},
  134. </if>
  135. <if test="pointsBalance != null">
  136. points_balance = #{pointsBalance},
  137. </if>
  138. <if test="pointsTotal != null">
  139. points_total = #{pointsTotal},
  140. </if>
  141. <if test="withdrawTotal != null">
  142. withdraw_total = #{withdrawTotal},
  143. </if>
  144. <if test="signDays != null">
  145. sign_days = #{signDays},
  146. </if>
  147. <if test="userStatus != null">
  148. user_status = #{userStatus},
  149. </if>
  150. <if test="riskReason != null">
  151. risk_reason = #{riskReason},
  152. </if>
  153. <if test="wxOpenId != null">
  154. wx_open_id = #{wxOpenId},
  155. </if>
  156. <if test="platformId != null">
  157. platform_id = #{platformId}
  158. </if>
  159. </set>
  160. where user_id = #{userId}
  161. </update>
  162. <select id="getYtAppUser" resultType="com.ytpm.app.model.YtDyzUser">
  163. select
  164. user_id, app_id,phone,device_id, ditch_id, nick_name,head_img, power, registry_time, last_login_time, last_login_ip, login_days, total_video, total_income, red_packet_balance, red_packet_amount, points_balance, points_total, withdraw_total, sign_days, user_status, risk_reason, wx_open_id, platform_id
  165. from yt_dyz_user
  166. where wx_open_id = #{openid}
  167. and ditch_id = #{ditchId}
  168. </select>
  169. <select id="queryAll" resultType="com.ytpm.app.view.YtAppUserListView">
  170. select
  171. user_id,app_id,phone,device_id, ditch_id, nick_name,head_img, power, registry_time, last_login_time, last_login_ip, login_days, total_video, total_income, red_packet_balance, red_packet_amount, points_balance, points_total, withdraw_total, sign_days, user_status, risk_reason, wx_open_id, platform_id
  172. from yt_dyz_user
  173. where 1 = 1
  174. <if test="userId != null and userId !=''">
  175. and user_id = #{userId}
  176. </if>
  177. <if test="nickName != null and nickName !=''">
  178. and nick_name like concat('%',#{nickName},'%')
  179. </if>
  180. <if test="ditchId != null">
  181. and ditch_id = #{ditchId}
  182. </if>
  183. <if test="userStatus != null">
  184. and user_status = #{userStatus}
  185. </if>
  186. <if test="registryTimeBegin != null">
  187. and DATE_FORMAT(registry_time, '%Y-%m-%d') <![CDATA[>=]]> DATE_FORMAT(#{registryTimeBegin}, '%Y-%m-%d')
  188. </if>
  189. <if test="registryTimeEnd != null">
  190. and DATE_FORMAT(registry_time, '%Y-%m-%d') <![CDATA[<=]]> DATE_FORMAT(#{registryTimeEnd}, '%Y-%m-%d')
  191. </if>
  192. <if test="lastLoginTimeBegin != null">
  193. and DATE_FORMAT(last_login_time, '%Y-%m-%d') <![CDATA[>=]]> DATE_FORMAT(#{lastLoginTimeBegin}, '%Y-%m-%d')
  194. </if>
  195. <if test="lastLoginTimeEnd != null">
  196. and DATE_FORMAT(last_login_time, '%Y-%m-%d') <![CDATA[<=]]> DATE_FORMAT(#{lastLoginTimeEnd}, '%Y-%m-%d')
  197. </if>
  198. <if test="appIds != null and appIds != ''">
  199. and app_id in
  200. <foreach collection="appIds.split(',')" separator="," item="item" open="(" close=")">
  201. #{item}
  202. </foreach>
  203. </if>
  204. order by user_id desc
  205. </select>
  206. <select id="selectPrimaryKey" resultType="com.ytpm.app.model.YtDyzUser">
  207. select
  208. user_id,app_id,phone,device_id, ditch_id, head_img, nick_name, registry_time, last_login_time, last_login_ip, login_days, total_video, total_income, red_packet_balance, red_packet_amount, points_balance, points_total, withdraw_total, sign_days, user_status, risk_reason, wx_open_id, platform_id, power
  209. from yt_dyz_user
  210. where user_id = #{userId}
  211. </select>
  212. <select id="getUserList" resultType="com.ytpm.app.model.YtDyzUser">
  213. select
  214. du.user_id,
  215. du.head_img,
  216. du.nick_name,
  217. du.phone,
  218. du.device_id,
  219. du.registry_time,
  220. du.last_login_time,
  221. du.last_login_ip,
  222. du.login_days,
  223. du.total_video,
  224. du.total_income,
  225. du.red_packet_balance,
  226. du.red_packet_amount,
  227. du.points_balance,
  228. du.points_total,
  229. du.withdraw_total,
  230. du.sign_days,
  231. du.user_status,
  232. du.risk_reason,
  233. du.wx_open_id,
  234. du.ditch_id,
  235. du.app_id,
  236. du.platform_id,
  237. du.power
  238. from yt_dyz_user du
  239. where du.user_id in
  240. <foreach collection="userIds.split(',')" item="item" separator="," open="(" close=")">
  241. #{item}
  242. </foreach>
  243. </select>
  244. <select id="queryAllByTime" resultType="com.ytpm.app.model.YtDyzUser">
  245. SELECT
  246. user_id,app_id,phone,device_id, nick_name, head_img, power, registry_time,
  247. last_login_time, last_login_ip, login_days, total_video,
  248. total_income, red_packet_balance, red_packet_amount,
  249. points_balance, points_total, withdraw_total, sign_days,
  250. user_status, risk_reason, wx_open_id, platform_id
  251. FROM yt_dyz_user
  252. <where>
  253. <if test="startTime != null">
  254. AND registry_time >= #{startTime}
  255. </if>
  256. <if test="endTime != null">
  257. AND registry_time &lt;= #{endTime}
  258. </if>
  259. <choose>
  260. <when test="appIdList == null or appIdList.isEmpty()">
  261. AND 1 = 0
  262. </when>
  263. <otherwise>
  264. AND app_id IN
  265. <foreach collection="appIdList" item="item"
  266. open="(" close=")" separator=",">
  267. #{item}
  268. </foreach>
  269. </otherwise>
  270. </choose>
  271. </where>
  272. ORDER BY registry_time DESC
  273. </select>
  274. <select id="countUsersByHour" resultType="com.ytpm.app.view.HourCountView">
  275. SELECT HOUR(registry_time) AS hour, COUNT(*) AS count
  276. FROM yt_dyz_user
  277. WHERE registry_time BETWEEN #{startTime} AND #{endTime}
  278. <choose>
  279. <when test="appIdList == null or appIdList.isEmpty()">
  280. AND 1 = 0
  281. </when>
  282. <otherwise>
  283. AND app_id IN
  284. <foreach collection="appIdList" item="item"
  285. open="(" close=")" separator=",">
  286. #{item}
  287. </foreach>
  288. </otherwise>
  289. </choose>
  290. GROUP BY HOUR(registry_time)
  291. </select>
  292. <select id="queryTodayBanned" resultType="com.ytpm.app.model.YtDyzUser">
  293. select user_id from yt_dyz_user
  294. where registry_time BETWEEN #{startTime} AND #{endTime}
  295. and user_id in
  296. <foreach collection="userIdList" item="item"
  297. open="(" close=")" separator=",">
  298. #{item}
  299. </foreach>
  300. </select>
  301. <select id="getDefaultConfig" resultType="com.ytpm.app.view.WxDefaultConfig">
  302. select
  303. config_id, config_name, open_id appId, secret, app_id platformAppId, app_key platformAppSecret, app_type
  304. from yt_app_default_config
  305. where app_type = #{appType}
  306. </select>
  307. <select id="getSecretByAppId" resultType="java.lang.String">
  308. select
  309. secret
  310. from yt_app_default_config
  311. where app_id = #{appId}
  312. </select>
  313. <select id="queryByOpenid" resultType="com.ytpm.app.model.YtDyzUser">
  314. select
  315. user_id,phone,device_id, head_img, nick_name, registry_time, last_login_time, last_login_ip, login_days, total_video, total_income, red_packet_balance, red_packet_amount, points_balance, points_total, withdraw_total, sign_days, user_status, risk_reason, wx_open_id, ditch_id, app_id, platform_id, power
  316. from yt_dyz_user
  317. where wx_open_id = #{openid}
  318. </select>
  319. <select id="getByDeviceId" resultType="java.lang.String">
  320. select
  321. platform_id
  322. from yt_dyz_user
  323. where device_id = #{deviceId}
  324. and wx_open_id = #{openid}
  325. limit 1
  326. </select>
  327. <select id="getConfigByIds" resultType="com.ytpm.app.view.WxDefaultConfig">
  328. select
  329. config_id, config_name, open_id, secret, app_id, app_key, app_type
  330. from yt_app_default_config
  331. where app_id in
  332. <foreach collection="appIds.split(',')" item="item" separator="," open="(" close=")">
  333. #{item}
  334. </foreach>
  335. </select>
  336. <select id="getAdCount" resultType="java.lang.Integer">
  337. select
  338. sum(total_video)
  339. from yt_dyz_user
  340. where app_id in
  341. <foreach collection="appIds.split(',')" separator="," item="item" open="(" close=")">
  342. #{item}
  343. </foreach>
  344. </select>
  345. <select id="getRevenueCount" resultType="java.math.BigDecimal">
  346. select
  347. sum(total_income)
  348. from yt_dyz_user
  349. where app_id in
  350. <foreach collection="appIds.split(',')" separator="," item="item" open="(" close=")">
  351. #{item}
  352. </foreach>
  353. </select>
  354. <select id="getAppRanking" resultType="com.ytpm.middle.view.AppRankingListVO">
  355. SELECT
  356. u.app_id,
  357. sum( ar.revenue ) totalRevenue
  358. FROM
  359. yt_dyz_ad_record ar
  360. JOIN yt_dyz_user u ON ar.user_id = u.user_id
  361. <where>
  362. <if test="sortBy != null">
  363. <choose>
  364. <when test="sortBy == 1">
  365. DATE_FORMAT( ar.finish_time, '%Y-%m-%d' ) = CURRENT_DATE()
  366. </when>
  367. <when test=" sortBy == 2">
  368. YEARWEEK( ar.finish_time, 1 ) = YEARWEEK(now(),1)
  369. </when>
  370. <otherwise>
  371. DATE_FORMAT( ar.finish_time, '%Y-%m' ) = DATE_FORMAT(NOW(), '%Y-%m')
  372. </otherwise>
  373. </choose>
  374. </if>
  375. </where>
  376. GROUP BY
  377. u.app_id
  378. ORDER BY
  379. sum( ar.revenue ) DESC
  380. LIMIT #{limit}
  381. </select>
  382. <select id="getUserRanking" resultType="com.ytpm.middle.view.UserRankingListVO">
  383. SELECT
  384. u.user_id,
  385. u.nick_name,
  386. u.head_img,
  387. u.total_video,
  388. sum( ar.revenue ) totalIncome
  389. FROM
  390. yt_dyz_ad_record ar
  391. JOIN yt_dyz_user u ON ar.user_id = u.user_id
  392. <where>
  393. <if test="sortBy != null">
  394. <choose>
  395. <when test="sortBy == 1">
  396. DATE_FORMAT( ar.finish_time, '%Y-%m-%d' ) = CURRENT_DATE()
  397. </when>
  398. <when test=" sortBy == 2">
  399. YEARWEEK( ar.finish_time, 1 ) = YEARWEEK(now(),1)
  400. </when>
  401. <otherwise>
  402. DATE_FORMAT( ar.finish_time, '%Y-%m' ) = DATE_FORMAT(NOW(), '%Y-%m')
  403. </otherwise>
  404. </choose>
  405. </if>
  406. </where>
  407. GROUP BY ar.user_id
  408. ORDER BY
  409. sum( ar.revenue ) DESC
  410. limit #{limit}
  411. </select>
  412. </mapper>