diff --git a/src/main/java/com/example/demo/serviceImpl/coin/WorkbenchServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/coin/WorkbenchServiceImpl.java index ef80e2b..877aaba 100644 --- a/src/main/java/com/example/demo/serviceImpl/coin/WorkbenchServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/coin/WorkbenchServiceImpl.java @@ -185,7 +185,7 @@ public class WorkbenchServiceImpl implements WorkbenchService { card.setRechargeNum(currentStatistics.getRechargeNum());//当天充值人数 card.setYdayRechargeNum(ydayStatistics.getRechargeNum()); //昨日充值人数 card.setFirstRecharge(ydayStatistics.getFirstRecharge()); //昨日充值人数中首充的数量 - card.setYearlyRechargeNum(ydayStatistics.getYearlyRechargeNum()); //年累计充值人数-至昨天 + card.setYearlyRechargeNum(currentStatistics.getYearlyRechargeNum()); //年累计充值人数-至今天 // 周环比、日同比 card.setWow(calculateWeekOverWeek(market, currentDate)); card.setDaily(calculateDayOverDay(market, currentDate)); diff --git a/src/main/resources/mapper/StatisticsMapper.xml b/src/main/resources/mapper/StatisticsMapper.xml index 4684785..3c77bc2 100644 --- a/src/main/resources/mapper/StatisticsMapper.xml +++ b/src/main/resources/mapper/StatisticsMapper.xml @@ -182,10 +182,22 @@ COALESCE(SUM(s.money),0) AS yearly_money, COALESCE(SUM(s.consume_permanent+s.consume_free_june+s.consume_free_december+s.consume_task),0) AS yearly_consume, COALESCE(SUM(s.refund_permanent+s.refund_free_june+s.refund_free_december+s.refund_task),0) AS yearly_refund, - COALESCE(SUM(s.recharge_num),0) AS yearly_recharge_num + ( + SELECT COUNT(DISTINCT ugr.jwcode) + FROM user_gold_record ugr + INNER JOIN user u ON ugr.jwcode = u.jwcode + LEFT JOIN market m2 ON u.market = m2.id + WHERE m2.name = m.name + AND ugr.type = 0 + AND ugr.audit_status IN (1,3) + AND ugr.flag = 1 + AND ugr.create_time BETWEEN #{yearStart} AND #{end} + AND u.flag = 1 + ) AS yearly_recharge_num FROM statistics s - left join market m on s.market=m.name - WHERE current_datetime BETWEEN #{yearStart} AND #{end} AND m.name IS NOT NULL + LEFT JOIN market m ON s.market = m.name + WHERE current_datetime BETWEEN #{yearStart} AND #{end} + AND m.name IS NOT NULL GROUP BY market