|
@ -2,11 +2,14 @@ package com.example.demo.mapper; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import com.example.demo.domain.vo.Meium; |
|
|
import com.example.demo.domain.vo.Statistics; |
|
|
import com.example.demo.domain.vo.Statistics; |
|
|
import com.example.demo.domain.vo.SumCoin; |
|
|
import com.example.demo.domain.vo.SumCoin; |
|
|
import org.apache.ibatis.annotations.Mapper; |
|
|
import org.apache.ibatis.annotations.Mapper; |
|
|
|
|
|
import org.apache.ibatis.annotations.Param; |
|
|
import org.apache.ibatis.annotations.Select; |
|
|
import org.apache.ibatis.annotations.Select; |
|
|
|
|
|
|
|
|
|
|
|
import java.util.Date; |
|
|
import java.util.List; |
|
|
import java.util.List; |
|
|
|
|
|
|
|
|
@Mapper |
|
|
@Mapper |
|
@ -200,16 +203,6 @@ public interface StatisticsMapper { |
|
|
}) |
|
|
}) |
|
|
List<SumCoin> getMediuPayCoin(); |
|
|
List<SumCoin> getMediuPayCoin(); |
|
|
|
|
|
|
|
|
// @Select({"SELECT DATE_FORMAT(create_time, '%Y-%m') AS month," , |
|
|
|
|
|
// " SUM(recharge_coin) AS rechargeSumCoin," , |
|
|
|
|
|
// " SUM(free_coin) AS freeSumCoin,", |
|
|
|
|
|
// " SUM(task_coin) AS taskSumCoin" , |
|
|
|
|
|
// "FROM `detail`" , |
|
|
|
|
|
// "WHERE create_time BETWEEN DATE_SUB(CURDATE(), INTERVAL 10 MONTH) AND CURDATE() AND update_type='消费'" , |
|
|
|
|
|
// "GROUP BY DATE_FORMAT(create_time, '%Y-%m')" , |
|
|
|
|
|
// "ORDER BY DATE_FORMAT(create_time, '%Y-%m') DESC "}) |
|
|
|
|
|
// List<SumCoin> getMediuConsumeCoin(); |
|
|
|
|
|
|
|
|
|
|
|
@Select({ |
|
|
@Select({ |
|
|
"SELECT m.month,", |
|
|
"SELECT m.month,", |
|
|
" COALESCE(SUM(d.recharge_coin), 0) AS rechargeSumCoin,", |
|
|
" COALESCE(SUM(d.recharge_coin), 0) AS rechargeSumCoin,", |
|
@ -239,7 +232,7 @@ public interface StatisticsMapper { |
|
|
SumCoin getMess(Integer jwcode); |
|
|
SumCoin getMess(Integer jwcode); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Select({"SELECT ad.area," , |
|
|
|
|
|
|
|
|
@Select({"SELECT ad.area,ad.store," , |
|
|
" SUM(d.recharge_coin) AS totalRecharge," , |
|
|
" SUM(d.recharge_coin) AS totalRecharge," , |
|
|
" SUM(d.free_coin) AS totalFree," , |
|
|
" SUM(d.free_coin) AS totalFree," , |
|
|
" SUM(d.task_coin) AS totalTask," , |
|
|
" SUM(d.task_coin) AS totalTask," , |
|
@ -248,15 +241,15 @@ public interface StatisticsMapper { |
|
|
"INNER JOIN activity a ON d.activity_id = a.activity_id" , |
|
|
"INNER JOIN activity a ON d.activity_id = a.activity_id" , |
|
|
"INNER JOIN admin ad ON a.admin_id = ad.admin_id" , |
|
|
"INNER JOIN admin ad ON a.admin_id = ad.admin_id" , |
|
|
"where d.update_type='充值'", |
|
|
"where d.update_type='充值'", |
|
|
"GROUP BY ad.area" , |
|
|
|
|
|
"ORDER BY ad.area ASC " |
|
|
|
|
|
|
|
|
"GROUP BY ad.store" , |
|
|
|
|
|
"ORDER BY ad.store ASC " |
|
|
}) |
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
List<SumCoin> getMediumAreaPay(); |
|
|
List<SumCoin> getMediumAreaPay(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Select({"SELECT ad.area," , |
|
|
|
|
|
|
|
|
@Select({"SELECT ad.area,ad.store," , |
|
|
" SUM(d.recharge_coin) AS totalRecharge," , |
|
|
" SUM(d.recharge_coin) AS totalRecharge," , |
|
|
" SUM(d.free_coin) AS totalFree," , |
|
|
" SUM(d.free_coin) AS totalFree," , |
|
|
" SUM(d.task_coin) AS totalTask," , |
|
|
" SUM(d.task_coin) AS totalTask," , |
|
@ -264,9 +257,218 @@ public interface StatisticsMapper { |
|
|
"FROM detail d" , |
|
|
"FROM detail d" , |
|
|
"INNER JOIN admin ad ON ad.admin_id = d.admin_id", |
|
|
"INNER JOIN admin ad ON ad.admin_id = d.admin_id", |
|
|
"WHERE d.update_type = '消费'", |
|
|
"WHERE d.update_type = '消费'", |
|
|
"GROUP BY ad.area", |
|
|
|
|
|
"ORDER BY ad.area ASC" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"GROUP BY ad.store", |
|
|
|
|
|
"ORDER BY ad.store ASC" |
|
|
}) |
|
|
}) |
|
|
List<SumCoin> getMediumAreaConsume(); |
|
|
List<SumCoin> getMediumAreaConsume(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Select({ |
|
|
|
|
|
"SELECT m.month,", |
|
|
|
|
|
" COALESCE(SUM(CASE WHEN d.update_type = '充值' THEN d.recharge_coin ELSE 0 END), 0) AS rechargeSumCoin,", |
|
|
|
|
|
" COALESCE(SUM(CASE WHEN d.update_type = '充值' THEN d.free_coin ELSE 0 END), 0) AS freeSumCoin,", |
|
|
|
|
|
" COALESCE(SUM(CASE WHEN d.update_type = '充值' THEN d.task_coin ELSE 0 END), 0) AS taskSumCoin", |
|
|
|
|
|
"FROM (", |
|
|
|
|
|
" SELECT DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL n MONTH), '%Y-%m') AS month", |
|
|
|
|
|
" FROM (", |
|
|
|
|
|
" SELECT 0 AS n UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3", |
|
|
|
|
|
" UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7", |
|
|
|
|
|
" UNION ALL SELECT 8 UNION ALL SELECT 9 UNION ALL SELECT 10", |
|
|
|
|
|
" ) AS numbers", |
|
|
|
|
|
") AS m", |
|
|
|
|
|
"LEFT JOIN detail d ON DATE_FORMAT(d.create_time, '%Y-%m') = m.month", |
|
|
|
|
|
"<if test='searchStartTime != null and searchEndTime != null'>", |
|
|
|
|
|
"and detail.create_time between #{searchStartTime} and #{searchEndTime}", |
|
|
|
|
|
"</if>", |
|
|
|
|
|
"GROUP BY m.month", |
|
|
|
|
|
"ORDER BY m.month DESC" |
|
|
|
|
|
}) |
|
|
|
|
|
List<SumCoin> getMediu(); |
|
|
|
|
|
|
|
|
|
|
|
@Select({ |
|
|
|
|
|
"SELECT m.month,", |
|
|
|
|
|
" COALESCE(SUM(CASE WHEN d.update_type = '消费' THEN d.recharge_coin ELSE 0 END), 0) AS xrechargeSumCoin,", |
|
|
|
|
|
" COALESCE(SUM(CASE WHEN d.update_type = '消费' THEN d.free_coin ELSE 0 END), 0) AS xfreeSumCoin,", |
|
|
|
|
|
" COALESCE(SUM(CASE WHEN d.update_type = '消费' THEN d.task_coin ELSE 0 END), 0) AS xtaskSumCoin", |
|
|
|
|
|
"FROM (", |
|
|
|
|
|
" SELECT DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL n MONTH), '%Y-%m') AS month", |
|
|
|
|
|
" FROM (", |
|
|
|
|
|
" SELECT 0 AS n UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3", |
|
|
|
|
|
" UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7", |
|
|
|
|
|
" UNION ALL SELECT 8 UNION ALL SELECT 9 UNION ALL SELECT 10", |
|
|
|
|
|
" ) AS numbers", |
|
|
|
|
|
") AS m", |
|
|
|
|
|
"LEFT JOIN detail d ON DATE_FORMAT(d.create_time, '%Y-%m') = m.month", |
|
|
|
|
|
"<if test='searchStartTime != null and searchEndTime != null'>", |
|
|
|
|
|
"and detail.create_time between #{searchStartTime} and #{searchEndTime}", |
|
|
|
|
|
"</if>", |
|
|
|
|
|
"GROUP BY m.month", |
|
|
|
|
|
"ORDER BY m.month DESC" |
|
|
|
|
|
}) |
|
|
|
|
|
List<SumCoin> getMediu2(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Select({ |
|
|
|
|
|
"<script>", |
|
|
|
|
|
"SELECT ad.area,", |
|
|
|
|
|
" ad.store,", |
|
|
|
|
|
" SUM(CASE WHEN d.update_type = '充值' THEN d.recharge_coin ELSE 0 END) AS rechargeSumCoin,", |
|
|
|
|
|
" SUM(CASE WHEN d.update_type = '充值' THEN d.free_coin ELSE 0 END) AS freeSumCoin,", |
|
|
|
|
|
" SUM(CASE WHEN d.update_type = '充值' THEN d.task_coin ELSE 0 END) AS taskSumCoin,", |
|
|
|
|
|
" (SUM(CASE WHEN d.update_type = '充值' THEN d.recharge_coin ELSE 0 END) +", |
|
|
|
|
|
" SUM(CASE WHEN d.update_type = '充值' THEN d.free_coin ELSE 0 END) +", |
|
|
|
|
|
" SUM(CASE WHEN d.update_type = '充值' THEN d.task_coin ELSE 0 END)) AS totalRechargeSum", |
|
|
|
|
|
"FROM detail d", |
|
|
|
|
|
"right JOIN admin ad ON ad.admin_id = d.admin_id", |
|
|
|
|
|
"<if test='searchStartTime != null and searchEndTime != null'>", |
|
|
|
|
|
"and detail.create_time between #{searchStartTime} and #{searchEndTime}", |
|
|
|
|
|
"</if>", |
|
|
|
|
|
"GROUP BY ad.area, ad.store", |
|
|
|
|
|
"order by freeSumCoin desc", |
|
|
|
|
|
"</script>" |
|
|
|
|
|
}) |
|
|
|
|
|
List<SumCoin> getBuyAndFree( Meium meium); |
|
|
|
|
|
@Select({ |
|
|
|
|
|
"<script>", |
|
|
|
|
|
"SELECT ad.area,", |
|
|
|
|
|
" ad.store,", |
|
|
|
|
|
" SUM(CASE WHEN d.update_type = '充值' THEN d.recharge_coin ELSE 0 END) AS rechargeSumCoin,", |
|
|
|
|
|
" SUM(CASE WHEN d.update_type = '充值' THEN d.free_coin ELSE 0 END) AS freeSumCoin,", |
|
|
|
|
|
" SUM(CASE WHEN d.update_type = '充值' THEN d.task_coin ELSE 0 END) AS taskSumCoin,", |
|
|
|
|
|
" (SUM(CASE WHEN d.update_type = '充值' THEN d.recharge_coin ELSE 0 END) +", |
|
|
|
|
|
" SUM(CASE WHEN d.update_type = '充值' THEN d.free_coin ELSE 0 END) +", |
|
|
|
|
|
" SUM(CASE WHEN d.update_type = '充值' THEN d.task_coin ELSE 0 END)) AS totalRechargeSum", |
|
|
|
|
|
"FROM detail d", |
|
|
|
|
|
"right JOIN admin ad ON ad.admin_id = d.admin_id", |
|
|
|
|
|
"<if test='searchStartTime != null and searchEndTime != null'>", |
|
|
|
|
|
"and detail.create_time between #{searchStartTime} and #{searchEndTime}", |
|
|
|
|
|
"</if>", |
|
|
|
|
|
"GROUP BY ad.area, ad.store", |
|
|
|
|
|
"order by rechargeSumCoin desc", |
|
|
|
|
|
"</script>" |
|
|
|
|
|
}) |
|
|
|
|
|
List<SumCoin> getBuyAndRecharge( Meium meium); |
|
|
|
|
|
@Select({ |
|
|
|
|
|
"<script>", |
|
|
|
|
|
"SELECT ad.area,", |
|
|
|
|
|
" ad.store,", |
|
|
|
|
|
" SUM(CASE WHEN d.update_type = '充值' THEN d.recharge_coin ELSE 0 END) AS rechargeSumCoin,", |
|
|
|
|
|
" SUM(CASE WHEN d.update_type = '充值' THEN d.free_coin ELSE 0 END) AS freeSumCoin,", |
|
|
|
|
|
" SUM(CASE WHEN d.update_type = '充值' THEN d.task_coin ELSE 0 END) AS taskSumCoin,", |
|
|
|
|
|
" (SUM(CASE WHEN d.update_type = '充值' THEN d.recharge_coin ELSE 0 END) +", |
|
|
|
|
|
" SUM(CASE WHEN d.update_type = '充值' THEN d.free_coin ELSE 0 END) +", |
|
|
|
|
|
" SUM(CASE WHEN d.update_type = '充值' THEN d.task_coin ELSE 0 END)) AS totalRechargeSum", |
|
|
|
|
|
"FROM detail d", |
|
|
|
|
|
"right JOIN admin ad ON ad.admin_id = d.admin_id", |
|
|
|
|
|
"<if test='searchStartTime != null and searchEndTime != null'>", |
|
|
|
|
|
"and detail.create_time between #{searchStartTime} and #{searchEndTime}", |
|
|
|
|
|
"</if>", |
|
|
|
|
|
"GROUP BY ad.area, ad.store", |
|
|
|
|
|
"order by taskSumCoin desc", |
|
|
|
|
|
"</script>" |
|
|
|
|
|
}) |
|
|
|
|
|
List<SumCoin> getBuyAndTask( Meium meium); |
|
|
|
|
|
@Select({ |
|
|
|
|
|
"<script>", |
|
|
|
|
|
"SELECT ad.area,", |
|
|
|
|
|
" ad.store,", |
|
|
|
|
|
" SUM(CASE WHEN d.update_type = '充值' THEN d.recharge_coin ELSE 0 END) AS rechargeSumCoin,", |
|
|
|
|
|
" SUM(CASE WHEN d.update_type = '充值' THEN d.free_coin ELSE 0 END) AS freeSumCoin,", |
|
|
|
|
|
" SUM(CASE WHEN d.update_type = '充值' THEN d.task_coin ELSE 0 END) AS taskSumCoin,", |
|
|
|
|
|
" (SUM(CASE WHEN d.update_type = '充值' THEN d.recharge_coin ELSE 0 END) +", |
|
|
|
|
|
" SUM(CASE WHEN d.update_type = '充值' THEN d.free_coin ELSE 0 END) +", |
|
|
|
|
|
" SUM(CASE WHEN d.update_type = '充值' THEN d.task_coin ELSE 0 END)) AS totalRechargeSum", |
|
|
|
|
|
"FROM detail d", |
|
|
|
|
|
"right JOIN admin ad ON ad.admin_id = d.admin_id", |
|
|
|
|
|
"<if test='searchStartTime != null and searchEndTime != null'>", |
|
|
|
|
|
"and detail.create_time between #{searchStartTime} and #{searchEndTime}", |
|
|
|
|
|
"</if>", |
|
|
|
|
|
"GROUP BY ad.area, ad.store", |
|
|
|
|
|
"order by totalRechargeSum desc", |
|
|
|
|
|
"</script>" |
|
|
|
|
|
}) |
|
|
|
|
|
List<SumCoin> getBuy( Meium meium); |
|
|
|
|
|
@Select({ |
|
|
|
|
|
"<script>", |
|
|
|
|
|
"SELECT ad.area,", |
|
|
|
|
|
" ad.store,", |
|
|
|
|
|
" SUM(CASE WHEN d.update_type = '消费' THEN d.recharge_coin ELSE 0 END) AS rechargeSumCoin,", |
|
|
|
|
|
" SUM(CASE WHEN d.update_type = '消费' THEN d.free_coin ELSE 0 END) AS freeSumCoin,", |
|
|
|
|
|
" SUM(CASE WHEN d.update_type = '消费' THEN d.task_coin ELSE 0 END) AS taskSumCoin,", |
|
|
|
|
|
" (SUM(CASE WHEN d.update_type = '消费' THEN d.recharge_coin ELSE 0 END) +", |
|
|
|
|
|
" SUM(CASE WHEN d.update_type = '消费' THEN d.free_coin ELSE 0 END) +", |
|
|
|
|
|
" SUM(CASE WHEN d.update_type = '消费' THEN d.task_coin ELSE 0 END)) AS totalRechargeSum", |
|
|
|
|
|
"FROM detail d", |
|
|
|
|
|
"right JOIN admin ad ON ad.admin_id = d.admin_id", |
|
|
|
|
|
"<if test='searchStartTime != null and searchEndTime != null'>", |
|
|
|
|
|
"and detail.create_time between #{searchStartTime} and #{searchEndTime}", |
|
|
|
|
|
"</if>", |
|
|
|
|
|
"GROUP BY ad.area, ad.store", |
|
|
|
|
|
"order by freeSumCoin asc", |
|
|
|
|
|
"</script>" |
|
|
|
|
|
}) |
|
|
|
|
|
List<SumCoin> getPayAndFree( Meium meium); |
|
|
|
|
|
@Select({ |
|
|
|
|
|
"<script>", |
|
|
|
|
|
"SELECT ad.area,", |
|
|
|
|
|
" ad.store,", |
|
|
|
|
|
" SUM(CASE WHEN d.update_type = '消费' THEN d.recharge_coin ELSE 0 END) AS rechargeSumCoin,", |
|
|
|
|
|
" SUM(CASE WHEN d.update_type = '消费' THEN d.free_coin ELSE 0 END) AS freeSumCoin,", |
|
|
|
|
|
" SUM(CASE WHEN d.update_type = '消费' THEN d.task_coin ELSE 0 END) AS taskSumCoin,", |
|
|
|
|
|
" (SUM(CASE WHEN d.update_type = '消费' THEN d.recharge_coin ELSE 0 END) +", |
|
|
|
|
|
" SUM(CASE WHEN d.update_type = '消费' THEN d.free_coin ELSE 0 END) +", |
|
|
|
|
|
" SUM(CASE WHEN d.update_type = '消费' THEN d.task_coin ELSE 0 END)) AS totalRechargeSum", |
|
|
|
|
|
"FROM detail d", |
|
|
|
|
|
"right JOIN admin ad ON ad.admin_id = d.admin_id", |
|
|
|
|
|
"<if test='searchStartTime != null and searchEndTime != null'>", |
|
|
|
|
|
"and detail.create_time between #{searchStartTime} and #{searchEndTime}", |
|
|
|
|
|
"</if>", |
|
|
|
|
|
"GROUP BY ad.area, ad.store", |
|
|
|
|
|
"order by rechargeSumCoin asc", |
|
|
|
|
|
"</script>" |
|
|
|
|
|
}) |
|
|
|
|
|
List<SumCoin> getPayAndRecharge( Meium meium); |
|
|
|
|
|
@Select({ |
|
|
|
|
|
"<script>", |
|
|
|
|
|
"SELECT ad.area,", |
|
|
|
|
|
" ad.store,", |
|
|
|
|
|
" SUM(CASE WHEN d.update_type = '消费' THEN d.recharge_coin ELSE 0 END) AS rechargeSumCoin,", |
|
|
|
|
|
" SUM(CASE WHEN d.update_type = '消费' THEN d.free_coin ELSE 0 END) AS freeSumCoin,", |
|
|
|
|
|
" SUM(CASE WHEN d.update_type = '消费' THEN d.task_coin ELSE 0 END) AS taskSumCoin,", |
|
|
|
|
|
" (SUM(CASE WHEN d.update_type = '消费' THEN d.recharge_coin ELSE 0 END) +", |
|
|
|
|
|
" SUM(CASE WHEN d.update_type = '消费' THEN d.free_coin ELSE 0 END) +", |
|
|
|
|
|
" SUM(CASE WHEN d.update_type = '消费' THEN d.task_coin ELSE 0 END)) AS totalRechargeSum", |
|
|
|
|
|
"FROM detail d", |
|
|
|
|
|
"right JOIN admin ad ON ad.admin_id = d.admin_id", |
|
|
|
|
|
"<if test='searchStartTime != null and searchEndTime != null'>", |
|
|
|
|
|
"and detail.create_time between #{searchStartTime} and #{searchEndTime}", |
|
|
|
|
|
"</if>", |
|
|
|
|
|
"GROUP BY ad.area, ad.store", |
|
|
|
|
|
"order by taskSumCoin asc", |
|
|
|
|
|
"</script>" |
|
|
|
|
|
}) |
|
|
|
|
|
List<SumCoin> getPayAndTask( Meium meium); |
|
|
|
|
|
@Select({ |
|
|
|
|
|
"<script>", |
|
|
|
|
|
"SELECT ad.area,", |
|
|
|
|
|
" ad.store,", |
|
|
|
|
|
" SUM(CASE WHEN d.update_type = '消费' THEN d.recharge_coin ELSE 0 END) AS rechargeSumCoin,", |
|
|
|
|
|
" SUM(CASE WHEN d.update_type = '消费' THEN d.free_coin ELSE 0 END) AS freeSumCoin,", |
|
|
|
|
|
" SUM(CASE WHEN d.update_type = '消费' THEN d.task_coin ELSE 0 END) AS taskSumCoin,", |
|
|
|
|
|
" (SUM(CASE WHEN d.update_type = '消费' THEN d.recharge_coin ELSE 0 END) +", |
|
|
|
|
|
" SUM(CASE WHEN d.update_type = '消费' THEN d.free_coin ELSE 0 END) +", |
|
|
|
|
|
" SUM(CASE WHEN d.update_type = '消费' THEN d.task_coin ELSE 0 END)) AS totalRechargeSum", |
|
|
|
|
|
"FROM detail d", |
|
|
|
|
|
"right JOIN admin ad ON ad.admin_id = d.admin_id", |
|
|
|
|
|
"<if test='searchStartTime != null and searchEndTime != null'>", |
|
|
|
|
|
"and detail.create_time between #{searchStartTime} and #{searchEndTime}", |
|
|
|
|
|
"</if>", |
|
|
|
|
|
"GROUP BY ad.area, ad.store", |
|
|
|
|
|
"order by totalRechargeSum asc", |
|
|
|
|
|
"</script>" |
|
|
|
|
|
}) |
|
|
|
|
|
List<SumCoin> getPay( Meium meium); |
|
|
} |
|
|
} |