MessagePushMapper.xml 3.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  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 * FROM (
  24. SELECT
  25. DISTINCT a.clubID AS clubID,
  26. u.userID AS userID,
  27. a.contractMobile AS mobile
  28. FROM club a
  29. LEFT JOIN USER u ON u.userID = a.userID
  30. LEFT JOIN cm_svip_user csu ON csu.userId = u.userID
  31. LEFT JOIN serviceprovider sp ON sp.serviceProviderID = a.spID
  32. LEFT JOIN town b ON b.townID=a.townID
  33. LEFT JOIN city c ON c.cityID=b.cityID
  34. LEFT JOIN province d ON d.provinceID=c.provinceID
  35. LEFT JOIN cm_organ_value_system covs ON a.userID = covs.userID
  36. WHERE
  37. covs.stage = 0 AND covs.delType = 1 AND a.status = 90
  38. AND (covs.activeState = '新增用户' OR covs.activeState = '活跃用户' OR covs.activeState = '忠诚用户' OR covs.activeState = '沉默用户')
  39. AND u.registerTime BETWEEN '2021-01-01' AND '2022-12-01'
  40. AND (u.userOrganizeID IN(0,1) OR u.clubStatus != 92)
  41. UNION
  42. SELECT
  43. DISTINCT a.clubID AS clubID,
  44. u.userID AS userID,
  45. a.contractMobile AS contractMobile
  46. FROM club a
  47. LEFT JOIN USER u ON u.userID = a.userID
  48. LEFT JOIN cm_svip_user csu ON csu.userId = u.userID
  49. LEFT JOIN serviceprovider sp ON sp.serviceProviderID = a.spID
  50. LEFT JOIN town b ON b.townID=a.townID
  51. LEFT JOIN city c ON c.cityID=b.cityID
  52. LEFT JOIN province d ON d.provinceID=c.provinceID
  53. LEFT JOIN cm_organ_value_system covs ON a.userID = covs.userID
  54. WHERE
  55. covs.stage = 0 AND covs.delType = 1 AND a.status = 90
  56. AND a.userID IN ( SELECT userID FROM club WHERE userID IN (SELECT userID FROM cm_organ_value_system WHERE stage = 0 AND activeState LIKE '%不活跃用户%') AND NAME LIKE '%医%' )
  57. AND u.registerTime BETWEEN '2021-01-01' AND '2022-12-01'
  58. AND (u.userOrganizeID IN(0,1) OR u.clubStatus != 92)
  59. ) b WHERE clubID NOT IN (11640,11365,9412,8866)
  60. </select>
  61. </mapper>