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.
120 lines
5.3 KiB
120 lines
5.3 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.live.LiveMapper">
|
|
|
|
|
|
<select id="selectLiveBy" resultType="com.example.demo.domain.vo.bean.BeanConsumeLive">
|
|
select lgg.id as id,
|
|
mi.name as name,
|
|
lgg.jwcode as jwcode,
|
|
mi.deptName as dept,
|
|
lg.name as gift,
|
|
lgg.gold_beans as beanNum,
|
|
lgg.gold_free as freeBean,
|
|
lgg.gold_buy as buyBean,
|
|
lp.title as liveChannel,
|
|
l.name as liveName,
|
|
lgg.created_at as consumeTime
|
|
FROM live_give_gifts lgg
|
|
LEFT JOIN live_gifts lg ON lg.id = lgg.g_id
|
|
LEFT JOIN live l ON l.id = lgg.live_id
|
|
LEFT JOIN live_pindao lp ON lp.pd_id = l.channel_id
|
|
LEFT JOIN member_info mi ON mi.jwcode = lgg.jwcode
|
|
<where>
|
|
<if test="beanConsumeLive.jwcode != null and beanConsumeLive.jwcode != ''">
|
|
AND lgg.jwcode = #{beanConsumeLive.jwcode}
|
|
</if>
|
|
<if test="beanConsumeLive.dept != null and beanConsumeLive.dept != ''">
|
|
AND mi.deptName = #{beanConsumeLive.dept}
|
|
</if>
|
|
<!-- <if test="beanConsumeLive.type != null and beanConsumeLive.type != ''">
|
|
AND fyr.source_type = #{beanConsumeLive.type}
|
|
</if>-->
|
|
<if test="beanConsumeLive.startTime != null and beanConsumeLive.endTime != null">
|
|
AND lgg.created_at BETWEEN #{beanConsumeLive.startTime}
|
|
AND #{beanConsumeLive.endTime}
|
|
</if>
|
|
<if test="beanConsumeLive.gift != null and beanConsumeLive.gift != ''">
|
|
AND lg.name =#{beanConsumeLive.gift}
|
|
</if>
|
|
<if test="beanConsumeLive.liveChannel != null and beanConsumeLive.liveChannel != ''">
|
|
AND lp.title = #{beanConsumeLive.liveChannel}
|
|
</if>
|
|
<if test="beanConsumeLive.liveName != null and beanConsumeLive.liveName != ''">
|
|
AND l.name LIKE CONCAT('%', #{beanConsumeLive.liveName}, '%')
|
|
</if>
|
|
</where>
|
|
|
|
<choose>
|
|
<when test="beanConsumeLive.sortField != null and beanConsumeLive.sortField != '' and beanConsumeLive.sortOrder != null and beanConsumeLive.sortOrder != ''">
|
|
ORDER BY ${beanConsumeLive.sortField} ${beanConsumeLive.sortOrder}
|
|
</when>
|
|
<otherwise>
|
|
ORDER BY consumeTime DESC
|
|
</otherwise>
|
|
</choose>
|
|
</select>
|
|
<!--获取直播礼物列表-->
|
|
<select id="getLiveGift" resultType="java.lang.String">
|
|
select distinct name from live_gifts
|
|
</select>
|
|
<!--获取直播频道列表-->
|
|
<select id="getLiveChannel" resultType="java.lang.String">
|
|
select distinct title from live_pindao
|
|
</select>
|
|
<!--计算直播消费金豆合计数-->
|
|
<select id="selectSumLiveBy" resultType="com.example.demo.domain.vo.bean.BeanConsumeGold">
|
|
select
|
|
ifnull(sum(t.beanNum),0) as sunBeam,
|
|
ifnull(sum(t.freeBean),0) as freeBean,
|
|
ifnull(sum(t.buyBean),0) as permanentBean,
|
|
count(*) as totalNum
|
|
from
|
|
(select mi.name as name,
|
|
lgg.jwcode as jwcode,
|
|
mi.deptName as dept,
|
|
lg.name as gift,
|
|
lgg.gold_beans as beanNum,
|
|
lgg.gold_free as freeBean,
|
|
lgg.gold_buy as buyBean,
|
|
lp.title as liveChannel,
|
|
l.name as liveName,
|
|
lgg.created_at as consumeTime
|
|
FROM live_give_gifts lgg
|
|
LEFT JOIN live_gifts lg ON lg.id = lgg.g_id
|
|
LEFT JOIN live l ON l.id = lgg.live_id
|
|
LEFT JOIN live_pindao lp ON lp.pd_id = l.channel_id
|
|
LEFT JOIN member_info mi ON mi.jwcode = lgg.jwcode
|
|
|
|
<where>
|
|
lgg.knapsack=0
|
|
<if test="beanConsumeLive.jwcode != null and beanConsumeLive.jwcode != ''">
|
|
AND lgg.jwcode = #{beanConsumeLive.jwcode}
|
|
</if>
|
|
<if test="beanConsumeLive.dept != null and beanConsumeLive.dept != ''">
|
|
AND mi.deptName = #{beanConsumeLive.dept}
|
|
</if>
|
|
<!-- <if test="beanConsumeLive.type != null and beanConsumeLive.type != ''">
|
|
AND fyr.source_type = #{beanConsumeLive.type}
|
|
</if>-->
|
|
<if test="beanConsumeLive.startTime != null and beanConsumeLive.endTime != null">
|
|
AND lgg.created_at BETWEEN #{beanConsumeLive.startTime}
|
|
AND #{beanConsumeLive.endTime}
|
|
</if>
|
|
<if test="beanConsumeLive.gift != null and beanConsumeLive.gift != ''">
|
|
AND lg.name =#{beanConsumeLive.gift}
|
|
</if>
|
|
<if test="beanConsumeLive.liveChannel != null and beanConsumeLive.liveChannel != ''">
|
|
AND lp.title = #{beanConsumeLive.liveChannel}
|
|
</if>
|
|
<if test="beanConsumeLive.liveName != null and beanConsumeLive.liveName != ''">
|
|
AND l.name LIKE CONCAT('%', #{beanConsumeLive.liveName}, '%')
|
|
</if>
|
|
</where>)t
|
|
|
|
</select>
|
|
<select id="getDept" resultType="java.lang.String">
|
|
select distinct deptName from member_info
|
|
where deptName is not null and deptName != ''
|
|
</select>
|
|
</mapper>
|