MultiDataSourceHomeStatsMapper.xml 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  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. <!--
  4. 这个文件是自动生成的。
  5. 不要修改此文件。所有改动将在下次重新自动生成时丢失。
  6. -->
  7. <mapper namespace="com.ym.mec.biz.dal.dao.MultiDataSourceHomeStatsDao">
  8. <select id="clsSummerIncome"
  9. resultType="com.ym.mec.biz.dal.wrapper.MultiDataSourceHomeStatsWrapper$IncomeByDate">
  10. select DATE_FORMAT(account_period_time_,#{queryDto.format}) `date`,SUM(trans_amount_) totalAmount
  11. from cooleshow_pro.platform_cash_account_record where in_or_out_ = 'IN' AND post_status_ = 'RECORDED'
  12. AND DATE_FORMAT(account_period_time_,'%Y-%m-%d') BETWEEN #{queryDto.startTime} AND #{queryDto.endTime}
  13. group by DATE_FORMAT(account_period_time_,#{queryDto.groupBy});
  14. </select>
  15. <select id="gytSummerIncome"
  16. resultType="com.ym.mec.biz.dal.wrapper.MultiDataSourceHomeStatsWrapper$IncomeByDate">
  17. select DATE_FORMAT(create_time_,#{queryDto.format}) `date`,SUM(current_price_) totalAmount
  18. from jmedu_pro.user_payment_order where status_ = 'PAID'
  19. AND DATE_FORMAT(create_time_,'%Y-%m-%d') BETWEEN #{queryDto.startTime} AND #{queryDto.endTime}
  20. group by DATE_FORMAT(create_time_,#{queryDto.groupBy})
  21. </select>
  22. <select id="gymSummerIncome"
  23. resultType="com.ym.mec.biz.dal.wrapper.MultiDataSourceHomeStatsWrapper$IncomeByDate">
  24. SELECT DATE_FORMAT(pay_time_,#{queryDto.format}) `date`,SUM(CASE WHEN actual_amount_ IS NULL THEN 0 ELSE actual_amount_ END +
  25. CASE WHEN balance_payment_amount_ IS NULL THEN 0 ELSE balance_payment_amount_ END) totalAmount
  26. FROM student_payment_order
  27. where status_ = 'SUCCESS' AND DATE_FORMAT(pay_time_,'%Y-%m-%d') BETWEEN #{queryDto.startTime} AND #{queryDto.endTime}
  28. <if test="queryDto.organIds != null and queryDto.organIds != ''">
  29. AND FIND_IN_SET(organ_id_,#{queryDto.organIds})
  30. </if>
  31. GROUP BY DATE_FORMAT(pay_time_,#{queryDto.groupBy})
  32. </select>
  33. <select id="clsOrgSummerIncome"
  34. resultType="com.ym.mec.biz.dal.wrapper.MultiDataSourceHomeStatsWrapper$IncomeByDate">
  35. select DATE_FORMAT(create_time_,#{queryDto.format}) `date`,SUM(trans_amount_) totalAmount
  36. from cooleshow_pro.tenant_account_record where in_or_out_ = 'IN' AND post_status_ = 'RECORDED'
  37. AND DATE_FORMAT(create_time_,'%Y-%m-%d') BETWEEN #{queryDto.startTime} AND #{queryDto.endTime}
  38. group by DATE_FORMAT(create_time_,#{queryDto.groupBy})
  39. </select>
  40. <select id="ktSummerIncome"
  41. resultType="com.ym.mec.biz.dal.wrapper.MultiDataSourceHomeStatsWrapper$IncomeByDate">
  42. select DATE_FORMAT(create_time_,#{queryDto.format}) `date`,SUM(payment_cash_amount_) totalAmount
  43. from cooleshow_edu_pro.user_payment_order where status_ = 'PAID'
  44. AND DATE_FORMAT(create_time_,'%Y-%m-%d') BETWEEN #{queryDto.startTime} AND #{queryDto.endTime}
  45. group by DATE_FORMAT(create_time_,#{queryDto.groupBy})
  46. </select>
  47. <!-- 管乐迷支付分账流水(当前库) -->
  48. <select id="gymPaymentFlow"
  49. resultType="com.ym.mec.biz.dal.wrapper.MultiDataSourceHomeStatsWrapper$GymPaymentFlowDto">
  50. SELECT
  51. o.name_ AS organName,
  52. spro.mer_no_ AS merNo,
  53. m.card_no_ AS cardNo,
  54. spo.user_id_ AS userId,
  55. u.username_ AS username,
  56. spro.order_no_ AS orderNo,
  57. spo.trans_no_ AS transNo,
  58. spro.route_amount_ AS routeAmount,
  59. spro.service_fee_ AS serviceFee,
  60. (IFNULL(spro.route_amount_, 0) - IFNULL(spro.service_fee_, 0)) AS actualAmount,
  61. DATE_FORMAT(spro.update_time_, '%Y-%m-%d') AS routeDate
  62. FROM student_payment_route_order spro
  63. LEFT JOIN student_payment_order spo ON spro.order_no_ = spo.order_no_
  64. LEFT JOIN organization o ON o.id_ = spro.route_organ_id_
  65. LEFT JOIN sys_user u ON u.id_ = spo.user_id_
  66. LEFT JOIN hf_member m ON m.member_id_ = spro.mer_no_ and m.organ_id_ = spro.route_organ_id_
  67. WHERE spo.status_ = 'SUCCESS'
  68. AND DATE(spro.update_time_) BETWEEN #{queryDto.startTime} AND #{queryDto.endTime}
  69. </select>
  70. <!-- 酷乐秀支付流水(cooleshow_pro) -->
  71. <select id="clsPaymentFlow"
  72. resultType="com.ym.mec.biz.dal.wrapper.MultiDataSourceHomeStatsWrapper$ClsPaymentFlowDto">
  73. SELECT
  74. t.order_no_ AS orderNo,
  75. p.trans_no_ AS transNo,
  76. t.actual_price_ AS actualPrice,
  77. CASE WHEN IFNULL(p.pay_channel_, t.payment_channel_) LIKE 'wx%' THEN '微信'
  78. WHEN IFNULL(p.pay_channel_, t.payment_channel_) LIKE 'ali%' THEN '支付宝'
  79. ELSE '汇付' END AS payChannel,
  80. DATE_FORMAT(t.pay_time_, '%Y-%m-%d %H:%i:%s') AS payTime,
  81. u.username_ AS username,
  82. u.id_ AS userId
  83. FROM cooleshow_pro.user_order t
  84. LEFT JOIN cooleshow_pro.user_order_payment p ON t.order_no_ = p.order_no_ AND p.status_ = 'succeeded'
  85. LEFT JOIN cooleshow_pro.sys_user u ON t.user_id_ = u.id_
  86. WHERE u.del_flag_ = 0
  87. AND t.status_ = 'PAID'
  88. AND t.actual_price_ > 0
  89. AND DATE(t.pay_time_) BETWEEN #{queryDto.startTime} AND #{queryDto.endTime}
  90. </select>
  91. <!-- 音乐数字课堂支付流水(cooleshow_edu_pro) -->
  92. <select id="ktPaymentFlow"
  93. resultType="com.ym.mec.biz.dal.wrapper.MultiDataSourceHomeStatsWrapper$KtPaymentFlowDto">
  94. SELECT
  95. upo.order_no_ AS orderNo,
  96. upo.trans_no_ AS transNo,
  97. upo.payment_cash_amount_ AS paymentCashAmount,
  98. CASE WHEN upo.payment_vender_ LIKE 'adapay%' THEN '汇付'
  99. WHEN upo.payment_vender_ LIKE 'yeepay%' THEN '易宝'
  100. ELSE '直连' END AS paymentVender,
  101. CASE WHEN upo.payment_channel_ LIKE 'wx%' THEN '微信'
  102. WHEN upo.payment_channel_ LIKE 'alipay%' THEN '支付宝' END AS paymentChannel,
  103. DATE_FORMAT(FROM_UNIXTIME(upo.pay_time_ / 1000), '%Y-%m-%d %H:%i:%s') AS payTime,
  104. upo.user_id_ AS userId,
  105. case when upo.payment_client_ = 'STUDENT' then s.nickname_ when upo.payment_client_ = 'TEACHER' then t.nickname_ end AS nickname,
  106. CASE WHEN upo.status_ = 'PAID' THEN '付款成功'
  107. WHEN upo.status_ = 'REFUNDED' THEN '退款成功'
  108. ELSE '未知' END AS statusName
  109. FROM cooleshow_edu_pro.user_payment_order upo
  110. LEFT JOIN cooleshow_edu_pro.student s ON upo.user_id_ = s.id_ and upo.payment_client_ = 'STUDENT'
  111. LEFT JOIN cooleshow_edu_pro.teacher t on t.id_ = upo.user_id_ and upo.payment_client_ = 'TEACHER'
  112. WHERE upo.status_ IN ('PAID', 'REFUNDED')
  113. AND upo.payment_cash_amount_ > 0
  114. AND DATE(FROM_UNIXTIME(upo.pay_time_ / 1000)) BETWEEN #{queryDto.startTime} AND #{queryDto.endTime}
  115. </select>
  116. </mapper>