CrmStatisticsFunnelMapper.xml 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  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="cn.iocoder.yudao.module.crm.dal.mysql.statistics.CrmStatisticsFunnelMapper">
  4. <select id="selectCustomerCountByDate" resultType="java.lang.Long">
  5. SELECT COUNT(*)
  6. FROM crm_customer
  7. WHERE deleted = 0
  8. AND owner_user_id IN
  9. <foreach collection="userIds" item="userId" open="(" close=")" separator=",">
  10. #{userId}
  11. </foreach>
  12. AND create_time BETWEEN #{times[0],javaType=java.time.LocalDateTime} AND
  13. #{times[1],javaType=java.time.LocalDateTime}
  14. </select>
  15. <select id="selectBusinessCountByDateAndEndStatus" resultType="java.lang.Long">
  16. SELECT COUNT(*)
  17. FROM crm_business
  18. WHERE deleted = 0
  19. <if test="status != null">
  20. AND end_status = #{status}
  21. </if>
  22. AND owner_user_id IN
  23. <foreach collection="reqVO.userIds" item="userId" open="(" close=")" separator=",">
  24. #{userId}
  25. </foreach>
  26. AND create_time BETWEEN #{reqVO.times[0],javaType=java.time.LocalDateTime} AND
  27. #{reqVO.times[1],javaType=java.time.LocalDateTime}
  28. </select>
  29. <select id="selectBusinessSummaryListGroupByEndStatus"
  30. resultType="cn.iocoder.yudao.module.crm.controller.admin.statistics.vo.funnel.CrmStatisticsBusinessSummaryByEndStatusRespVO">
  31. SELECT end_status AS endStatus,COUNT(*) AS businessCount, SUM(total_price) AS totalPrice
  32. FROM crm_business
  33. WHERE deleted = 0 AND end_status IS NOT NULL
  34. AND owner_user_id IN
  35. <foreach collection="userIds" item="userId" open="(" close=")" separator=",">
  36. #{userId}
  37. </foreach>
  38. AND create_time BETWEEN #{times[0],javaType=java.time.LocalDateTime} AND
  39. #{times[1],javaType=java.time.LocalDateTime}
  40. GROUP BY end_status
  41. </select>
  42. <select id="selectBusinessSummaryGroupByDate"
  43. resultType="cn.iocoder.yudao.module.crm.controller.admin.statistics.vo.funnel.CrmStatisticsBusinessSummaryByDateRespVO">
  44. SELECT
  45. DATE_FORMAT(create_time, '%Y-%m-%d') AS time,
  46. COUNT(*) AS businessCreateCount,
  47. SUM(total_price) AS totalPrice
  48. FROM crm_business
  49. WHERE deleted = 0
  50. AND owner_user_id IN
  51. <foreach collection="userIds" item="userId" open="(" close=")" separator=",">
  52. #{userId}
  53. </foreach>
  54. AND create_time BETWEEN #{times[0],javaType=java.time.LocalDateTime} AND
  55. #{times[1],javaType=java.time.LocalDateTime}
  56. GROUP BY time
  57. </select>
  58. </mapper>