MessagePushMapper.xml 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  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.caimei365.order.mapper.MessagePushMapper">
  4. <insert id="insertShortLink">
  5. INSERT INTO cm_short_link (markId, shortLink, jumpLink, createTime)
  6. VALUES (#{markId}, #{shortLink}, #{url}, NOW())
  7. </insert>
  8. <insert id="insertNewLink">
  9. INSERT INTO cm_short_link (markId, clubId, userId, shortLink, jumpLink, createTime)
  10. VALUES (#{markId}, #{clubId}, #{userId}, #{shortLink}, #{jumpLink}, NOW())
  11. </insert>
  12. <update id="updateSmsSendCount">
  13. UPDATE cm_sms_statistics
  14. SET sendNum = (sendNum + #{count})
  15. WHERE markId = #{markId}
  16. </update>
  17. <select id="findIdByShortLink" resultType="java.lang.Integer">
  18. SELECT id
  19. FROM cm_short_link
  20. WHERE shortLink = #{shortLink}
  21. </select>
  22. <select id="findOldUser" resultType="com.caimei365.order.model.vo.PushMessageUserVo">
  23. SELECT DISTINCT clubID as clubId, userID as userId, contractMobile AS mobile
  24. FROM club WHERE spId = 1331
  25. </select>
  26. <select id="findOldUserTow" resultType="com.caimei365.order.model.vo.PushMessageUserVo">
  27. SELECT DISTINCT userID, contractMobile as mobile FROM (
  28. SELECT u.userID, c.contractMobile FROM club c
  29. LEFT JOIN USER u ON c.userID = u.userID
  30. LEFT JOIN cm_organ_value_system covs ON u.userID = covs.userID
  31. LEFT JOIN cm_behavior_record cbr ON cbr.userID = u.userID
  32. WHERE c.firstClubType = 1 AND (covs.activeState = '新增用户' OR covs.activeState = '活跃用户' OR covs.activeState = '不活跃用户' OR covs.activeState = '忠诚用户')
  33. AND (cbr.pageLabel LIKE '%水光%' OR cbr.pageLabel LIKE '%水光仪%' OR cbr.pageLabel LIKE '%水光针' OR cbr.pageLabel LIKE '%有证水光仪%' OR cbr.pageLabel LIKE '%颜层水光%')
  34. UNION
  35. SELECT u.userID, c.contractMobile FROM club c
  36. LEFT JOIN USER u ON u.userID = c.userID
  37. LEFT JOIN cm_club_remarks ccr ON ccr.clubId = c.clubID
  38. WHERE c.firstClubType = 1 AND ccr.addTime LIKE '%2023%' AND (ccr.remarks LIKE '%水光仪%' OR ccr.remarks LIKE '%颜层%' OR ccr.remarks LIKE '%水光针%')
  39. UNION
  40. SELECT u.userID, c.contractMobile FROM club c
  41. LEFT JOIN USER u ON u.userID = c.userID
  42. LEFT JOIN
  43. (SELECT DISTINCT c.clubID,COUNT(ccr.id) AS num FROM club c
  44. LEFT JOIN cm_club_remarks ccr ON ccr.clubId = c.clubID WHERE c.addTime LIKE '%2023%' GROUP BY c.clubID HAVING COUNT(ccr.id) = 0) AS xs ON xs.clubID = c.clubID
  45. WHERE c.firstClubType = 1 AND xs.num = 0
  46. UNION
  47. SELECT DISTINCT u.userID, c.contractMobile
  48. FROM USER u
  49. LEFT JOIN club c ON c.userID = u.userID
  50. LEFT JOIN cm_behavior_record cbr ON cbr.userID = u.userID
  51. WHERE c.firstClubType = 2 AND cbr.pageType = 28
  52. AND u.userID NOT IN ( SELECT userID FROM cm_svip_user WHERE delFlag != 0 OR NOW() BETWEEN beginTime AND endTime)
  53. ) b
  54. </select>
  55. </mapper>