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.
137 lines
5.7 KiB
137 lines
5.7 KiB
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
|
<mapper namespace="com.example.demo.mapper.WorkBenchMapper">
|
|
<!--起止时间内的该地区充值金币数(永久+免费)若为空则默认0-->
|
|
<select id="sumRecharge" resultType="java.lang.Integer">
|
|
select sum(
|
|
|
|
COALESCE(recharge, 0)
|
|
)
|
|
from statistics
|
|
where market = #{market}
|
|
and current_datetime
|
|
between #{startDate} and #{endDate}
|
|
</select>
|
|
<!--起止时间内的该地区充值金额(永久金币数)-->
|
|
<select id="sumMoney" resultType="java.lang.Integer">
|
|
SELECT SUM(money)
|
|
FROM statistics
|
|
WHERE market = #{market}
|
|
AND current_datetime BETWEEN #{startDate} and #{endDate}
|
|
</select>
|
|
<!-- 起止时间内该地区消费金币数(永久+免费+任务)-->
|
|
<select id="sumConsume" resultType="java.lang.Integer">
|
|
SELECT SUM(
|
|
COALESCE(consume_permanent, 0) +
|
|
COALESCE(consume_free_june, 0) +
|
|
COALESCE(consume_free_december, 0) +
|
|
COALESCE(consume_task, 0)
|
|
)
|
|
FROM statistics
|
|
WHERE market = #{market}
|
|
AND current_datetime BETWEEN
|
|
#{startDate} and #{endDate}
|
|
</select>
|
|
<!--起止时间内的该地区退款金币数(永久+免费+任务)-->
|
|
<select id="sumRefund" resultType="java.lang.Integer">
|
|
SELECT SUM(
|
|
COALESCE(refund_permanent, 0) +
|
|
COALESCE(refund_free_june, 0) +
|
|
COALESCE(refund_free_december, 0) +
|
|
COALESCE(refund_task, 0)
|
|
)
|
|
FROM statistics
|
|
WHERE market = #{market}
|
|
AND current_datetime BETWEEN
|
|
#{startDate} and #{endDate}
|
|
</select>
|
|
<!--起止时间内该地区充值人头数(根据精网号去重,老数据有多人共用一个精网号的问题)-->
|
|
<select id="countRechargeNum" resultType="java.lang.Integer">
|
|
SELECT COUNT(DISTINCT ugr.jwcode)
|
|
FROM user_gold_record ugr
|
|
INNER JOIN user u ON ugr.jwcode = u.jwcode
|
|
WHERE u.market = #{market}
|
|
AND ugr.pay_time BETWEEN
|
|
#{startDate} and #{endDate}
|
|
AND ugr.audit_status IN (1,3)
|
|
and ugr.flag=1
|
|
|
|
</select>
|
|
<!--给定时间范围内的该地区消费永久金币数-->
|
|
<select id="sumCPermanent" resultType="java.lang.Integer">
|
|
SELECT SUM(
|
|
COALESCE(consume_permanent, 0)
|
|
)
|
|
FROM statistics
|
|
WHERE market = #{market}
|
|
AND current_datetime BETWEEN
|
|
#{startDate} and #{endDate}
|
|
</select>
|
|
<!--给定时间范围内的该地区消费免费金币数-->
|
|
<select id="sumCFree" resultType="java.lang.Integer">
|
|
SELECT SUM(
|
|
COALESCE(refund_free_june, 0) +
|
|
COALESCE(refund_free_december, 0)
|
|
)
|
|
FROM statistics
|
|
WHERE market = #{market}
|
|
AND current_datetime BETWEEN
|
|
#{startDate} and #{endDate}
|
|
</select>
|
|
<!--给定时间范围内的该地区消费任务金币数-->
|
|
<select id="sumCTask" resultType="java.lang.Integer">
|
|
SELECT SUM(
|
|
COALESCE(refund_task, 0)
|
|
)
|
|
FROM statistics
|
|
WHERE market = #{market}
|
|
AND current_datetime BETWEEN
|
|
#{startDate} and #{endDate}
|
|
</select>
|
|
<!-- 获取指定地区在时间段内的全部统计数据 -->
|
|
<select id="getFullStatisticsByMarketAndDate" resultType="com.example.demo.domain.vo.WorkbenchFullStatistics">
|
|
SELECT
|
|
SUM(s.recharge) AS totalRecharge,
|
|
SUM(s.money) AS totalMoney,
|
|
SUM(s.consume_permanent) AS totalConsumePermanent,
|
|
SUM(s.consume_free_june + s.consume_free_december) AS totalConsumeFree,
|
|
SUM(s.consume_task) AS totalConsumeTask,
|
|
SUM(s.refund_permanent + s.refund_free_june + s.refund_free_december + s.refund_task) AS totalRefund,
|
|
(
|
|
SELECT COUNT(DISTINCT ugr.jwcode)
|
|
FROM user_gold_record ugr
|
|
INNER JOIN user u ON ugr.jwcode = u.jwcode
|
|
WHERE u.market = #{market}
|
|
AND ugr.pay_time BETWEEN #{startDate} AND #{endDate}
|
|
AND ugr.audit_status IN (1, 3)
|
|
and ugr.flag=1
|
|
) AS totalRechargeNum
|
|
FROM statistics s
|
|
WHERE s.market = #{market}
|
|
AND s.current_datetime BETWEEN #{startDate} AND #{endDate};
|
|
</select>
|
|
<select id="getFullStatisticsByMarketAndDate1"
|
|
resultType="com.example.demo.domain.vo.WorkbenchFullStatistics">
|
|
SELECT
|
|
s.market,
|
|
SUM(s.recharge) AS totalRecharge,
|
|
SUM(s.money) AS totalMoney,
|
|
SUM(s.consume_permanent) AS totalConsumePermanent,
|
|
SUM(s.consume_free_june + s.consume_free_december) AS totalConsumeFree,
|
|
SUM(s.consume_task) AS totalConsumeTask
|
|
FROM statistics s
|
|
WHERE s.market IN
|
|
<foreach item="market" collection="markets" open="(" separator="," close=")">#{market}</foreach>
|
|
AND s.current_datetime BETWEEN #{startDate} AND #{endDate}
|
|
GROUP BY s.market;
|
|
</select>
|
|
<!--获取用户的地区权限列表-->
|
|
<select id="getAdminMarket" resultType="java.lang.String">
|
|
select market from admin
|
|
where account = #{account}
|
|
</select>
|
|
<!--获取全部用户角色-->
|
|
<select id="getMarket" resultType="java.lang.String">
|
|
select DISTINCT market from user
|
|
</select>
|
|
</mapper>
|