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.
542 lines
28 KiB
542 lines
28 KiB
|
|
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.SumCoin;
|
|
import org.apache.ibatis.annotations.Mapper;
|
|
import org.apache.ibatis.annotations.Param;
|
|
import org.apache.ibatis.annotations.Select;
|
|
|
|
import java.time.LocalDate;
|
|
import java.time.LocalDateTime;
|
|
import java.util.Date;
|
|
import java.util.List;
|
|
|
|
@Mapper
|
|
public interface StatisticsMapper {
|
|
|
|
List<Meium> getMeium(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime);
|
|
//全年累计金币数
|
|
@Select("SELECT SUM(recharge_coin) / 100 AS rechargeSumCoin, " +
|
|
" SUM(free_coin) / 100 AS freeSumCoin, " +
|
|
" SUM(task_coin) / 100 AS taskSumCoin, " +
|
|
" (SUM(recharge_coin) + SUM(free_coin) + SUM(task_coin))/ 100 AS totalSumCoin " +
|
|
"FROM `detail_y` " +
|
|
"WHERE update_type = '0' " +
|
|
" AND create_time >= CONCAT(YEAR(CURDATE()), '-01-01') " +
|
|
" AND create_time < NOW()")
|
|
Statistics getTotalYearCoin();
|
|
//免费金币分类
|
|
@Select("SELECT SUM(free_6) / 100 AS free6SumCoin,SUM(free_12) / 100 AS free12SumCoin From user_gold")
|
|
Statistics getFreeCoinTotal();
|
|
//昨日新增
|
|
@Select("SELECT SUM(recharge_coin) / 100 AS rechargeYesterdaySumCoin, " +
|
|
" SUM(free_coin) / 100 AS freeYesterdaySumCoin, " +
|
|
" SUM(task_coin) / 100 AS taskYesterdaySumCoin, " +
|
|
" (SUM(recharge_coin) + SUM(free_coin) + SUM(task_coin))/ 100 AS totalYesterdaySumCoin " +
|
|
"FROM `detail_y` " +
|
|
"WHERE update_type = '0' " +
|
|
" AND create_time >= CURDATE() - INTERVAL 1 DAY " +
|
|
" AND create_time < CURDATE()")
|
|
Statistics getYesterdayNewCoin();
|
|
|
|
//全年累计0人数
|
|
@Select("SELECT COUNT(DISTINCT jwcode) AS rechargeCount " +
|
|
"FROM `detail_y` " +
|
|
"WHERE update_type = '0' " +
|
|
" AND create_time >= CONCAT(YEAR(CURDATE()), '-01-01')" +
|
|
" AND create_time < NOW()")
|
|
int getYearRechargeCount();
|
|
|
|
//这周0数量
|
|
@Select("SELECT COUNT(DISTINCT jwcode) AS rechargeCountThisWeek " +
|
|
"FROM `detail_y` WHERE update_type = '0' AND YEARWEEK(create_time, 1) = YEARWEEK(CURDATE(), 1)")
|
|
int getRechargeCountThisWeek();
|
|
|
|
//上周0数量
|
|
@Select("SELECT COUNT(DISTINCT jwcode) AS rechargeCountLastWeek " +
|
|
"FROM `detail_y` WHERE update_type = '0' AND YEARWEEK(create_time, 1) = YEARWEEK(CURDATE() - INTERVAL 1 WEEK, 1)")
|
|
int getRechargeCountLastWeek();
|
|
|
|
//今天的0数量
|
|
@Select("SELECT COUNT(DISTINCT jwcode) AS rechargeCountToday " +
|
|
"FROM `detail_y` WHERE update_type = '0' AND create_time >= CURDATE()")
|
|
int getRechargeCountToday();
|
|
|
|
//昨天的0数量
|
|
@Select("SELECT COUNT(DISTINCT jwcode) AS rechargeCountYesterday " +
|
|
"FROM `detail_y` WHERE update_type = '0' AND create_time >=CURDATE() - INTERVAL 1 DAY AND create_time < CURDATE();")
|
|
int getRechargeCountYesterday();
|
|
|
|
//昨日新增首充
|
|
@Select("SELECT COUNT(DISTINCT jwcode) AS firstRechargeCountYesterday "+
|
|
"FROM `detail_y` WHERE update_type = '0' AND create_time >=CURDATE() - INTERVAL 1 DAY AND create_time < CURDATE() AND first_recharge = 1")
|
|
int getFirstRechargeCountYesterday();
|
|
|
|
//金币系统1
|
|
@Select("SELECT p.subjects AS subject, " +
|
|
" d.consume_platform,"+
|
|
" SUM(d.recharge_coin) / 100 AS rechargeCoinSystemSum, " +
|
|
" SUM(d.free_coin) / 100 AS freeCoinSystemSum, " +
|
|
" SUM(d.task_coin) / 100 AS taskCoinSystemSum, " +
|
|
" (SUM(d.recharge_coin) + SUM(d.free_coin) + SUM(d.task_coin))/ 100 AS totalCoinSystemSum " +
|
|
"FROM detail_y d " +
|
|
"JOIN product p ON d.product_id = p.product_id " +
|
|
"WHERE d.update_type = '1' AND " +
|
|
" d.consume_platform = '金币系统' " +
|
|
"GROUP BY p.subjects ")
|
|
List<Statistics> getCoinSystemSum();
|
|
|
|
//ERP1
|
|
@Select("SELECT p.subjects AS subject, " +
|
|
" d.consume_platform,"+
|
|
" SUM(d.recharge_coin) / 100 AS rechargeERPSum, " +
|
|
" SUM(d.free_coin) / 100 AS freeERPSum, " +
|
|
" SUM(d.task_coin) / 100 AS taskERPSum, " +
|
|
" (SUM(d.recharge_coin) + SUM(d.free_coin) + SUM(d.task_coin))/ 100 AS totalERPSum " +
|
|
"FROM detail_y d " +
|
|
"JOIN product p ON d.product_id = p.product_id " +
|
|
"WHERE d.update_type = '1' AND " +
|
|
" d.consume_platform = 'ERP系统' " +
|
|
"GROUP BY p.subjects ")
|
|
List<Statistics> getERPSum();
|
|
// //HomilyChart1
|
|
@Select("SELECT p.subjects AS subject, " +
|
|
" d.consume_platform,"+
|
|
" SUM(d.recharge_coin) / 100 AS rechargeHomilyChartSum, " +
|
|
" SUM(d.free_coin) / 100 AS freeHomilyChartSum, " +
|
|
" SUM(d.task_coin) / 100 AS taskHomilyChartSum, " +
|
|
" (SUM(d.recharge_coin) + SUM(d.free_coin) + SUM(d.task_coin)) / 100 AS totalHomilyChartSum " +
|
|
"FROM detail_y d " +
|
|
"JOIN product p ON d.product_id = p.product_id " +
|
|
"WHERE d.update_type = '1' AND " +
|
|
" d.consume_platform = 'HomilyChart' " +
|
|
"GROUP BY p.subjects ")
|
|
List<Statistics> getHomilyChartSum();
|
|
|
|
// //HomilyLink1
|
|
@Select("SELECT p.subjects AS subject, " +
|
|
" d.consume_platform,"+
|
|
" SUM(d.recharge_coin) / 100 AS rechargeHomilyLinkSum, " +
|
|
" SUM(d.free_coin) / 100 AS freeHomilyLinkSum, " +
|
|
" SUM(d.task_coin) / 100 AS taskHomilyLinkSum, " +
|
|
" (SUM(d.recharge_coin) + SUM(d.free_coin) + SUM(d.task_coin) / 100) AS totalHomilyLinkSum " +
|
|
"FROM detail_y d " +
|
|
"JOIN product p ON d.product_id = p.product_id " +
|
|
"WHERE d.update_type = '1' AND " +
|
|
" d.consume_platform = 'HomilyChart' " +
|
|
"GROUP BY p.subjects ")
|
|
List<Statistics> getHomilyLinkSum();
|
|
//--------------------------------------------------------------------------------------------//
|
|
|
|
@Select({"SELECT today.rechargeSumCoin / 100 AS todayRecharge," ,
|
|
"yesterday.rechargeSumCoin / 100 AS yesterdayRecharge," ,
|
|
"today.freeSumCoin / 100 AS todayFree,",
|
|
"yesterday.freeSumCoin / 100 AS yesterdayFree," ,
|
|
"today.taskSumCoin / 100 AS todayTask," ,
|
|
"yesterday.taskSumCoin / 100 AS HsterdayTask," ,
|
|
"(today.rechargeSumCoin + today.freeSumCoin + today.taskSumCoin) / 100 AS todayTotalCoin," ,
|
|
"(yesterday.rechargeSumCoin + yesterday.freeSumCoin + yesterday.taskSumCoin) / 100 AS yesterdayTotalCoin," ,
|
|
"((today.rechargeSumCoin + today.freeSumCoin + today.taskSumCoin) -(yesterday.rechargeSumCoin + yesterday.freeSumCoin + yesterday.taskSumCoin)) / 100 AS coinDifference" ,
|
|
"FROM (SELECT SUM(recharge_coin) AS rechargeSumCoin, SUM(free_coin) AS freeSumCoin, SUM(task_coin) AS taskSumCoin FROM detail_y WHERE create_time <= CURRENT_TIMESTAMP) AS today" ,
|
|
"JOIN ( SELECT SUM(recharge_coin) AS rechargeSumCoin,SUM(free_coin) AS freeSumCoin, SUM(task_coin) AS taskSumCoin FROM detail_y WHERE DATE(create_time) <= CURDATE() - INTERVAL 1 DAY) AS yesterday"})
|
|
SumCoin getSumCoin();
|
|
|
|
|
|
|
|
|
|
|
|
@Select({"SELECT SUM(CASE WHEN update_type = '1' THEN recharge_coin ELSE 0 END) / 100 AS yearRecharge," ,
|
|
"SUM(CASE WHEN update_type = '1' THEN free_coin ELSE 0 END) / 100 AS yearFree," +
|
|
" SUM(CASE WHEN update_type = '1' THEN task_coin ELSE 0 END) / 100 AS yearTask," +
|
|
" SUM(CASE WHEN update_type = '1' THEN recharge_coin + free_coin + task_coin ELSE 0 END) / 100 AS yearConsumeCoin,",
|
|
" SUM(CASE WHEN update_type = '2' THEN recharge_coin ELSE 0 END) / 100 AS totalRechargeRefund," ,
|
|
" SUM(CASE WHEN update_type = '2' THEN free_coin ELSE 0 END) / 100 AS totalFreeRefund," ,
|
|
" SUM(CASE WHEN update_type = '2' THEN task_coin ELSE 0 END) / 100 AS totalTaskRefund," ,
|
|
" SUM(CASE WHEN update_type = '2' THEN recharge_coin + free_coin + task_coin ELSE 0 END) / 100 AS yearRefundCoin," ,
|
|
" SUM(CASE WHEN update_type = '1' THEN recharge_coin + free_coin + task_coin ELSE 0 END) / 100+SUM(CASE WHEN update_type = '2' THEN recharge_coin + free_coin + task_coin ELSE 0 END) / 100 AS yearsumCoin,",
|
|
" SUM(CASE WHEN update_type IN ('1', '2') THEN recharge_coin ELSE 0 END) / 100 AS yearSumRechargeCoin,",
|
|
" SUM(CASE WHEN update_type IN ('1', '2') THEN free_coin ELSE 0 END) / 100 AS yearSumFreeCoin,",
|
|
" SUM(CASE WHEN update_type IN ('1', '2') THEN task_coin ELSE 0 END) / 100 AS yearSumTaskCoin",
|
|
"FROM detail_y WHERE YEAR(create_time) = YEAR(CURRENT_DATE)" ,
|
|
" AND create_time <= NOW()"})
|
|
SumCoin getYearConsumeCoin();
|
|
|
|
@Select({
|
|
"SELECT IFNULL(SUM(CASE WHEN update_type = '1' THEN recharge_coin ELSE 0 END) / 100, 0) AS todayRecharge,",
|
|
" IFNULL(SUM(CASE WHEN update_type = '1' THEN free_coin ELSE 0 END) / 100, 0) AS todayFree,",
|
|
" IFNULL(SUM(CASE WHEN update_type = '1' THEN task_coin ELSE 0 END) / 100, 0) AS todayTask,",
|
|
" IFNULL(SUM(CASE WHEN update_type = '1' THEN recharge_coin + free_coin + task_coin ELSE 0 END) / 100, 0) AS dayConsumeCoin,",
|
|
" IFNULL(SUM(CASE WHEN update_type = '2' THEN recharge_coin ELSE 0 END) / 100, 0) AS total_recharge_refund,",
|
|
" IFNULL(SUM(CASE WHEN update_type = '2' THEN free_coin ELSE 0 END) / 100, 0) AS total_free_refund,",
|
|
" IFNULL(SUM(CASE WHEN update_type = '2' THEN task_coin ELSE 0 END) / 100, 0) AS total_task_refund,",
|
|
" IFNULL(SUM(CASE WHEN update_type = '2' THEN recharge_coin + free_coin + task_coin ELSE 0 END) / 100, 0) AS dayRefundCoin,",
|
|
" IFNULL(SUM(CASE WHEN update_type = '1' THEN recharge_coin + free_coin + task_coin ELSE 0 END) / 100, 0) +",
|
|
" IFNULL(SUM(CASE WHEN update_type = '2' THEN recharge_coin + free_coin + task_coin ELSE 0 END) / 100, 0) AS daysumCoin",
|
|
"FROM `detail_y` WHERE DATE(create_time) = CURDATE() - INTERVAL 1 DAY"
|
|
})
|
|
SumCoin getDayConsumeCoin();
|
|
|
|
// @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_y`" ,
|
|
// "WHERE create_time BETWEEN DATE_SUB(CURDATE(), INTERVAL 10 MONTH) AND CURDATE() AND update_type='0'" ,
|
|
// "GROUP BY DATE_FORMAT(create_time, '%Y-%m')" ,
|
|
// "ORDER BY DATE_FORMAT(create_time, '%Y-%m') DESC "})
|
|
// List<SumCoin> getMediuPayCoin();
|
|
|
|
|
|
// 本年 ---0
|
|
// @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_y where datediff(create_time,#{searchStartTime})>=0 " +
|
|
// "and datediff(create_time,#{searchEndTime})<=0 and update_type = '0'" +
|
|
// "GROUP BY month ORDER BY month asc"
|
|
// })
|
|
|
|
|
|
@Select({
|
|
"<script>",
|
|
"SELECT DATE_FORMAT(create_time, '%Y-%m') AS month," ,
|
|
" SUM(recharge_coin) / 100 AS rechargeSumCoin," ,
|
|
" SUM(free_coin) / 100 AS freeSumCoin," ,
|
|
" SUM(task_coin) / 100 AS taskSumCoin" ,
|
|
" FROM detail_y" ,
|
|
" WHERE update_type = '0'" ,
|
|
"<if test='searchStartTime != null and searchEndTime != null'>",
|
|
" AND create_time BETWEEN #{searchStartTime} AND #{searchEndTime}",
|
|
"</if>",
|
|
"GROUP BY month ORDER BY month ASC",
|
|
"</script>"
|
|
})
|
|
|
|
List<SumCoin> getMediuPayCoin(@Param("searchStartTime") Date StartTime, @Param("searchEndTime") Date searchEndTime);
|
|
|
|
|
|
//本年--1
|
|
// @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_y where datediff(create_time,#{searchStartTime})>=0 " +
|
|
// "and datediff(create_time,#{searchEndTime})<=0 and update_type = '1'" +
|
|
// "GROUP BY month ORDER BY month asc"
|
|
// })
|
|
@Select({
|
|
"<script>",
|
|
"SELECT DATE_FORMAT(create_time, '%Y-%m') AS month,",
|
|
" SUM(recharge_coin) / 100 AS rechargeSumCoin,",
|
|
" SUM(free_coin) / 100 AS freeSumCoin,",
|
|
" SUM(task_coin) / 100 AS taskSumCoin",
|
|
"FROM detail_y",
|
|
"WHERE update_type = '1'",
|
|
"<if test='searchStartTime != null and searchEndTime != null'>",
|
|
" AND create_time BETWEEN #{searchStartTime} AND #{searchEndTime}",
|
|
"</if>",//之前没有加动态SQL,如果前端传递空数据库会查不到
|
|
"GROUP BY month",
|
|
"ORDER BY month ASC",
|
|
"</script>"
|
|
})
|
|
|
|
List<SumCoin> getMediuConsumeCoin(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime);
|
|
// 本月 ---0
|
|
|
|
@Select({"select DATE_FORMAT(create_time,'%Y-%m-%d') as day,sum(recharge_coin) / 100 AS rechargeSumCoin,sum(free_coin) / 100 as freeSumCoin ,sum(task_coin) / 100 as taskSumCoin " +
|
|
"from detail_y where datediff(create_time,#{searchStartTime})>=0 " +
|
|
"and datediff(create_time,#{searchEndTime})<=0 and update_type = 0 group by DATE_FORMAT(create_time,'%m-%d')"
|
|
})
|
|
List<SumCoin> getMediuPayCoinyue(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime);
|
|
|
|
|
|
@Select({"select DATE_FORMAT(create_time,'%Y-%m-%d') as day,sum(recharge_coin) / 100 AS rechargeSumCoin,sum(free_coin) / 100 as freeSumCoin ,sum(task_coin) / 100 as taskSumCoin " +
|
|
"from detail_y where datediff(create_time,#{searchStartTime})>=0 " +
|
|
"and datediff(create_time,#{searchEndTime})<=0 and update_type = 1 group by DATE_FORMAT(create_time,'%m-%d')"
|
|
})
|
|
|
|
List<SumCoin> getMediuCounsumeCoinyue(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime);
|
|
|
|
|
|
|
|
@Select({"SELECT DATE_FORMAT(create_time, '%Y-%m-%d') AS day,",
|
|
"IFNULL(SUM(recharge_coin) / 100, 0) AS rechargeSumCoin,",
|
|
"IFNULL(SUM(free_coin) / 100, 0) AS freeSumCoin,",
|
|
"IFNULL(SUM(task_coin) / 100, 0) AS taskSumCoin",
|
|
"FROM detail_y",
|
|
"WHERE DATE(create_time) = #{searchEndTime}",
|
|
"AND update_type = #{updateType}",
|
|
"GROUP BY DATE_FORMAT(create_time, '%Y-%m-%d')"
|
|
})
|
|
List<SumCoin> getMediuPayCoinday(@Param("searchEndTime") Date searchEndTime, @Param("updateType") Integer updateType);
|
|
|
|
|
|
@Select({"select DATE_FORMAT(create_time,'%Y-%m-%d') as day,sum(recharge_coin) AS rechargeSumCoin,sum(free_coin) as freeSumCoin ,sum(task_coin) as taskSumCoin " +
|
|
"from detail_y where create_time=#{searchStartTime} and update_type = 1 group by DATE_FORMAT(create_time,'%m-%d')"
|
|
})
|
|
List<SumCoin> getMediuConsumeCoinday1(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime);
|
|
|
|
@Select({
|
|
"SELECT DATE_FORMAT(create_time, '%Y-%m-%d') AS day,",
|
|
"IFNULL(SUM(recharge_coin) / 100, 0) AS rechargeSumCoin,",
|
|
"IFNULL(SUM(free_coin) / 100, 0) AS freeSumCoin,",
|
|
"IFNULL(SUM(task_coin) / 100, 0) AS taskSumCoin",
|
|
"FROM detail_y",
|
|
"WHERE DATE(create_time) = #{searchEndTime}",
|
|
"AND update_type = #{updateType}",
|
|
"GROUP BY DATE_FORMAT(create_time, '%Y-%m-%d')"
|
|
})
|
|
List<SumCoin> getMediuConsumeCoinday(@Param("searchEndTime") Date searchEndTime, @Param("updateType") Integer updateType);
|
|
|
|
|
|
//给定时间段--10
|
|
@Select({"select DATE_FORMAT(create_time,'%Y-%m-%d') as day,sum(recharge_coin) / 100 AS rechargeSumCoin,sum(free_coin) / 100 as freeSumCoin ,sum(task_coin) / 100 as taskSumCoin " +
|
|
"from detail_y where recharge_coin>0 and datediff(create_time,#{searchStartTime})>=0 " +
|
|
"and datediff(create_time,#{searchEndTime})<=0 and update_type = '0' group by DATE_FORMAT(create_time,'%m-%d')"
|
|
})
|
|
List<SumCoin> getMediuPayCoin1(SumCoin sumCoin);
|
|
|
|
@Select({
|
|
"SELECT m.day,",
|
|
" COALESCE(SUM(CASE WHEN d.update_type = '1' THEN d.recharge_coin ELSE 0 END) / 100, 0) AS rechargeSumCoin,",
|
|
" COALESCE(SUM(CASE WHEN d.update_type = '1' THEN d.free_coin ELSE 0 END) / 100, 0) AS freeSumCoin,",
|
|
" COALESCE(SUM(CASE WHEN d.update_type = '1' THEN d.task_coin ELSE 0 END) / 100, 0) AS taskSumCoin",
|
|
"FROM (",
|
|
" SELECT DATE_ADD(#{searchStartTime}, INTERVAL n DAY) AS day",
|
|
" FROM (",
|
|
" SELECT a.N + b.N * 10 AS n",
|
|
" 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) a,",
|
|
" (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) b",
|
|
" ) numbers",
|
|
" WHERE DATE_ADD(#{searchStartTime}, INTERVAL n DAY) <= #{searchEndTime}",
|
|
") m",
|
|
"LEFT JOIN detail_y d ON DATE(d.create_time) = m.day AND d.update_type = '1'",
|
|
"GROUP BY m.day",
|
|
"ORDER BY m.day"
|
|
})
|
|
List<SumCoin> getMediuConsumeCoin2(SumCoin sumCoin);
|
|
|
|
|
|
|
|
|
|
|
|
@Select({"SELECT today.jwcode," ,
|
|
"today.rechargeSumCoin / 100 AS todayRecharge," ,
|
|
"today.freeSumCoin / 100 AS todayFree,",
|
|
"today.taskSumCoin / 100 AS todayTask," ,
|
|
"(today.rechargeSumCoin + today.freeSumCoin + today.taskSumCoin) / 100 AS todayTotalCoin" ,
|
|
"FROM (SELECT jwcode, SUM(recharge_coin) AS rechargeSumCoin, SUM(free_coin) AS freeSumCoin, SUM(task_coin) AS taskSumCoin FROM detail_y WHERE create_time <= CURRENT_TIMESTAMP) AS today" ,
|
|
"where jwcode=#{jwcode}"})
|
|
SumCoin getMess(Integer jwcode);
|
|
|
|
|
|
@Select({"SELECT u.area " ,
|
|
" SUM(d.recharge_coin) / 100 AS totalRecharge," ,
|
|
" SUM(d.free_coin) / 100 AS totalFree," ,
|
|
" SUM(d.task_coin) / 100 AS totalTask," ,
|
|
" (SUM(d.recharge_coin) + SUM(d.free_coin) + SUM(d.task_coin) / 100) AS todayTotalCoin" ,
|
|
"FROM detail_y d" ,
|
|
"INNER JOIN activity a ON d.activity_id = a.activity_id" ,
|
|
"INNER JOIN user u ON a.user_id = u.user_id" ,
|
|
"where d.update_type='0'",
|
|
"GROUP BY u.area" ,
|
|
"ORDER BY u.area ASC "
|
|
})
|
|
|
|
|
|
List<SumCoin> getMediumAreaPay();
|
|
|
|
|
|
@Select({"SELECT u.area, " ,
|
|
" SUM(d.recharge_coin) / 100 AS totalRecharge," ,
|
|
" SUM(d.free_coin) / 100 AS totalFree," ,
|
|
" SUM(d.task_coin) / 100 AS totalTask," ,
|
|
" (SUM(d.recharge_coin) + SUM(d.free_coin) + SUM(d.task_coin) / 100) AS todayTotalCoin" ,
|
|
"FROM detail_y d" ,
|
|
"INNER JOIN user u ON u.jwcode = d.jwcode",
|
|
"WHERE d.update_type = '1'",
|
|
|
|
"GROUP BY u.area",
|
|
"ORDER BY u.area ASC"
|
|
})
|
|
List<SumCoin> getMediumAreaConsume();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Select({
|
|
"SELECT m.week,",
|
|
" COALESCE(SUM(CASE WHEN d.update_type = '1' THEN d.recharge_coin ELSE 0 END) / 100 0) AS xrechargeSumCoin,",
|
|
" COALESCE(SUM(CASE WHEN d.update_type = '1' THEN d.free_coin ELSE 0 END) / 100, 0) AS xfreeSumCoin,",
|
|
" COALESCE(SUM(CASE WHEN d.update_type = '1' THEN d.task_coin ELSE 0 END) / 100, 0) AS xtaskSumCoin",
|
|
"FROM (",
|
|
" SELECT DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL n WEEK), '%Y-%u') AS week",
|
|
" 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",
|
|
" ) AS numbers",
|
|
") AS m",
|
|
"LEFT JOIN detail_y d ON DATE_FORMAT(d.create_time, '%Y-%u') = m.week",
|
|
"<if test='searchStartTime != null and searchEndTime != null'>",
|
|
"AND d.create_time BETWEEN #{searchStartTime} AND #{searchEndTime}",
|
|
"</if>",
|
|
"GROUP BY m.week",
|
|
"ORDER BY m.week DESC"
|
|
})
|
|
List<SumCoin> getMediu2();
|
|
|
|
|
|
@Select({
|
|
"<script>",
|
|
"SELECT u.area,",
|
|
" SUM(d.recharge_coin) / 100 AS rechargeSumCoin,",
|
|
" SUM(d.free_coin) / 100 AS freeSumCoin,",
|
|
" SUM(d.task_coin) / 100 AS taskSumCoin,",
|
|
" (SUM(d.recharge_coin) +SUM(d.free_coin) +SUM(d.update_type = '0')) / 100 AS totalRechargeSum",
|
|
"FROM detail_y d",
|
|
"left JOIN user u ON u.jwcode = d.jwcode",
|
|
"WHERE update_type = 0 ",
|
|
"<if test='searchStartTime != null and searchEndTime != null'>",
|
|
"AND DATE(d.create_time) BETWEEN DATE(#{searchStartTime}) AND DATE(#{searchEndTime})",
|
|
"</if>",
|
|
"GROUP BY u.area",
|
|
"order by freeSumCoin desc",
|
|
"</script>"
|
|
})
|
|
List<Meium> getBuyAndFree(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime);
|
|
@Select({
|
|
"<script>",
|
|
"SELECT u.area,",
|
|
" SUM(d.recharge_coin) / 100 AS rechargeSumCoin,",
|
|
" SUM(d.free_coin) / 100 AS freeSumCoin,",
|
|
" SUM(d.task_coin) / 100 AS taskSumCoin,",
|
|
" (SUM(d.recharge_coin) +SUM(d.free_coin) +SUM(d.task_coin)) / 100 AS totalRechargeSum",
|
|
"FROM detail_y d",
|
|
"left JOIN user u ON u.jwcode = d.jwcode",
|
|
"WHERE update_type = 0 ",
|
|
"<if test='searchStartTime != null and searchEndTime != null'>",
|
|
"AND DATE(d.create_time) BETWEEN DATE(#{searchStartTime}) AND DATE(#{searchEndTime})",
|
|
"</if>",
|
|
"GROUP BY u.area",
|
|
"order by rechargeSumCoin desc",
|
|
"</script>"
|
|
})
|
|
List<Meium> getBuyAndRecharge(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime);
|
|
@Select({
|
|
"<script>",
|
|
"SELECT u.area,",
|
|
" SUM(d.recharge_coin) / 100 AS rechargeSumCoin,",
|
|
" SUM(d.free_coin) / 100 AS freeSumCoin,",
|
|
" SUM(d.task_coin) / 100 AS taskSumCoin,",
|
|
" (SUM(d.recharge_coin) +SUM(d.free_coin) +SUM(d.task_coin)) / 100 AS totalRechargeSum",
|
|
"FROM detail_y d",
|
|
"left JOIN user u ON u.jwcode = d.jwcode",
|
|
"WHERE update_type = 0 ",
|
|
"<if test='searchStartTime != null and searchEndTime != null'>",
|
|
"AND DATE(d.create_time) BETWEEN DATE(#{searchStartTime}) AND DATE(#{searchEndTime})",
|
|
"</if>",
|
|
"GROUP BY u.area",
|
|
"order by taskSumCoin desc",
|
|
"</script>"
|
|
})
|
|
List<Meium> getBuyAndTask(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime);
|
|
@Select({
|
|
"<script>",
|
|
"SELECT d.area,",
|
|
" SUM(d.recharge_coin) / 100 AS rechargeSumCoin,",
|
|
" SUM(d.free_coin) / 100 AS freeSumCoin,",
|
|
" SUM(d.task_coin) / 100 AS taskSumCoin,",
|
|
" (SUM(d.recharge_coin) +SUM(d.free_coin) +SUM(d.task_coin)) / 100 AS totalRechargeSum",
|
|
"FROM detail_y d",
|
|
"left JOIN user u ON u.jwcode = d.jwcode ",
|
|
"WHERE update_type = 0 ",
|
|
"<if test='searchStartTime != null and searchEndTime != null'>",
|
|
"AND DATE(d.create_time) BETWEEN DATE(#{searchStartTime}) AND DATE(#{searchEndTime})",
|
|
"</if>",
|
|
"GROUP BY d.area",
|
|
"order by totalRechargeSum desc",
|
|
"</script>"
|
|
})
|
|
List<Meium> getBuy(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime);
|
|
@Select({
|
|
"<script>",
|
|
"SELECT u.area,",
|
|
" SUM(d.recharge_coin) / 100 AS rechargeSumCoin,",
|
|
" SUM(d.free_coin) / 100 AS freeSumCoin,",
|
|
" SUM(d.task_coin) / 100 AS taskSumCoin,",
|
|
" (SUM(d.recharge_coin) + SUM(d.free_coin) +SUM(d.task_coin)) / 100 AS totalRechargeSum",
|
|
"FROM detail_y d",
|
|
"left JOIN user u ON u.jwcode = d.jwcode",
|
|
"WHERE update_type = 1 ",
|
|
"<if test='searchStartTime != null and searchEndTime != null'>",
|
|
"AND DATE(d.create_time) BETWEEN DATE(#{searchStartTime}) AND DATE(#{searchEndTime})",
|
|
"</if>",
|
|
"GROUP BY u.area",
|
|
"order by freeSumCoin asc",
|
|
"</script>"
|
|
})
|
|
List<Meium> getPayAndFree(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime);
|
|
@Select({
|
|
"<script>",
|
|
"SELECT u.area,",
|
|
" SUM(d.recharge_coin) / 100 AS rechargeSumCoin,",
|
|
" SUM(d.free_coin) / 100 AS freeSumCoin,",
|
|
" SUM(d.task_coin) / 100 AS taskSumCoin,",
|
|
" (SUM(d.recharge_coin) + SUM(d.free_coin) +SUM(d.task_coin)) / 100 AS totalRechargeSum",
|
|
"FROM detail_y d",
|
|
"left JOIN user u ON u.jwcode = d.jwcode and u.name=d.username",
|
|
"WHERE update_type = 1 ",
|
|
"<if test='searchStartTime != null and searchEndTime != null'>",
|
|
"AND DATE(d.create_time) BETWEEN DATE(#{searchStartTime}) AND DATE(#{searchEndTime})",
|
|
"</if>",
|
|
"GROUP BY u.area",
|
|
"order by rechargeSumCoin asc",
|
|
"</script>"
|
|
})
|
|
List<Meium> getPayAndRecharge(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime);
|
|
@Select({
|
|
"<script>",
|
|
"SELECT u.area,",
|
|
" SUM(d.recharge_coin) / 100 AS rechargeSumCoin,",
|
|
" SUM(d.free_coin) / 100 AS freeSumCoin,",
|
|
" SUM(d.task_coin) / 100 AS taskSumCoin,",
|
|
" (SUM(d.recharge_coin) + SUM(d.free_coin) +SUM(d.task_coin)) / 100 AS totalRechargeSum",
|
|
"FROM detail_y d",
|
|
"left JOIN user u ON u.jwcode = d.jwcode",
|
|
"WHERE update_type = 1 ",
|
|
"<if test='searchStartTime != null and searchEndTime != null'>",
|
|
"AND DATE(d.create_time) BETWEEN DATE(#{searchStartTime}) AND DATE(#{searchEndTime})",
|
|
"</if>",
|
|
"GROUP BY u.area",
|
|
"order by taskSumCoin asc",
|
|
"</script>"
|
|
})
|
|
List<Meium> getPayAndTask(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime);
|
|
@Select({
|
|
"<script>",
|
|
"SELECT u.area,",
|
|
" SUM(d.recharge_coin) / 100 AS rechargeSumCoin,",
|
|
" SUM(d.free_coin) / 100 AS freeSumCoin,",
|
|
" SUM(d.task_coin) / 100 AS taskSumCoin,",
|
|
" (SUM(d.recharge_coin) + SUM(d.free_coin) + SUM(d.task_coin)) / 100 AS totalRechargeSum",
|
|
"FROM detail_y d",
|
|
"LEFT JOIN user u ON u.jwcode = d.jwcode",
|
|
"WHERE update_type = 1",
|
|
"<choose>",
|
|
"<when test='searchStartTime != null and searchEndTime != null'>",
|
|
"AND DATE(d.create_time) BETWEEN DATE(#{searchStartTime}) AND DATE(#{searchEndTime})",
|
|
"</when>",
|
|
"<otherwise>",
|
|
"</otherwise>",
|
|
"</choose>",
|
|
"GROUP BY u.area",
|
|
"ORDER BY totalRechargeSum ASC",
|
|
"</script>"
|
|
})
|
|
List<Meium> getPay(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime);
|
|
}
|
|
|
|
|