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