From e58bda9eed3e15ca0be919715861a30f75344e2f Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Mon, 14 Aug 2023 10:49:11 +0800 Subject: [PATCH] 赠送积分更新状态 --- src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java | 15 ++++++- src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java | 2 + src/main/java/cc/mrbird/febs/mall/service/impl/MallMemberWithdrawServiceImpl.java | 16 ++++---- src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java | 13 ++++++ src/main/resources/mapper/modules/MallMemberMapper.xml | 25 +++++++++--- src/main/resources/mapper/modules/MallMoneyFlowMapper.xml | 5 ++ src/main/java/cc/mrbird/febs/mall/mapper/MallMoneyFlowMapper.java | 3 + src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java | 5 +- 8 files changed, 64 insertions(+), 20 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java index 2d7e61d..ae1662b 100644 --- a/src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java +++ b/src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java @@ -74,6 +74,8 @@ BigDecimal selectAchieveByMemberId(@Param("inviteId") String inviteId, @Param("type") Integer type); + BigDecimal selectOrderAmountByMemberId(@Param("inviteId") String inviteId, @Param("type") Integer type); + List<MallMember> selectMemberByName(@Param("name") String name); // 查询有下级的用户 diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/MallMoneyFlowMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/MallMoneyFlowMapper.java index 6121365..8fe3313 100644 --- a/src/main/java/cc/mrbird/febs/mall/mapper/MallMoneyFlowMapper.java +++ b/src/main/java/cc/mrbird/febs/mall/mapper/MallMoneyFlowMapper.java @@ -39,6 +39,9 @@ BigDecimal selectThankfulCommission(@Param("date") Date date, @Param("memberId") Long memberId); MallMoneyFlow selectOneByOrderNoAndMemberId(@Param("rechargeNo")String rechargeNo, @Param("memberId")Long memberId); + MallMoneyFlow selectOneByOrderNoAndMemberIdAndRtMemberId(@Param("rechargeNo")String rechargeNo, + @Param("memberId")Long memberId, + @Param("rtMemberId")Long rtMemberId); BigDecimal selectAmountByFlowtypeAndType(@Param("memberId")Long memberId,@Param("flowType")Integer flowType, @Param("type")Integer type, @Param("status")Integer status, diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java index 3f347cb..88883a8 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java @@ -377,9 +377,18 @@ String returnPercentStr = StrUtil.isNotEmpty(returnPercentDic.getValue()) ? "1" : returnPercentDic.getValue(); BigDecimal returnPercent = new BigDecimal(returnPercentStr).divide(new BigDecimal(100), 2, BigDecimal.ROUND_DOWN); BigDecimal amountActual = amountBigDecimal.multiply(returnPercent).setScale(2, BigDecimal.ROUND_DOWN); - memberWalletService.add(amountActual, id, "balance"); - mallMoneyFlowService.addMoneyFlow(id, amountActual, MoneyFlowTypeEnum.DYNAMIC_ACHIEVE.getValue(), - mallOrderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue(),"直推奖",2); + + mallMoneyFlowService.addMoneyFlow( + mallMember.getId(), + amountActual, + MoneyFlowTypeEnum.DYNAMIC_ACHIEVE.getValue(), + mallOrderInfo.getOrderNo(), + "直推奖", + "直推奖", + id, + 1, + FlowTypeEnum.BALANCE.getValue(), + 2); } } for(MallOrderItem mallOrderItem : mallOrderItemList){ 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 69bc4e4..18d8f58 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,11 +359,10 @@ MallMember mallMember = this.baseMapper.selectById(memberId); List<TeamListVo> list = this.baseMapper.selectTeamListByInviteId(mallMember.getInviteId()); - MyTeamVo myTeamVo = new MyTeamVo(); myTeamVo.setTeam(list); - myTeamVo.setMyAchieve(this.baseMapper.selectAchieveByMemberId(mallMember.getInviteId(), 1)); - myTeamVo.setMyTeamAchieve(this.baseMapper.selectAchieveByMemberId(mallMember.getInviteId(), 2)); + myTeamVo.setMyAchieve(this.baseMapper.selectOrderAmountByMemberId(mallMember.getInviteId(), 1)); + myTeamVo.setMyTeamAchieve(this.baseMapper.selectOrderAmountByMemberId(mallMember.getInviteId(), 2)); myTeamVo.setMyTeamCnt(this.baseMapper.selectAllChildAgentListByInviteId(mallMember.getInviteId()).size()); return new FebsResponse().success().data(myTeamVo); } diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java index f9861df..1cf955f 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java @@ -647,6 +647,19 @@ orderInfo.setReceivingTime(new Date()); this.baseMapper.updateById(orderInfo); + //是否返利 + if(ObjectUtil.isNotEmpty(member.getReferrerId())){ + String referrerId = member.getReferrerId(); + MallMember mallMemberParent = memberMapper.selectInfoByInviteId(referrerId); + Long parentId = mallMemberParent.getId(); + String orderNo = orderInfo.getOrderNo(); + MallMoneyFlow mallMoneyFlow = mallMoneyFlowMapper.selectOneByOrderNoAndMemberIdAndRtMemberId(orderNo, member.getId(), parentId); + mallMoneyFlow.setStatus(2); + mallMoneyFlow.setIsReturn(1); + mallMoneyFlowMapper.updateById(mallMoneyFlow); + memberWalletService.add(mallMoneyFlow.getAmount(), id, "balance"); + } + //生成一条团长提成记录 // Long orderInfoId = orderInfo.getId(); // List<MallOrderItem> mallOrderItemList = mallOrderItemMapper.selectListByOrderId(orderInfoId); diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/MallMemberWithdrawServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/MallMemberWithdrawServiceImpl.java index a35d424..474b714 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/MallMemberWithdrawServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/MallMemberWithdrawServiceImpl.java @@ -56,14 +56,14 @@ } - CashOutSettingVo cashOutSettingVo = new CashOutSettingVo(); - DataDictionaryCustom dic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.CASHOUT_SETTING.getType(), DataDictionaryEnum.CASHOUT_SETTING.getCode()); - if (dic != null) { - cashOutSettingVo = JSONObject.parseObject(dic.getValue(), CashOutSettingVo.class); - } - if (withdrawalDto.getAmount().compareTo(cashOutSettingVo.getMinCashOut()) < 0) { - throw new FebsException("最小提现金额为"+cashOutSettingVo.getMinCashOut()+"元"); - } +// CashOutSettingVo cashOutSettingVo = new CashOutSettingVo(); +// DataDictionaryCustom dic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.CASHOUT_SETTING.getType(), DataDictionaryEnum.CASHOUT_SETTING.getCode()); +// if (dic != null) { +// cashOutSettingVo = JSONObject.parseObject(dic.getValue(), CashOutSettingVo.class); +// } +// if (withdrawalDto.getAmount().compareTo(cashOutSettingVo.getMinCashOut()) < 0) { +// throw new FebsException("最小提现金额为"+cashOutSettingVo.getMinCashOut()+"元"); +// } String openId = mallMember.getOpenId(); if(StrUtil.isEmpty(openId)){ diff --git a/src/main/resources/mapper/modules/MallMemberMapper.xml b/src/main/resources/mapper/modules/MallMemberMapper.xml index f1f4c59..5927e97 100644 --- a/src/main/resources/mapper/modules/MallMemberMapper.xml +++ b/src/main/resources/mapper/modules/MallMemberMapper.xml @@ -83,12 +83,12 @@ (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 -- and c.is_normal=2 - where e.status in (2, 3, 4) and (b.invite_id=a.invite_id or b.referrer_id=a.invite_id)) amount, - (select count(1) from mall_member e - inner join mall_order_info b on e.id=b.member_id and b.status in (2, 3, 4) - where e.referrer_id = a.invite_id) orderCnt, - (select count(1) from mall_member x where x.referrer_id = a.invite_id) cnt + 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(id) from mall_order_info e + inner join mall_member b on e.id = b.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 from mall_member a inner join mall_member_wallet p on a.id=p.member_id where a.referrer_id=#{inviteId} @@ -366,6 +366,19 @@ </if> </select> + <select id="selectOrderAmountByMemberId" resultType="java.math.BigDecimal"> + select IFNULL(sum(IFNULL(e.amount, 0)), 0) + from mall_order_info e + inner join mall_member b on e.member_id=b.ID + where e.status in (2, 3, 4) + <if test="type == 1"> + and b.invite_id=#{inviteId} + </if> + <if test="type == 2"> + and find_in_set(#{inviteId}, b.referrer_ids) + </if> + </select> + <select id="selectMemberByName" resultType="cc.mrbird.febs.mall.entity.MallMember"> select * from mall_member where name=#{name} diff --git a/src/main/resources/mapper/modules/MallMoneyFlowMapper.xml b/src/main/resources/mapper/modules/MallMoneyFlowMapper.xml index fecdb7a..dfde769 100644 --- a/src/main/resources/mapper/modules/MallMoneyFlowMapper.xml +++ b/src/main/resources/mapper/modules/MallMoneyFlowMapper.xml @@ -139,6 +139,11 @@ where a.order_no = #{rechargeNo} and a.member_id = #{memberId} </select> + <select id="selectOneByOrderNoAndMemberIdAndRtMemberId" resultType="cc.mrbird.febs.mall.entity.MallMoneyFlow"> + select a.* from mall_money_flow a + where a.order_no = #{rechargeNo} and a.member_id = #{memberId} and a.rt_member_id = @{rtMemberId} + </select> + <select id="selectAmountByFlowtypeAndType" resultType="java.math.BigDecimal"> select ifnull(sum(a.amount),0) from mall_money_flow a <where> -- Gitblit v1.9.1