后台-修复福袋记录合并后的统计问题
This commit is contained in:
@@ -6,8 +6,9 @@
|
||||
<resultMap id="BaseResultMap2" type="com.accompany.admin.vo.luckybag.LuckyBagStatsAdminVo">
|
||||
</resultMap>
|
||||
<select id="getList" resultMap="BaseResultMap">
|
||||
select a.id,a.lucky_bag_id,a.total_gold_num,a.create_time,b.erban_no,b.nick,c.erban_no receive_erban_no,c.nick
|
||||
receive_nick,d.gift_name,d.gold_price gift_value from lucky_bag_record as a
|
||||
select a.id,a.lucky_bag_id,a.total_gold_num / lucky_bag_num as total_gold_num,a.create_time,b.erban_no,b.nick,
|
||||
c.erban_no receive_erban_no,c.nick receive_nick,
|
||||
a.gift_name,a.platform_value gift_value from lucky_bag_record as a
|
||||
join users as b
|
||||
join users as c
|
||||
join gift as d
|
||||
@@ -35,20 +36,19 @@
|
||||
</if>
|
||||
</select>
|
||||
<select id="getCount" resultType="java.lang.Integer">
|
||||
select count(1) from lucky_bag_record as a
|
||||
select sum(gift_num) from lucky_bag_record as a
|
||||
join users as b
|
||||
join users as c
|
||||
join gift as d
|
||||
on a.uid=b.uid and a.receive_uid=c.uid and a.gift_id=d.gift_id
|
||||
on a.uid=b.uid and a.receive_uid=c.uid
|
||||
where 1=1
|
||||
<if test="luckyBagId != null">
|
||||
and lucky_bag_id = #{luckyBagId}
|
||||
and a.lucky_bag_id = #{luckyBagId}
|
||||
</if>
|
||||
<if test="erbanNo != null">
|
||||
and b.erban_no = #{erbanNo}
|
||||
</if>
|
||||
<if test="giftName != null and giftName != ''">
|
||||
and gift_name like concat('%',#{giftName},'%')
|
||||
and a.gift_name like concat('%',#{giftName},'%')
|
||||
</if>
|
||||
<if test="startDate != null">
|
||||
and a.create_time >= #{startDate}
|
||||
@@ -59,12 +59,13 @@
|
||||
</select>
|
||||
|
||||
<select id="luckyBagStats" resultMap="BaseResultMap2">
|
||||
SELECT count(1) num,ifnull(sum(total_gold_num),0) input_value,ifnull(sum(b.gold_price),0) AS
|
||||
output_value,ifnull(sum(b.gold_price),0)/ifnull(sum(total_gold_num),1) AS ratio
|
||||
SELECT c.erban_no,c.nick,sum(gift_num) num,
|
||||
ifnull(sum((total_gold_num/lucky_bag_num) * gift_num),0) input_value,
|
||||
ifnull(sum(total_platform_value),0) AS output_value,
|
||||
ifnull(sum(total_platform_value),0)/ifnull(sum(total_gold_num),1) AS ratio
|
||||
FROM lucky_bag_record AS a
|
||||
JOIN gift AS b
|
||||
JOIN users as c
|
||||
ON a.gift_id=b.gift_id and a.uid=c.uid
|
||||
ON a.uid=c.uid
|
||||
where 1=1
|
||||
<if test="luckyBagId != null">
|
||||
and a.lucky_bag_id = #{luckyBagId}
|
||||
@@ -80,12 +81,13 @@
|
||||
</if>
|
||||
</select>
|
||||
<select id="luckyBagStatsList" resultMap="BaseResultMap2">
|
||||
SELECT c.erban_no,c.nick,count(1) num,ifnull(sum(total_gold_num),0) input_value,ifnull(sum(b.gold_price),0) AS
|
||||
output_value,ifnull(sum(b.gold_price),0)/ifnull(sum(total_gold_num),1) AS ratio
|
||||
SELECT c.erban_no,c.nick,sum(gift_num) num,
|
||||
ifnull(sum((total_gold_num/lucky_bag_num) * gift_num),0) input_value,
|
||||
ifnull(sum(total_platform_value),0) AS output_value,
|
||||
ifnull(sum(total_platform_value),0)/ifnull(sum(total_gold_num),1) AS ratio
|
||||
FROM lucky_bag_record AS a
|
||||
JOIN gift AS b
|
||||
JOIN users as c
|
||||
ON a.gift_id=b.gift_id and a.uid=c.uid
|
||||
ON a.uid=c.uid
|
||||
where 1=1
|
||||
<if test="luckyBagId != null">
|
||||
and a.lucky_bag_id = #{luckyBagId}
|
||||
@@ -108,9 +110,8 @@
|
||||
<select id="luckyBagStatsCount" resultType="java.lang.Integer">
|
||||
SELECT count(distinct(c.erban_no))
|
||||
FROM lucky_bag_record AS a
|
||||
JOIN gift AS b
|
||||
JOIN users as c
|
||||
ON a.gift_id=b.gift_id and a.uid=c.uid
|
||||
ON a.uid=c.uid
|
||||
where 1=1
|
||||
<if test="luckyBagId != null">
|
||||
and a.lucky_bag_id = #{luckyBagId}
|
||||
@@ -130,10 +131,10 @@
|
||||
SELECT
|
||||
DATE_FORMAT( lbr.create_time, '%Y-%m-%d' ) AS countDate,
|
||||
COUNT( DISTINCT lbr.uid ) AS luckyBagUv,
|
||||
COUNT( lbr.lucky_bag_id ) AS luckyBagNum,
|
||||
SUM( lbr.total_gold_num ) AS luckyBagInputValue,
|
||||
SUM( lbr.platform_value ) AS luckyBagOutputValue,
|
||||
(SUM( lbr.total_gold_num ) - SUM( lbr.platform_value )) AS subValue
|
||||
sum( lbr.gift_num ) AS luckyBagNum,
|
||||
SUM( (lbr.total_gold_num/lbr.lucky_bag_num) * lbr.gift_num ) AS luckyBagInputValue,
|
||||
SUM( lbr.total_platform_value ) AS luckyBagOutputValue,
|
||||
(SUM( (lbr.total_gold_num/lbr.lucky_bag_num) * lbr.gift_num ) - SUM( lbr.total_platform_value )) AS subValue
|
||||
FROM
|
||||
lucky_bag_record lbr
|
||||
WHERE
|
||||
@@ -182,14 +183,14 @@
|
||||
u2.nick as receiverNick,
|
||||
lbr.lucky_bag_id,
|
||||
g1.gift_name as luckyBagName,
|
||||
lbr.total_gold_num,
|
||||
g2.gift_name,
|
||||
g2.gold_price as giftValue
|
||||
(lbr.total_gold_num / lbr.lucky_bag_num) * lbr.gift_num total_gold_num,
|
||||
lbr.gift_name,
|
||||
lbr.gift_num,
|
||||
lbr.total_platform_value as giftValue
|
||||
from lucky_bag_record as lbr
|
||||
LEFT JOIN users u1 ON lbr.uid = u1.uid
|
||||
LEFT JOIN users u2 ON lbr.receive_uid = u2.uid
|
||||
LEFT JOIN gift g1 ON lbr.lucky_bag_id = g1.gift_id
|
||||
LEFT JOIN gift g2 ON lbr.gift_id = g2.gift_id
|
||||
where 1=1
|
||||
<if test="luckyBagId != null">
|
||||
and lbr.lucky_bag_id = #{luckyBagId}
|
||||
|
Reference in New Issue
Block a user