|
|
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); }
|