导出明细添加累计转赠字段

This commit is contained in:
liaozetao
2023-11-01 12:44:42 +08:00
parent 6a949f0939
commit 663efcd7ae
4 changed files with 94 additions and 23 deletions

View File

@@ -682,7 +682,7 @@
left join flow_team_member as tm on u.member_id = tm.member_id
left join users as u1 on u.uid = u1.uid
left join diamond_give_history as dgh on u1.uid = dgh.to_uid and dgh.create_time >= u1.create_time
where 1= 1
where dgh.diamond_num > 0
<if test="teamId != null">
and u.team_id = #{teamId}
</if>

View File

@@ -239,7 +239,7 @@ public class FlowTeamAdminController extends BaseController {
HSSFSheet sheet = workbook.createSheet("邀请明细");
String[] headers = {"邀请码", "被邀请用户id", "被邀请用户昵称","被邀请用户注册ip","被邀请用户手机号", "引入人", "新增日期", "充值次数", "充值金额", "送礼金额",
"送礼背包金额", "送礼非背包金额"};
"送礼背包金额", "送礼非背包金额", "累计收到转赠次数", "累计收到转赠金额"};
HSSFRow header = sheet.createRow(0);
for (int i = 0; i < headers.length; i++) {
header.createCell(i).setCellValue(headers[i]);
@@ -272,6 +272,10 @@ public class FlowTeamAdminController extends BaseController {
cellIdx++;
row.createCell(cellIdx).setCellValue(item.getTotalNoBackbagSendGiftMoney());
cellIdx++;
row.createCell(cellIdx).setCellValue(item.getGiveCount());
cellIdx++;
row.createCell(cellIdx).setCellValue(item.getGiveMoney());
cellIdx++;
}
return workbook;
}

View File

@@ -364,26 +364,39 @@
<select id="listUserStatisticDetailsV2"
resultType="com.accompany.admin.vo.flowteam.FlowTeamStatisticUserDetailVO">
select t.member_name teamMemberName, t.team_id teamId, t.invite_code inviteCode, t.erban_no userErbanNo , t.nick userNickName,t.create_time signUpTime,
sum(t.charge_count) chargeCount,
sum(t.total_charge) chargeMoney,
min(t.first_charge_time) firstChargeTime,
sum(t.total_send_gift) totalSendGiftMoney,
sum(t.total_no_backbag_send_gift) totalNoBackbagSendGiftMoney,
sum(t.total_backbag_send_gift) totalBackbagSendGiftMoney,
a.register_ip registerIp
select
t.member_name as teamMemberName,
t.team_id as teamId,
t.invite_code as inviteCode,
t.erban_no as userErbanNo,
t.nick as userNickName,
t.create_time as signUpTime,
sum(t.charge_count) as chargeCount,
sum(t.total_charge) as chargeMoney,
min(t.first_charge_time) as firstChargeTime,
sum(t.total_send_gift) as totalSendGiftMoney,
sum(t.total_no_backbag_send_gift) as totalNoBackbagSendGiftMoney,
sum(t.total_backbag_send_gift) as totalBackbagSendGiftMoney,
a.register_ip as registerIp,
sum(t.give_count) as giveCount,
sum(t.total_give) as giveMoney
from (
select tm.member_name , fu.team_id, fu.invite_code,
select
tm.member_name,
fu.team_id,
fu.invite_code,
u.uid,
u.erban_no,
u.nick,
u.create_time,
sum(case when cr.amount is not null then 1 else 0 end) charge_count,
sum(case when cr.amount is not null then cr.amount else 0 end) / 100 total_charge,
min(cr.create_time) first_charge_time,
0 total_send_gift,
0 total_no_backbag_send_gift,
0 total_backbag_send_gift
sum(case when cr.amount is not null then 1 else 0 end) as charge_count,
(sum(case when cr.amount is not null then cr.amount else 0 end) / 100) as total_charge,
min(cr.create_time) as first_charge_time,
0 as total_send_gift,
0 as total_no_backbag_send_gift,
0 as total_backbag_send_gift,
0 as give_count,
0 as total_give
from flow_team_member_invite_user fu
left join users u on u.uid = fu.uid
left join flow_team_member tm on fu.member_id = tm.member_id
@@ -423,18 +436,22 @@
</if>
group by tm.member_name,fu.team_id,fu.invite_code, u.uid, u.erban_no, u.nick, u.create_time
union
select tm.member_name,fu.team_id,
select
tm.member_name,
fu.team_id,
fu.invite_code,
u.uid,
u.erban_no,
u.nick,
u.create_time,
0 charge_count,
0 total_charge,
0 as charge_count,
0 as total_charge,
null first_charge_time,
sum(case when gsr.total_gold_num is not null then gsr.total_gold_num else 0 end) total_send_gift,
sum(case when gsr.gift_source = 1 and gsr.total_gold_num is not null then gsr.total_gold_num else 0 end) total_no_backbag_send_gift,
sum(case when gsr.gift_source = 2 and gsr.total_gold_num is not null then gsr.total_gold_num else 0 end) total_backbag_send_gift
sum(case when gsr.total_gold_num is not null then gsr.total_gold_num else 0 end) as total_send_gift,
sum(case when gsr.gift_source = 1 and gsr.total_gold_num is not null then gsr.total_gold_num else 0 end) as total_no_backbag_send_gift,
sum(case when gsr.gift_source = 2 and gsr.total_gold_num is not null then gsr.total_gold_num else 0 end) as total_backbag_send_gift,
0 as give_count,
0 as total_give
from flow_team_member_invite_user fu
left join users u on u.uid = fu.uid
left join flow_team_member tm on fu.member_id = tm.member_id
@@ -459,6 +476,51 @@
and u.create_time &lt; #{endDate}
</if>
group by tm.member_name,fu.team_id,fu.invite_code, u.uid, u.erban_no, u.nick, u.create_time
union all
select
tm.member_name,
tm.team_id,
u.invite_code,
u.uid,
u1.erban_no,
u1.nick,
u1.create_time,
u1.phone,
0 as charge_count,
0 as total_charge,
0 as total_send_gift,
0 as total_no_backbag_send_gift,
0 as total_backbag_send_gift,
count(1) as give_count,
(sum(case when dgh.diamond_num is not null then dgh.diamond_num else 0 end) / 1000) as total_give
from flow_team_member_invite_user as u
left join account as a on a.uid = u.uid
<if test="groupApps != null and groupApps.size > 0" >
and a.signup_app in
<foreach collection="groupApps" item="signUpApp" open="(" separator="," close=")">
#{signUpApp}
</foreach>
</if>
left join flow_team_member as tm on u.member_id = tm.member_id
left join users as u1 on u.uid = u1.uid
left join diamond_give_history as dgh on u1.uid = dgh.to_uid and dgh.create_time >= u1.create_time
where dgh.diamond_num > 0
<if test="teamId != null">
and u.team_id = #{teamId}
</if>
<if test="memberId != null">
and u.member_id = #{memberId}
</if>
<if test="startDate != null and startDate != ''">
and u1.create_time &gt;= #{startDate}
</if>
<if test="endDate != null and endDate != ''">
and u1.create_time &lt; #{endDate}
</if>
<if test="groupId != null and endDate != ''">
and u.group_id = #{groupId}
</if>
group by tm.member_name, tm.team_id, u.invite_code, u.uid, u1.erban_no, u1.nick, u1.create_time, u1.phone
) t LEFT JOIN account a ON t.erban_no = a.erban_no
group by t.member_name, t.team_id,t.invite_code, t.erban_no , t.nick,t.create_time, a.register_ip
order by t.create_time desc, t.invite_code

View File

@@ -137,6 +137,7 @@ public class FlowTeamLeaderController extends BaseController {
// "被邀请用户注册ip",
"引入人", "新增日期", "充值次数", "充值金额(美元)", "送礼钻石数",
// "送礼背包金额", "送礼非背包金额"
"累计收到转赠次数", "累计收到转赠金额"
};
HSSFRow header = sheet.createRow(0);
for (int i = 0; i < headers.length; i++) {
@@ -168,6 +169,10 @@ public class FlowTeamLeaderController extends BaseController {
// cellIdx++;
// row.createCell(cellIdx).setCellValue(item.getTotalNoBackbagSendGiftMoney());
// cellIdx++;
row.createCell(cellIdx).setCellValue(item.getGiveCount());
cellIdx++;
row.createCell(cellIdx).setCellValue(item.getGiveMoney());
cellIdx++;
}
return workbook;
}