From 58b9c60649a874b61cb60010b99a76f2162d4c0e Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Mon, 14 Aug 2023 11:38:06 +0800 Subject: [PATCH] 赠送积分更新状态 --- src/main/java/cc/mrbird/febs/mall/mapper/MallOrderInfoMapper.java | 3 ++- src/main/resources/mapper/modules/MallMemberMapper.xml | 14 +++----------- src/main/resources/mapper/modules/MallOrderInfoMapper.xml | 5 +++++ src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java | 12 ++++++++++++ 4 files changed, 22 insertions(+), 12 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/MallOrderInfoMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/MallOrderInfoMapper.java index 5b532bb..1be5021 100644 --- a/src/main/java/cc/mrbird/febs/mall/mapper/MallOrderInfoMapper.java +++ b/src/main/java/cc/mrbird/febs/mall/mapper/MallOrderInfoMapper.java @@ -1,6 +1,5 @@ package cc.mrbird.febs.mall.mapper; -import cc.mrbird.febs.common.enumerates.OrderPayMethodEnum; import cc.mrbird.febs.mall.dto.MallOrderInfoDto; import cc.mrbird.febs.mall.dto.OrderListDto; import cc.mrbird.febs.mall.entity.MallOrderInfo; @@ -55,6 +54,8 @@ BigDecimal selectTotalAmount(@Param("memberId") Long memberId); + List<MallOrderInfo> selectTotalAmountListByMemberId(@Param("memberId") Long memberId); + BigDecimal selectTotalAmountForDate(@Param("date") Date date, @Param("member") Long memberId); BigDecimal selectTotalAmountUnCostForDate(@Param("date") Date date, @Param("member") Long memberId, @Param("dateType") String dateType, @Param("isNormal") Integer isNormal); diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java index 18d8f58..ea2579c 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java @@ -359,6 +359,18 @@ MallMember mallMember = this.baseMapper.selectById(memberId); List<TeamListVo> list = this.baseMapper.selectTeamListByInviteId(mallMember.getInviteId()); + if(CollUtil.isNotEmpty(list)){ + for(TeamListVo teamListVo : list){ + List<MallOrderInfo> mallOrderInfos = mallOrderInfoMapper.selectTotalAmountListByMemberId(teamListVo.getId()); + if(CollUtil.isNotEmpty(mallOrderInfos)){ + BigDecimal reduce = mallOrderInfos.stream().map(MallOrderInfo::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add); + teamListVo.setAmount(reduce); + teamListVo.setOrderCnt(mallOrderInfos.size()); + List<MallMember> mallMembers = this.baseMapper.selectChildAgentListByInviteId(teamListVo.getInviteId()); + teamListVo.setCnt(CollUtil.isEmpty(mallMembers) ? 0 : mallMembers.size()); + } + } + } MyTeamVo myTeamVo = new MyTeamVo(); myTeamVo.setTeam(list); myTeamVo.setMyAchieve(this.baseMapper.selectOrderAmountByMemberId(mallMember.getInviteId(), 1)); diff --git a/src/main/resources/mapper/modules/MallMemberMapper.xml b/src/main/resources/mapper/modules/MallMemberMapper.xml index e422e98..1571645 100644 --- a/src/main/resources/mapper/modules/MallMemberMapper.xml +++ b/src/main/resources/mapper/modules/MallMemberMapper.xml @@ -79,16 +79,7 @@ a.invite_id, 2 isCurrent, a.created_time, - p.prize_score, - (select sum(e.amount) - from mall_order_info e - inner join mall_member b on e.member_id=b.ID - inner join mall_order_item c on e.id = c.order_id - where e.status in (2, 3, 4) and (find_in_set(a.invite_id, b.referrer_ids))) amount, - (select count(e.id) from mall_order_info e - inner join mall_member b on b.id = e.member_id and e.status in (2, 3, 4) - where (find_in_set(a.invite_id, b.referrer_ids))) orderCnt, - (select count(1) from mall_member x where (find_in_set(a.invite_id, x.referrer_ids))) cnt + p.prize_score from mall_member a inner join mall_member_wallet p on a.id=p.member_id where a.referrer_id=#{inviteId} @@ -375,7 +366,8 @@ and b.invite_id=#{inviteId} </if> <if test="type == 2"> - and find_in_set(#{inviteId}, b.referrer_ids) + b.referrer_id = #{inviteId} +-- and find_in_set(#{inviteId}, b.referrer_ids) </if> </select> diff --git a/src/main/resources/mapper/modules/MallOrderInfoMapper.xml b/src/main/resources/mapper/modules/MallOrderInfoMapper.xml index 9d7b3b1..76f1bea 100644 --- a/src/main/resources/mapper/modules/MallOrderInfoMapper.xml +++ b/src/main/resources/mapper/modules/MallOrderInfoMapper.xml @@ -262,6 +262,11 @@ where member_id=#{memberId} and status in (2, 3, 4) and order_type=1 </select> + <select id="selectTotalAmountListByMemberId" resultType="cc.mrbird.febs.mall.entity.MallOrderInfo"> + select * from mall_order_info + where member_id=#{memberId} and status in (2, 3, 4) + </select> + <select id="selectTotalAmountForDate" resultType="java.math.BigDecimal"> select IFNULL(sum(IFNULL(amount,0)),0) from mall_order_info where status = 4 -- Gitblit v1.9.1