金币系统后端
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.

242 lines
9.2 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.OneMapper">
<!-- 第一个查询:getOne -->
<select id="getOne" resultType="com.example.demo.domain.work.One">
SELECT
COALESCE((SELECT SUM(recharge_coin + free_coin + task_coin)
FROM detail_y
WHERE DATE(create_time) = CURDATE()
<if test="areas != null">
AND area IN
<foreach collection="areas" item="areas" open="(" separator="," close=")">
#{areas}
</foreach>
</if>), 0) AS differr,
COALESCE((SELECT SUM(free_6 + free_12 + core_jb + buy_jb)
FROM user_gold
left join user on user.jwcode = user_gold.jwcode
<where> <if test="areas != null">
area IN
<foreach collection="areas" item="areas" open="(" separator="," close=")">
#{areas}
</foreach>
</if>
</where>), 0) AS sumgold,
COALESCE((SELECT SUM(buy_jb)
FROM user_gold
left join user on user.jwcode = user_gold.jwcode
<where> <if test="areas != null">
area IN
<foreach collection="areas" item="areas" open="(" separator="," close=")">
#{areas}
</foreach>
</if>
</where>), 0) AS rechargegold,
COALESCE((SELECT SUM(free_6)
FROM user_gold
left join user on user.jwcode = user_gold.jwcode
<where> <if test="areas != null">
area IN
<foreach collection="areas" item="areas" open="(" separator="," close=")">
#{areas}
</foreach>
</if>
</where>), 0) AS sfreegold,
COALESCE((SELECT SUM(free_12)
FROM user_gold
left join user on user.jwcode = user_gold.jwcode
<where> <if test="areas != null">
area IN
<foreach collection="areas" item="areas" open="(" separator="," close=")">
#{areas}
</foreach>
</if>
</where>), 0) AS dfreegold,
COALESCE((SELECT SUM(core_jb)
FROM user_gold
left join user on user.jwcode = user_gold.jwcode
<where> <if test="areas != null">
area IN
<foreach collection="areas" item="areas" open="(" separator="," close=")">
#{areas}
</foreach>
</if>
</where>), 0) AS taskgold,
COALESCE((SELECT SUM(free_6) + SUM(free_12)
FROM user_gold
left join user on user.jwcode = user_gold.jwcode
<where> <if test="areas != null">
area IN
<foreach collection="areas" item="areas" open="(" separator="," close=")">
#{areas}
</foreach>
</if>
</where>), 0) AS freegold;
</select>
<!-- 第二个查询:getTwo -->
<select id="getTwo" resultType="com.example.demo.domain.work.Two">
SELECT
COALESCE((SELECT SUM(recharge_coin + free_coin + task_coin)
FROM detail_y
WHERE YEAR(create_time) = YEAR(CURDATE())
AND update_type = 0
<if test="areas != null">
AND area IN
<foreach collection="areas" item="areas" open="(" separator="," close=")">
#{areas}
</foreach>
</if>), 0) AS totalgold,
COALESCE((SELECT SUM(recharge_coin)
FROM detail_y
WHERE YEAR(create_time) = YEAR(CURDATE())
AND update_type = 0
<if test="areas != null">
AND area IN
<foreach collection="areas" item="areas" open="(" separator="," close=")">
#{areas}
</foreach>
</if>), 0) AS totalcoin,
COALESCE((SELECT SUM(recharge_coin + free_coin + task_coin)
FROM detail_y
WHERE DATE(create_time) = DATE_SUB(CURDATE(), INTERVAL 1 DAY)
AND update_type = 0
<if test="areas != null">
AND area IN
<foreach collection="areas" item="areas" open="(" separator="," close=")">
#{areas}
</foreach>
</if>), 0) AS yesterdaytotal,
COALESCE((SELECT SUM(recharge_coin)
FROM detail_y
WHERE DATE(create_time) = DATE_SUB(CURDATE(), INTERVAL 1 DAY)
AND update_type = 0
<if test="areas != null">
AND area IN
<foreach collection="areas" item="areas" open="(" separator="," close=")">
#{areas}
</foreach>
</if>), 0) AS yesterdayrecharge,
COALESCE((SELECT SUM(recharge_coin)
FROM detail_y
WHERE YEAR(create_time) = YEAR(CURDATE())
AND update_type = 0
<if test="areas != null">
AND area IN
<foreach collection="areas" item="areas" open="(" separator="," close=")">
#{areas}
</foreach>
</if>), 0) AS rechargegold,
COALESCE((SELECT SUM(free_coin)
FROM detail_y
WHERE YEAR(create_time) = YEAR(CURDATE())
AND update_type = 0
<if test="areas != null">
AND area IN
<foreach collection="areas" item="areas" open="(" separator="," close=")">
#{areas}
</foreach>
</if>), 0) AS freegold,
COALESCE((SELECT SUM(task_coin)
FROM detail_y
WHERE YEAR(create_time) = YEAR(CURDATE())
AND update_type = 0
<if test="areas != null">
AND area IN
<foreach collection="areas" item="areas" open="(" separator="," close=")">
#{areas}
</foreach>
</if>), 0) AS taskgold
</select>
<!-- 第三个查询:getThree -->
<select id="getThree" resultType="com.example.demo.domain.work.Three">
SELECT
COALESCE((SELECT SUM(recharge_coin + free_coin + task_coin)
FROM detail_y
WHERE YEAR(create_time) = YEAR(CURDATE())
AND update_type = 1
<if test="areas != null">
AND area IN
<foreach collection="areas" item="areas" open="(" separator="," close=")">
#{areas}
</foreach>
</if>), 0) AS consumeGold,
COALESCE((SELECT SUM(recharge_coin + free_coin + task_coin)
FROM detail_y
WHERE YEAR(create_time) = YEAR(CURDATE())
AND update_type = 2
<if test="areas != null">
AND area IN
<foreach collection="areas" item="areas" open="(" separator="," close=")">
#{areas}
</foreach>
</if>), 0) AS refundcoin,
COALESCE((SELECT SUM(recharge_coin + free_coin + task_coin)
FROM detail_y
WHERE DATE(create_time) = DATE_SUB(CURDATE(), INTERVAL 1 DAY)
AND update_type = 1
<if test="areas != null">
AND area IN
<foreach collection="areas" item="areas" open="(" separator="," close=")">
#{areas}
</foreach>
</if>), 0) AS yesterdayGold,
COALESCE((SELECT SUM(recharge_coin)
FROM detail_y
WHERE DATE(create_time) = DATE_SUB(CURDATE(), INTERVAL 1 DAY)
AND update_type = 2
<if test="areas != null">
AND area IN
<foreach collection="areas" item="areas" open="(" separator="," close=")">
#{areas}
</foreach>
</if>), 0) AS yesterdayrefund,
COALESCE((SELECT SUM(recharge_coin)
FROM detail_y
WHERE YEAR(create_time) = YEAR(CURDATE())
AND update_type = 1
<if test="areas != null">
AND area IN
<foreach collection="areas" item="areas" open="(" separator="," close=")">
#{areas}
</foreach>
</if>), 0) AS rechargegold,
COALESCE((SELECT SUM(task_coin)
FROM detail_y
WHERE YEAR(create_time) = YEAR(CURDATE())
AND update_type = 1
<if test="areas != null">
AND area IN
<foreach collection="areas" item="areas" open="(" separator="," close=")">
#{areas}
</foreach>
</if>), 0) AS taskgold,
COALESCE((SELECT SUM(free_coin)
FROM detail_y
WHERE YEAR(create_time) = YEAR(CURDATE())
AND update_type = 1
<if test="areas != null">
AND area IN
<foreach collection="areas" item="areas" open="(" separator="," close=")">
#{areas}
</foreach>
</if>), 0) AS freegold
</select>
</mapper>