|
|
@ -9,7 +9,7 @@ |
|
|
current_permanent, current_free_june, |
|
|
current_permanent, current_free_june, |
|
|
current_free_december, current_task |
|
|
current_free_december, current_task |
|
|
) VALUES |
|
|
) VALUES |
|
|
<foreach collection="list" item="s" separator=";"> |
|
|
|
|
|
|
|
|
<foreach collection="list" item="s" separator=","> |
|
|
( |
|
|
( |
|
|
#{s.market}, #{s.currentDatetime}, |
|
|
#{s.market}, #{s.currentDatetime}, |
|
|
#{s.currentGold}, #{s.dailyChange}, |
|
|
#{s.currentGold}, #{s.dailyChange}, |
|
|
@ -35,7 +35,7 @@ |
|
|
refund_free_december, refund_task, |
|
|
refund_free_december, refund_task, |
|
|
recharge_num, first_recharge |
|
|
recharge_num, first_recharge |
|
|
) VALUES |
|
|
) VALUES |
|
|
<foreach collection="list" item="s" separator=";"> |
|
|
|
|
|
|
|
|
<foreach collection="list" item="s" separator=","> |
|
|
( |
|
|
( |
|
|
#{s.market}, #{s.currentDatetime}, |
|
|
#{s.market}, #{s.currentDatetime}, |
|
|
#{s.recharge}, #{s.money}, |
|
|
#{s.recharge}, #{s.money}, |
|
|
@ -69,7 +69,7 @@ |
|
|
yearly_refund, |
|
|
yearly_refund, |
|
|
yearly_recharge_num |
|
|
yearly_recharge_num |
|
|
) VALUES |
|
|
) VALUES |
|
|
<foreach collection="list" item="s" separator=";"> |
|
|
|
|
|
|
|
|
<foreach collection="list" item="s" separator=","> |
|
|
( |
|
|
( |
|
|
#{s.market}, #{s.currentDatetime}, |
|
|
#{s.market}, #{s.currentDatetime}, |
|
|
#{s.yearlyRecharge}, |
|
|
#{s.yearlyRecharge}, |
|
|
@ -137,7 +137,7 @@ |
|
|
<select id="listPart2All" resultType="com.example.demo.domain.entity.Statistics"> |
|
|
<select id="listPart2All" resultType="com.example.demo.domain.entity.Statistics"> |
|
|
SELECT |
|
|
SELECT |
|
|
m.name as market, |
|
|
m.name as market, |
|
|
'2025-08-04' AS current_datetime, |
|
|
|
|
|
|
|
|
#{today} AS current_datetime, |
|
|
COALESCE(SUM(CASE WHEN ugr.type=0 THEN ugr.permanent_gold+ugr.free_june+ugr.free_december+ugr.task_gold END),0) AS recharge, |
|
|
COALESCE(SUM(CASE WHEN ugr.type=0 THEN ugr.permanent_gold+ugr.free_june+ugr.free_december+ugr.task_gold END),0) AS recharge, |
|
|
COALESCE(SUM(CASE WHEN ugr.type=0 THEN ugr.permanent_gold END),0) AS money, |
|
|
COALESCE(SUM(CASE WHEN ugr.type=0 THEN ugr.permanent_gold END),0) AS money, |
|
|
COALESCE(SUM(CASE WHEN ugr.type=1 THEN -ugr.permanent_gold END),0) AS consume_permanent, |
|
|
COALESCE(SUM(CASE WHEN ugr.type=1 THEN -ugr.permanent_gold END),0) AS consume_permanent, |
|
|
@ -176,40 +176,41 @@ |
|
|
</select> |
|
|
</select> |
|
|
<select id="listPart2RangeAll" resultType="com.example.demo.domain.entity.Statistics"> |
|
|
<select id="listPart2RangeAll" resultType="com.example.demo.domain.entity.Statistics"> |
|
|
SELECT |
|
|
SELECT |
|
|
m.name as market, |
|
|
|
|
|
DATE(ugr.create_time) AS current_datetime, -- 只保留日期 |
|
|
|
|
|
COALESCE(SUM(CASE WHEN ugr.type=0 THEN ugr.permanent_gold+ugr.free_june+ugr.free_december+ugr.task_gold END),0) AS recharge, |
|
|
|
|
|
COALESCE(SUM(CASE WHEN ugr.type=0 THEN ugr.permanent_gold END),0) AS money, |
|
|
|
|
|
COALESCE(SUM(CASE WHEN ugr.type=1 THEN -ugr.permanent_gold END),0) AS consume_permanent, |
|
|
|
|
|
COALESCE(SUM(CASE WHEN ugr.type=1 THEN -ugr.free_june END),0) AS consume_free_june, |
|
|
|
|
|
COALESCE(SUM(CASE WHEN ugr.type=1 THEN -ugr.free_december END),0) AS consume_free_december, |
|
|
|
|
|
COALESCE(SUM(CASE WHEN ugr.type=1 THEN -ugr.task_gold END),0) AS consume_task, |
|
|
|
|
|
COALESCE(SUM(CASE WHEN ugr.type=2 THEN ugr.permanent_gold END),0) AS refund_permanent, |
|
|
|
|
|
COALESCE(SUM(CASE WHEN ugr.type=2 THEN ugr.free_june END),0) AS refund_free_june, |
|
|
|
|
|
COALESCE(SUM(CASE WHEN ugr.type=2 THEN ugr.free_december END),0) AS refund_free_december, |
|
|
|
|
|
COALESCE(SUM(CASE WHEN ugr.type=2 THEN ugr.task_gold END),0) AS refund_task, |
|
|
|
|
|
COUNT(DISTINCT CASE WHEN ugr.type=0 THEN ugr.jwcode END) AS recharge_num, |
|
|
|
|
|
COUNT(DISTINCT CASE WHEN ugr.type=0 |
|
|
|
|
|
AND u.first_recharge BETWEEN d.date_start AND d.date_end THEN ugr.jwcode END) AS first_recharge |
|
|
|
|
|
|
|
|
m.name as market, |
|
|
|
|
|
DATE(ugr.create_time) AS current_datetime, -- 只保留日期 |
|
|
|
|
|
COALESCE(SUM(CASE WHEN ugr.type=0 THEN ugr.permanent_gold+ugr.free_june+ugr.free_december+ugr.task_gold END),0) |
|
|
|
|
|
AS recharge, |
|
|
|
|
|
COALESCE(SUM(CASE WHEN ugr.type=0 THEN ugr.permanent_gold END),0) AS money, |
|
|
|
|
|
COALESCE(SUM(CASE WHEN ugr.type=1 THEN -ugr.permanent_gold END),0) AS consume_permanent, |
|
|
|
|
|
COALESCE(SUM(CASE WHEN ugr.type=1 THEN -ugr.free_june END),0) AS consume_free_june, |
|
|
|
|
|
COALESCE(SUM(CASE WHEN ugr.type=1 THEN -ugr.free_december END),0) AS consume_free_december, |
|
|
|
|
|
COALESCE(SUM(CASE WHEN ugr.type=1 THEN -ugr.task_gold END),0) AS consume_task, |
|
|
|
|
|
COALESCE(SUM(CASE WHEN ugr.type=2 THEN ugr.permanent_gold END),0) AS refund_permanent, |
|
|
|
|
|
COALESCE(SUM(CASE WHEN ugr.type=2 THEN ugr.free_june END),0) AS refund_free_june, |
|
|
|
|
|
COALESCE(SUM(CASE WHEN ugr.type=2 THEN ugr.free_december END),0) AS refund_free_december, |
|
|
|
|
|
COALESCE(SUM(CASE WHEN ugr.type=2 THEN ugr.task_gold END),0) AS refund_task, |
|
|
|
|
|
COUNT(DISTINCT CASE WHEN ugr.type=0 THEN ugr.jwcode END) AS recharge_num, |
|
|
|
|
|
COUNT(DISTINCT CASE WHEN ugr.type=0 |
|
|
|
|
|
AND u.first_recharge BETWEEN d.date_start AND d.date_end THEN ugr.jwcode END) AS first_recharge |
|
|
FROM |
|
|
FROM |
|
|
-- 生成 7 天日期序列 |
|
|
|
|
|
( |
|
|
|
|
|
SELECT DATE_SUB(CURDATE(), INTERVAL seq DAY) AS create_date, |
|
|
|
|
|
DATE_SUB(CURDATE(), INTERVAL seq DAY) AS date_start, |
|
|
|
|
|
TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL seq DAY), '23:59:59') AS date_end |
|
|
|
|
|
FROM ( |
|
|
|
|
|
SELECT 0 AS seq UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL |
|
|
|
|
|
SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 |
|
|
|
|
|
) AS days |
|
|
|
|
|
) d |
|
|
|
|
|
JOIN user_gold_record ugr |
|
|
|
|
|
ON ugr.create_time between d.date_start AND d.date_end |
|
|
|
|
|
JOIN user u ON ugr.jwcode = u.jwcode |
|
|
|
|
|
inner join market m on u.market=m.id |
|
|
|
|
|
|
|
|
-- 生成 7 天日期序列 |
|
|
|
|
|
( |
|
|
|
|
|
SELECT DATE_SUB(CURDATE(), INTERVAL seq DAY) AS create_date, |
|
|
|
|
|
DATE_SUB(CURDATE(), INTERVAL seq DAY) AS date_start, |
|
|
|
|
|
TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL seq DAY), '23:59:59') AS date_end |
|
|
|
|
|
FROM ( |
|
|
|
|
|
SELECT 0 AS seq UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL |
|
|
|
|
|
SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 |
|
|
|
|
|
) AS days |
|
|
|
|
|
) d |
|
|
|
|
|
JOIN user_gold_record ugr ON ugr.create_time >= DATE_SUB(CURDATE(), INTERVAL 6 DAY) |
|
|
|
|
|
AND ugr.create_time <= TIMESTAMP(CURDATE(), '23:59:59') |
|
|
|
|
|
JOIN user u ON ugr.jwcode = u.jwcode |
|
|
|
|
|
inner join market m on u.market=m.id |
|
|
WHERE ugr.audit_status IN (1,3) |
|
|
WHERE ugr.audit_status IN (1,3) |
|
|
AND ugr.flag = 1 |
|
|
|
|
|
AND m.name IS NOT NULL |
|
|
|
|
|
GROUP BY m.name, d.create_date |
|
|
|
|
|
|
|
|
AND ugr.flag = 1 |
|
|
|
|
|
AND m.name IS NOT NULL |
|
|
|
|
|
GROUP BY m.name, d.create_date |
|
|
</select> |
|
|
</select> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|