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