TradeOrderStatisticsMapper.xml 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  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.statistics.dal.mysql.trade.TradeOrderStatisticsMapper">
  4. <select id="selectSummaryListByAreaId"
  5. resultType="cn.iocoder.yudao.module.statistics.controller.admin.member.vo.MemberAreaStatisticsRespVO">
  6. SELECT receiver_area_id AS areaId,
  7. (SELECT COUNT(DISTINCT s.user_id)
  8. FROM trade_order AS s
  9. WHERE s.receiver_area_id = m.receiver_area_id) AS orderCreateUserCount,
  10. (SELECT COUNT(DISTINCT s.user_id)
  11. FROM trade_order AS s
  12. WHERE s.receiver_area_id = m.receiver_area_id
  13. AND s.pay_status = TRUE
  14. AND s.deleted = FALSE) AS orderPayUserCount,
  15. (SELECT SUM(s.pay_price)
  16. FROM trade_order AS s
  17. WHERE s.receiver_area_id = m.receiver_area_id
  18. AND s.pay_status = TRUE
  19. AND s.deleted = FALSE) AS orderPayPrice
  20. FROM trade_order m
  21. WHERE deleted = FALSE
  22. GROUP BY receiver_area_id
  23. </select>
  24. <select id="selectUserCountByCreateTimeBetween" resultType="java.lang.Integer">
  25. SELECT COUNT(DISTINCT (user_id))
  26. FROM trade_order
  27. WHERE deleted = FALSE
  28. AND create_time BETWEEN #{beginTime} AND #{endTime}
  29. </select>
  30. <select id="selectUserCountByPayTimeBetween" resultType="java.lang.Integer">
  31. SELECT COUNT(DISTINCT (user_id))
  32. FROM trade_order
  33. WHERE pay_time BETWEEN #{beginTime} AND #{endTime}
  34. AND pay_status = TRUE
  35. AND deleted = FALSE
  36. </select>
  37. <select id="selectCountByCreateTimeBetween" resultType="java.lang.Integer">
  38. SELECT COUNT(1)
  39. FROM trade_order
  40. WHERE create_time BETWEEN #{beginTime} AND #{endTime}
  41. AND deleted = FALSE
  42. </select>
  43. <select id="selectCountByPayTimeBetween" resultType="java.lang.Integer">
  44. SELECT COUNT(1)
  45. FROM trade_order
  46. WHERE pay_status = TRUE
  47. AND create_time BETWEEN #{beginTime} AND #{endTime}
  48. AND deleted = FALSE
  49. </select>
  50. <select id="selectSummaryPriceByPayTimeBetween" resultType="java.lang.Integer">
  51. SELECT SUM(pay_price)
  52. FROM trade_order AS s
  53. WHERE s.pay_status = TRUE
  54. AND deleted = FALSE
  55. AND create_time BETWEEN #{beginTime} AND #{endTime}
  56. </select>
  57. <select id="selectListByPayTimeBetweenAndGroupByDay"
  58. resultType="cn.iocoder.yudao.module.statistics.controller.admin.trade.vo.TradeOrderTrendRespVO">
  59. SELECT DATE_FORMAT(pay_time, '%Y-%m-%d') AS date,
  60. COUNT(1) AS orderPayCount,
  61. SUM(pay_price) AS orderPayPrice
  62. FROM trade_order
  63. WHERE pay_status = TRUE
  64. AND create_time BETWEEN #{beginTime} AND #{endTime}
  65. AND deleted = FALSE
  66. GROUP BY date
  67. </select>
  68. <select id="selectListByPayTimeBetweenAndGroupByMonth"
  69. resultType="cn.iocoder.yudao.module.statistics.controller.admin.trade.vo.TradeOrderTrendRespVO">
  70. SELECT DATE_FORMAT(pay_time, '%Y-%m') AS date,
  71. COUNT(1) AS orderPayCount,
  72. SUM(pay_price) AS orderPayPrice
  73. FROM trade_order
  74. WHERE pay_status = TRUE
  75. AND create_time BETWEEN #{beginTime} AND #{endTime}
  76. AND deleted = FALSE
  77. GROUP BY date
  78. </select>
  79. <select id="selectCountByStatus" resultType="java.lang.Long">
  80. SELECT COUNT(1)
  81. FROM trade_order
  82. WHERE status = #{status} AND deleted = FALSE
  83. </select>
  84. <select id="selectCountByStatusAndPickUpStoreIdIsNotNull" resultType="java.lang.Long">
  85. SELECT COUNT(1)
  86. FROM trade_order
  87. WHERE status = #{status}
  88. AND pick_up_store_id IS NOT NULL
  89. AND deleted = FALSE
  90. </select>
  91. <select id="selectPaySummaryByStatusAndPayTimeBetween"
  92. resultType="cn.iocoder.yudao.module.statistics.controller.admin.trade.vo.TradeOrderSummaryRespVO">
  93. SELECT IFNULL(SUM(pay_price), 0) AS orderPayPrice,
  94. COUNT(1) AS orderPayCount
  95. FROM trade_order
  96. WHERE status = #{status}
  97. AND pay_time BETWEEN #{beginTime} AND #{endTime}
  98. AND deleted = FALSE
  99. </select>
  100. </mapper>