You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

102 lines
4.1 KiB

  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.example.demo.mapper.StatisticsMapper">
  4. <!--新增part2统计数据-->
  5. <insert id="insertPart2">
  6. INSERT INTO statistics (
  7. market, current_datetime,
  8. recharge, money,
  9. consume_permanent, consume_free_june,
  10. consume_free_december, consume_task,
  11. refund_permanent, refund_free_june,
  12. refund_free_december,refund_task,
  13. recharge_num, first_recharge
  14. ) VALUES (
  15. #{market}, #{currentDatetime},
  16. #{recharge}, #{money},
  17. #{consumePermanent}, #{consumeFreeJune},
  18. #{consumeFreeDecember}, #{consumeTask},
  19. #{refundPermanent}, #{refundFreeJune},
  20. #{refundFreeDecember}, #{refundTask},
  21. #{rechargeNum}, #{firstRecharge}
  22. )
  23. </insert>
  24. <!--更新part2统计数据-->
  25. <update id="updatePart2">
  26. UPDATE statistics
  27. SET
  28. recharge = #{recharge},
  29. money = #{money},
  30. consume_permanent = #{consumePermanent},
  31. consume_free_june = #{consumeFreeJune},
  32. consume_free_december = #{consumeFreeDecember},
  33. consume_task = #{consumeTask},
  34. refund_permanent = #{refundPermanent},
  35. refund_free_june = #{refundFreeJune},
  36. refund_free_december = #{refundFreeDecember},
  37. refund_task = #{refundTask},
  38. recharge_num = #{rechargeNum},
  39. first_recharge = #{firstRecharge},
  40. WHERE id = #{id}
  41. </update>
  42. <!--根据地区、审核状态、起止时间查询订单表数据-->
  43. <select id="findByMarketAndAuditStatus"
  44. resultType="com.example.demo.domain.entity.UserGoldRecord">
  45. SELECT u.market, ugr.*
  46. FROM user_gold_record ugr
  47. INNER JOIN user u ON ugr.jwcode = u.jwcode
  48. WHERE u.market = #{market}
  49. AND ugr.audit_status IN
  50. <foreach item="status" collection="auditStatusList" open="(" separator="," close=")">
  51. #{status}
  52. </foreach>
  53. AND ugr.pay_time BETWEEN #{startTime} AND #{endTime}
  54. </select>
  55. <!-- 计算该天充值人数-->
  56. <select id="countRechargeNum" resultType="java.lang.Integer">
  57. SELECT COUNT(DISTINCT ugr.jwcode)
  58. FROM user_gold_record ugr
  59. INNER JOIN user u ON ugr.jwcode = u.jwcode
  60. WHERE u.market = #{market}
  61. AND ugr.audit_status = 1
  62. AND ugr.pay_time BETWEEN #{startTime} AND #{endTime}
  63. </select>
  64. <!--计算该天首充人数-->
  65. <select id="countFirstRecharge" resultType="java.lang.Integer">
  66. SELECT COUNT(DISTINCT ugr.jwcode)
  67. FROM user_gold_record ugr
  68. INNER JOIN user u ON ugr.jwcode = u.jwcode
  69. WHERE u.market = #{market}
  70. AND ugr.audit_status = 1
  71. AND ugr.pay_time BETWEEN #{startTime} AND #{endTime}
  72. AND u.first_recharge = #{startTime}
  73. </select>
  74. <select id="selectByMarketAndDate" resultType="com.example.demo.domain.entity.Statistics">
  75. SELECT *
  76. FROM statistics
  77. WHERE market = #{market}
  78. AND current_datetime >= #{startDate}
  79. AND current_datetime &lt;= #{endDate}
  80. LIMIT 1
  81. </select>
  82. <select id="sumCurrentPermanentGold" resultType="java.lang.Integer">
  83. SELECT SUM(u.currentPermanentGold)
  84. FROM user u
  85. WHERE u.market = #{market}
  86. </select>
  87. <select id="sumCurrentFreeJune" resultType="java.lang.Integer">
  88. SELECT SUM(u.currentFreeJune)
  89. FROM user u
  90. WHERE u.market = #{market}
  91. </select>
  92. <select id="sumCurrentFreeDecember" resultType="java.lang.Integer">
  93. SELECT SUM(u.currentFreeDecember)
  94. FROM user u
  95. WHERE u.market = #{market}
  96. </select>
  97. <select id="sumCurrentTaskGold" resultType="java.lang.Integer">
  98. SELECT SUM(u.currentTaskGold)
  99. FROM user u
  100. WHERE u.market = #{market}
  101. </select>
  102. </mapper>