From 92f90a3bd93037dc7e9bf6cbc111dd5adf1733e5 Mon Sep 17 00:00:00 2001 From: khalil Date: Mon, 3 Jul 2023 19:54:52 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=8E=E5=8F=B0-=E6=8E=A8=E5=B9=BF=E5=90=8E?= =?UTF-8?q?=E5=8F=B0-=E4=BF=AE=E5=A4=8D=E6=95=B0=E6=8D=AE=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/FlowTeamStatisticMapper.xml | 92 ++++++++++++------- .../mapper/FlowTeamSettlementInfoMapper.java | 5 +- .../mappers/FlowTeamSettlementInfoMapper.xml | 34 +++---- 3 files changed, 77 insertions(+), 54 deletions(-) diff --git a/accompany-admin/accompany-admin-service/src/main/resources/mapper/FlowTeamStatisticMapper.xml b/accompany-admin/accompany-admin-service/src/main/resources/mapper/FlowTeamStatisticMapper.xml index 1b77c4eea..6f989519c 100644 --- a/accompany-admin/accompany-admin-service/src/main/resources/mapper/FlowTeamStatisticMapper.xml +++ b/accompany-admin/accompany-admin-service/src/main/resources/mapper/FlowTeamStatisticMapper.xml @@ -50,7 +50,8 @@ 0 charge_user, 0 charge_count, 0 total_charge, - 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.total_gold_num is not null then gsr.total_gold_num else 0 end) / + 10 total_send_gift from account a, users u left join gift_send_record gsr on u.uid = gsr.uid where u.invite_code in @@ -176,7 +177,10 @@ 0 charge_user, 0 charge_count, 0 total_charge, - 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.total_gold_num is not null + then gsr.total_gold_num + else 0 end) / 10 total_send_gift from flow_team_member tm, flow_team_member_invite_code ic, user_invite_code uic, @@ -277,9 +281,14 @@ u.create_time, 0 charge_count, 0 total_charge, - 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) / + 10 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) / 10 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) / 10 total_backbag_send_gift from flow_team_member tm, flow_team_member_invite_code ic, user_invite_code uic, @@ -334,7 +343,8 @@ sum(case when cr.uid 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, 0 total_send_gift - from flow_team_member_invite_user u + from flow_team_member_invite_user ftmiu + inner join users u on ftmiu.uid = u.uid left join charge_record cr on cr.uid = u.uid and cr.charge_status = 2 and cr.charge_prod_id <> 'exchange' and cr.buss_type in (0,4) @@ -353,10 +363,10 @@ where 1 =1 - and u.team_id = #{params.teamId} + and ftmiu.team_id = #{params.teamId} - and u.team_id in + and ftmiu.team_id in #{teamId} @@ -372,15 +382,17 @@ 0 charge_user, 0 charge_count, 0 total_charge, - sum(case when gsr.total_gold_num is not null then gsr.total_gold_num else 0 end) total_send_gift - from flow_team_member_invite_user u + sum(case when gsr.total_gold_num is not null then gsr.total_gold_num else 0 end) / + 10 total_send_gift + from flow_team_member_invite_user ftmiu + inner join users u on ftmiu.uid = u.uid left join gift_send_record gsr on u.uid = gsr.uid and gsr.create_time >= u.create_time where 1=1 - and u.team_id = #{params.teamId} + and ftmiu.team_id = #{params.teamId} - and u.team_id in + and ftmiu.team_id in #{teamId} @@ -412,9 +424,10 @@ 0 charge_count, 0 total_charge, 0 total_send_gift - from flow_team_member_invite_user u - left join flow_team_member tm on u.member_id = tm.member_id - where u.team_id = #{teamId} + from flow_team_member_invite_user fu + left join flow_team_member tm on fu.member_id = tm.member_id + inner join users u on fu.uid = u.uid + where fu.team_id = #{teamId} and u.create_time >= #{startDate} @@ -433,8 +446,9 @@ sum(case when cr.uid 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, 0 total_send_gift - from flow_team_member_invite_user u - left join flow_team_member tm on tm.member_id = u.member_id + from flow_team_member_invite_user fu + inner join users u on fu.uid = u.uid + left join flow_team_member tm on tm.member_id = fu.member_id left join charge_record cr on cr.uid = u.uid and cr.charge_status = 2 and cr.charge_prod_id <> 'exchange' and cr.buss_type in (0,4) and cr.create_time >= u.create_time @@ -457,7 +471,7 @@ and u.create_time < #{endDate} - and u.team_id = #{teamId} + and fu.team_id = #{teamId} group by tm.team_id, tm.member_id,tm.member_name, tm.member_status, tm.team_role union select tm.team_id, @@ -469,9 +483,13 @@ 0 charge_user, 0 charge_count, 0 total_charge, - 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.total_gold_num is not null + then gsr.total_gold_num + else 0 end) / 10 total_send_gift from flow_team_member tm - left join flow_team_member_invite_user u on tm.member_id = u.member_id + left join flow_team_member_invite_user fu on tm.member_id = fu.member_id + inner join users u on fu.uid = u.uid left join gift_send_record gsr on u.uid = gsr.uid and gsr.create_time >= u.create_time where 1=1 @@ -481,7 +499,7 @@ and u.create_time < #{endDate} - and u.team_id = #{teamId} + and fu.team_id = #{teamId} group by tm.team_id, tm.member_id,tm.member_name, tm.member_status, tm.team_role ) t group by t.team_id, t.member_id,t.member_name, t.member_status, t.team_role; @@ -509,8 +527,7 @@ 0 total_send_gift, 0 total_no_backbag_send_gift, 0 total_backbag_send_gift - from - flow_team_member_invite_user u + from flow_team_member_invite_user u left join account a on u.uid = a.uid and a.signup_app in @@ -520,7 +537,7 @@ left join flow_team_member tm on u.member_id = tm.member_id left join charge_record cr - on cr.uid = u.uid and cr.charge_status = 2 and cr.charge_prod_id <> 'exchange' and cr.create_time >= u.create_time + on cr.uid = u.uid and cr.charge_status = 2 and cr.charge_prod_id <> 'exchange' and cr.buss_type in (0,4) and cr.charge_app in @@ -543,10 +560,10 @@ and u.member_id = #{memberId} - and u.create_time >= #{startDate} + and u1.create_time >= #{startDate} - and u.create_time < #{endDate} + and u1.create_time < #{endDate} and u.group_id = #{groupId} @@ -561,11 +578,17 @@ u1.create_time, u1.phone, 0 charge_count, - 0 total_charge, - 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 - from flow_team_member_invite_user u + 0 total_charge, + sum(case when gsr.total_gold_num is not null then gsr.total_gold_num else 0 end) / + 10 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) / 10 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) / 10 total_backbag_send_gift + from + flow_team_member_invite_user u left join account a on a.uid = u.uid and a.signup_app in @@ -574,8 +597,8 @@ left join flow_team_member tm on u.member_id = tm.member_id - left join gift_send_record gsr on u.uid = gsr.uid and gsr.create_time >= u.create_time left join users u1 on u.uid = u1.uid + left join gift_send_record gsr on u1.uid = gsr.uid and gsr.create_time >= u1.create_time where 1= 1 and u.team_id = #{teamId} @@ -584,10 +607,10 @@ and u.member_id = #{memberId} - and u.create_time >= #{startDate} + and u1.create_time >= #{startDate} - and u.create_time < #{endDate} + and u1.create_time < #{endDate} and u.group_id = #{groupId} @@ -596,5 +619,6 @@ ) 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.uid, t.nick,t.create_time, a.register_ip, t.phone order by t.create_time desc, t.invite_code + ; \ No newline at end of file diff --git a/xuanyin-flow-team/src/main/java/com/xuanyin/flowteam/mapper/FlowTeamSettlementInfoMapper.java b/xuanyin-flow-team/src/main/java/com/xuanyin/flowteam/mapper/FlowTeamSettlementInfoMapper.java index abc149171..b5e6cfa39 100644 --- a/xuanyin-flow-team/src/main/java/com/xuanyin/flowteam/mapper/FlowTeamSettlementInfoMapper.java +++ b/xuanyin-flow-team/src/main/java/com/xuanyin/flowteam/mapper/FlowTeamSettlementInfoMapper.java @@ -10,9 +10,9 @@ */ package com.xuanyin.flowteam.mapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.xuanyin.flowteam.dto.FlowTeamSettlementDetail; import com.xuanyin.flowteam.model.FlowTeamSettlementInfo; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; import java.util.Date; @@ -55,8 +55,7 @@ public interface FlowTeamSettlementInfoMapper extends BaseMapper listFlowTeamSettlementInfoV2(@Param("teamIds") List teamIds, @Param("month") String month, - @Param("queryLimitTime") Date queryLimitTime - ); + @Param("queryLimitTime") Date queryLimitTime); /** * 获取小组某月结算详情 (根据小组-组员-用户固化关系查询) * diff --git a/xuanyin-flow-team/src/main/resources/xuanyin/mappers/FlowTeamSettlementInfoMapper.xml b/xuanyin-flow-team/src/main/resources/xuanyin/mappers/FlowTeamSettlementInfoMapper.xml index a970c7c31..02bed62b0 100644 --- a/xuanyin-flow-team/src/main/resources/xuanyin/mappers/FlowTeamSettlementInfoMapper.xml +++ b/xuanyin-flow-team/src/main/resources/xuanyin/mappers/FlowTeamSettlementInfoMapper.xml @@ -97,10 +97,10 @@ sum(a.totalChargeAmount) totalChargeAmount, sum(a.totalChargeUserNum) totalChargeUserNum, sum(a.totalChargeNum) totalChargeNum from ( -- 小组N月新增用户概况 - select date_format(fm.create_time, '%Y-%m') month, count(distinct fm.uid) newUserNum, 0 newUserChargeAmount, + select date_format(u.create_time, '%Y-%m') month, count(distinct fm.uid) newUserNum, 0 newUserChargeAmount, 0 totalChargeAmount, 0 totalChargeUserNum, 0 totalChargeNum - from flow_team_member_invite_user fm - where 1=1 + from flow_team_member_invite_user fm, users u + where fm.uid = u.uid and fm.team_id in @@ -113,10 +113,13 @@ select date_format(r.create_time, '%Y-%m') month, 0 newUserNum , ifnull(sum(r.amount / 100), 0) newUserChargeAmount , 0 totalChargeAmount, 0 totalChargeUserNum, 0 totalChargeNum from - flow_team_member_invite_user fi, charge_record r - where fi.uid = r.uid and r.charge_status = 2 - and r.charge_prod_id != 'exchange' + flow_team_member_invite_user fi, users u, charge_record r + where fi.uid = r.uid + and u.uid = r.uid + and r.charge_status = 2 + and r.charge_prod_id != 'exchange' and r.buss_type in (0,4) + and date_format(r.create_time, '%Y-%m') = date_format(u.create_time, '%Y-%m') and fi.team_id in @@ -129,8 +132,7 @@ select date_format(r.create_time, '%Y-%m') month, 0 newUserNum , 0 newUserChargeAmount, ifnull(sum(r.amount/100), 0) totalChargeAmount, count(distinct r.uid) totalChargeUserNum, count(r.charge_record_id) totalChargeNum - from - flow_team_member_invite_user fi , charge_record r + from flow_team_member_invite_user fi , charge_record r where fi.uid = r.uid and r.charge_status = 2 and r.charge_prod_id != 'exchange' and r.buss_type in (0,4) @@ -143,10 +145,10 @@ group by month, fi.team_id) a - group by a.month - - having month = #{month} - + group by a.month + + having month = #{month} + order by a.month ; @@ -180,17 +182,15 @@ fm.member_name inviteUserNick, sum(r.amount /100) amount from - charge_record r, flow_team_member fm, flow_team_member_invite_user fu - left join users u on fu.uid = u.uid - where fu.uid = r.uid and r.charge_status = 2 and r.charge_prod_id != 'exchange' - and fm.member_id = fu.member_id + charge_record r, flow_team_member fm, flow_team_member_invite_user fu, users u + where fm.member_id = fu.member_id and fu.uid = u.uid and u.uid = r.uid and fu.team_id in #{teamId} - and r.buss_type in (0,4) + and r.charge_status = 2 and r.charge_prod_id != 'exchange' and r.buss_type in (0,4) and date_format(r.create_time, '%Y-%m') = #{month} and u.create_time >= #{queryLimitTime}