Browse Source

lly_12.13_1

detached
lv123 5 months ago
parent
commit
aa7c506816
  1. 24
      src/main/java/com/example/demo/domain/vo/Meium.java
  2. 234
      src/main/java/com/example/demo/mapper/StatisticsMapper.java

24
src/main/java/com/example/demo/domain/vo/Meium.java

@ -0,0 +1,24 @@
package com.example.demo.domain.vo;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
import java.util.Date;
@Data
@NoArgsConstructor
public class Meium {
//中间-11个月 每月充值金币
private BigDecimal rechargeSumCoin;
//中间-11个月 每月免费金币
private BigDecimal freeSumCoin;
//中间-11个月 每月任务金币
private BigDecimal taskSumCoin;
private BigDecimal totalRechargeSum;
private Date searchStartTime;
private Date searchEndTime;
private String updateType;
private String type;
}

234
src/main/java/com/example/demo/mapper/StatisticsMapper.java

@ -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.SumCoin;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.Date;
import java.util.List;
@Mapper
@ -200,16 +203,6 @@ public interface StatisticsMapper {
})
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 m.month,",
" COALESCE(SUM(d.recharge_coin), 0) AS rechargeSumCoin,",
@ -239,7 +232,7 @@ public interface StatisticsMapper {
SumCoin getMess(Integer jwcode);
@Select({"SELECT ad.area," ,
@Select({"SELECT ad.area,ad.store," ,
" SUM(d.recharge_coin) AS totalRecharge," ,
" SUM(d.free_coin) AS totalFree," ,
" 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 admin ad ON a.admin_id = ad.admin_id" ,
"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();
@Select({"SELECT ad.area," ,
@Select({"SELECT ad.area,ad.store," ,
" SUM(d.recharge_coin) AS totalRecharge," ,
" SUM(d.free_coin) AS totalFree," ,
" SUM(d.task_coin) AS totalTask," ,
@ -264,9 +257,218 @@ public interface StatisticsMapper {
"FROM detail d" ,
"INNER JOIN admin ad ON ad.admin_id = d.admin_id",
"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();
@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);
}
Loading…
Cancel
Save