From c70e92bedb031f28648a0d6e358ac7a1ecdfefea Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Thu, 31 Aug 2023 14:22:51 +0800
Subject: [PATCH] 退款查询
---
src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java | 7 +++++++
src/main/java/cc/mrbird/febs/mall/service/impl/MallMoneyFlowServiceImpl.java | 5 +++++
src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java | 12 ++++++++----
src/main/resources/mapper/modules/MallMoneyFlowMapper.xml | 8 ++++++++
src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java | 2 ++
src/main/java/cc/mrbird/febs/mall/mapper/MallMoneyFlowMapper.java | 5 +++++
src/main/java/cc/mrbird/febs/mall/service/IMallMoneyFlowService.java | 2 ++
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java | 19 +++++++++++++++++++
8 files changed, 56 insertions(+), 4 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java b/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java
index 3ffb084..011afcc 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java
@@ -179,6 +179,13 @@
return null;
}
+
+ @ApiOperation(value = "领红包")
+ @PostMapping(value = "/redBag")
+ public FebsResponse redBag() {
+ return memberService.redBag();
+ }
+
@ApiOperation(value = "新增银行卡")
@PostMapping(value = "/addMemberBank")
public FebsResponse addMemberBank(@RequestBody AddMemberBankDto addMemberBankDto) {
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 eaa05c6..5d939fa 100644
--- a/src/main/java/cc/mrbird/febs/mall/mapper/MallMoneyFlowMapper.java
+++ b/src/main/java/cc/mrbird/febs/mall/mapper/MallMoneyFlowMapper.java
@@ -37,4 +37,9 @@
BigDecimal selectCommissionIncome(@Param("type") Integer type, @Param("date") Date date, @Param("memberId") Long memebrid);
BigDecimal selectThankfulCommission(@Param("date") Date date, @Param("memberId") Long memberId);
+
+ List<MallMoneyFlow> selectByMemberIdAndTypeAndStatusAndDate(@Param("memberId")Long id,
+ @Param("type")int value,
+ @Param("status")int i,
+ @Param("date") Date date);
}
diff --git a/src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java b/src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java
index d9653e6..73ce98a 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java
@@ -74,4 +74,6 @@
FebsResponse updateMemberBank(UpdateMemberBankDto updateMemberBankDto);
FebsResponse delMemberBank(Long id);
+
+ FebsResponse redBag();
}
diff --git a/src/main/java/cc/mrbird/febs/mall/service/IMallMoneyFlowService.java b/src/main/java/cc/mrbird/febs/mall/service/IMallMoneyFlowService.java
index 5b35700..62793fb 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/IMallMoneyFlowService.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/IMallMoneyFlowService.java
@@ -11,6 +11,8 @@
void addMoneyFlow(Long memberId, BigDecimal amount, Integer type, String orderNo, Integer flowType);
+ void addMoneyFlow(Integer status,Long memberId, BigDecimal amount, Integer type, String orderNo, Integer flowType);
+
void addMoneyFlow(Long memberId, BigDecimal amount, Integer type, String orderNo, Integer flowType, Integer isReturn);
void addMoneyFlow(Long memberId, BigDecimal amount, Integer type, String orderNo, Long rtMemberId, Integer flowType);
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 4465115..ec85264 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
@@ -592,4 +592,23 @@
mallMemberBankMapper.deleteById(id);
return new FebsResponse().success();
}
+
+ @Override
+ public FebsResponse redBag() {
+ MallMember member = LoginUserUtil.getLoginUser();
+ List<MallMoneyFlow> mallMoneyFlows = mallMoneyFlowMapper.selectByMemberIdAndTypeAndStatusAndDate(member.getId(), MoneyFlowTypeEnum.SCORE_POOL.getValue(), 1, new Date());
+ if(CollUtil.isEmpty(mallMoneyFlows)){
+ throw new FebsException("没有红包");
+ }
+ BigDecimal amount = BigDecimal.ZERO;
+ for(MallMoneyFlow mallMoneyFlow : mallMoneyFlows){
+ mallMoneyFlow.setStatus(2);
+ mallMoneyFlowMapper.updateById(mallMoneyFlow);
+
+ amount = mallMoneyFlow.getAmount().abs();
+ }
+ walletService.add(amount, member.getId(), "commission");
+ walletService.reduce(amount.negate(), member.getId(), "score");
+ return new FebsResponse().success().message("领取成功");
+ }
}
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/MallMoneyFlowServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/MallMoneyFlowServiceImpl.java
index 54e1212..baef98b 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/MallMoneyFlowServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/MallMoneyFlowServiceImpl.java
@@ -41,6 +41,11 @@
}
@Override
+ public void addMoneyFlow(Integer status,Long memberId, BigDecimal amount, Integer type, String orderNo, Integer flowType) {
+ this.addMoneyFlow(memberId, amount, type, orderNo, null, null, null, status, flowType, null);
+ }
+
+ @Override
public void addMoneyFlow(Long memberId, BigDecimal amount, Integer type, String orderNo, Integer flowType, Integer isReturn) {
this.addMoneyFlow(memberId, amount, type, orderNo, null, null, null, null, flowType, isReturn);
}
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java
index b40eef9..cff92e6 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java
@@ -18,7 +18,9 @@
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUnit;
import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.RandomUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSONObject;
@@ -561,10 +563,12 @@
}else{
outCome = income;
}
- walletService.add(outCome, mallMember.getId(), "commission");
- walletService.reduce(outCome, mallMember.getId(), "score");
- moneyFlowService.addMoneyFlow(mallMember.getId(), outCome, MoneyFlowTypeEnum.SCORE_POOL.getValue(), null, FlowTypeEnum.COMMISSION.getValue());
- moneyFlowService.addMoneyFlow(mallMember.getId(), outCome.negate(), MoneyFlowTypeEnum.SCORE_POOL.getValue(), null, FlowTypeEnum.SCORE.getValue());
+
+ outCome = new BigDecimal(RandomUtil.randomBigDecimal(BigDecimal.ZERO,outCome).intValue()).setScale(2,BigDecimal.ROUND_DOWN);
+// walletService.add(outCome, mallMember.getId(), "commission");
+// walletService.reduce(outCome, mallMember.getId(), "score");
+ moneyFlowService.addMoneyFlow(1,mallMember.getId(), outCome, MoneyFlowTypeEnum.SCORE_POOL.getValue(), null, FlowTypeEnum.COMMISSION.getValue());
+ moneyFlowService.addMoneyFlow(1,mallMember.getId(), outCome.negate(), MoneyFlowTypeEnum.SCORE_POOL.getValue(), null, FlowTypeEnum.SCORE.getValue());
cnt ++;
}
}
diff --git a/src/main/resources/mapper/modules/MallMoneyFlowMapper.xml b/src/main/resources/mapper/modules/MallMoneyFlowMapper.xml
index 8b00702..2d1e848 100644
--- a/src/main/resources/mapper/modules/MallMoneyFlowMapper.xml
+++ b/src/main/resources/mapper/modules/MallMoneyFlowMapper.xml
@@ -132,4 +132,12 @@
and date_format(created_time, '%Y-%m-%d') = date_format(#{date}, '%Y-%m-%d')
and type in (2,3,4)
</select>
+
+ <select id="selectByMemberIdAndTypeAndStatusAndDate" resultType="cc.mrbird.febs.mall.entity.MallMoneyFlow">
+ select a.member_id, sum(a.amount) amount from mall_money_flow a
+ where a.type =#{type}
+ and a.status = #{status}
+ and a.member_id = #{memberId}
+ and date_format(a.created_time, '%Y-%m-%d') = date_format(#{date}, '%Y-%m-%d');
+ </select>
</mapper>
\ No newline at end of file
--
Gitblit v1.9.1