From 714e98e20f8a534fef0a301c527a8b3ace0741cb Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Wed, 13 Mar 2024 14:30:20 +0800 Subject: [PATCH] 抽奖 --- src/main/java/cc/mrbird/febs/mall/dto/MoneyChargeListDto.java | 2 src/main/java/cc/mrbird/febs/mall/service/IMallMemberWithdrawService.java | 2 src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java | 7 ++ src/main/java/cc/mrbird/febs/mall/service/impl/MallMemberWithdrawServiceImpl.java | 27 +++++++++ src/main/resources/templates/febs/views/modules/mallMember/chargeFlowList.html | 24 ++++++++ src/main/resources/mapper/modules/MallMoneyFlowMapper.xml | 3 + src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java | 77 ++++++++++++------------- 7 files changed, 103 insertions(+), 39 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 fc63774..bc4ff75 100644 --- a/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java +++ b/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java @@ -60,6 +60,13 @@ return memberService.moneyFlows(moneyFlowDto); } + @ApiOperation(value = "充值", notes = "充值") + @PostMapping(value = "/charge") + public FebsResponse charge(@RequestBody @Validated WithdrawalDto withdrawalDto) { + mallMemberWithdrawService.charge(withdrawalDto); + return new FebsResponse().success().message("提交成功"); + } + @ApiOperation(value = "提现", notes = "提现") @PostMapping(value = "/withdrawal") public FebsResponse withdrawal(@RequestBody @Validated WithdrawalDto withdrawalDto) { diff --git a/src/main/java/cc/mrbird/febs/mall/dto/MoneyChargeListDto.java b/src/main/java/cc/mrbird/febs/mall/dto/MoneyChargeListDto.java index 4acb2b3..baf9496 100644 --- a/src/main/java/cc/mrbird/febs/mall/dto/MoneyChargeListDto.java +++ b/src/main/java/cc/mrbird/febs/mall/dto/MoneyChargeListDto.java @@ -13,5 +13,7 @@ private String phone; + private String remark; + private Integer status; } diff --git a/src/main/java/cc/mrbird/febs/mall/service/IMallMemberWithdrawService.java b/src/main/java/cc/mrbird/febs/mall/service/IMallMemberWithdrawService.java index 500c484..c50c18d 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/IMallMemberWithdrawService.java +++ b/src/main/java/cc/mrbird/febs/mall/service/IMallMemberWithdrawService.java @@ -7,4 +7,6 @@ public interface IMallMemberWithdrawService extends IService<MallMemberWithdraw> { void withdrawal(WithdrawalDto withdrawalDto); + + void charge(WithdrawalDto withdrawalDto); } diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java index 02e21af..13bcee4 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java @@ -57,6 +57,7 @@ private final MallMoneyFlowMapper mallMoneyFlowMapper; private final IMallMoneyFlowService mallMemberService; + private final IApiMallMemberService iApiMallMemberService; private final IApiMallMemberService apiMallMemberService; private final MallMemberPaymentMapper mallMemberPaymentMapper; @@ -202,10 +203,23 @@ objectQueryWrapper.eq("order_no",mallMemberWithdraw.getWithdrawNo()); objectQueryWrapper.eq("type",MoneyFlowTypeNewEnum.RANK_BONUS.getValue()); MallMoneyFlow mallMoneyFlow = mallMoneyFlowMapper.selectOne(objectQueryWrapper); - mallMoneyFlow.setStatus(3); - mallMoneyFlowMapper.updateById(mallMoneyFlow); - //用户佣金增加对应的余额 - iApiMallMemberWalletService.add(mallMemberWithdraw.getAmount(),mallMemberWithdraw.getMemberId(),"balance"); + if(ObjectUtil.isNotEmpty(mallMoneyFlow)){ + mallMoneyFlow.setStatus(3); + mallMoneyFlowMapper.updateById(mallMoneyFlow); + //用户佣金增加对应的余额 + iApiMallMemberWalletService.add(mallMemberWithdraw.getAmount(),mallMemberWithdraw.getMemberId(),"balance"); + }else{ + iApiMallMemberService.addMoneyFlow( + mallMemberWithdraw.getMemberId(), + mallMemberWithdraw.getAmount(), + MoneyFlowTypeNewEnum.AGENT_BONUS.getValue(), + mallMemberWithdraw.getWithdrawNo(), + MoneyFlowTypeNewEnum.AGENT_BONUS.getDescription(), + null, + null, + 3, + FlowTypeEnum.BALANCE.getValue()); + } return new FebsResponse().success(); } @@ -774,44 +788,29 @@ return new FebsResponse().fail().message("提现银行卡已删除"); } String agreeType = mallMemberWithdrawInfo.getAgreeType(); - if("1".equals(agreeType)){ - mallMemberWithdraw.setStatus(2); - mallMemberWithdrawMapper.updateById(mallMemberWithdraw); + mallMemberWithdraw.setStatus(2); + mallMemberWithdrawMapper.updateById(mallMemberWithdraw); - QueryWrapper<MallMoneyFlow> flowQueryWrapper = new QueryWrapper<>(); - flowQueryWrapper.eq("order_no",mallMemberWithdraw.getWithdrawNo()); - flowQueryWrapper.eq("type",MoneyFlowTypeEnum.WITHDRAWAL.getValue()); - MallMoneyFlow mallMoneyFlow = mallMoneyFlowMapper.selectOne(flowQueryWrapper); - if(ObjectUtil.isNotEmpty(mallMoneyFlow)){ - mallMoneyFlow.setStatus(2); - mallMoneyFlowMapper.updateById(mallMoneyFlow); - } - return new FebsResponse().success(); + QueryWrapper<MallMoneyFlow> flowQueryWrapper = new QueryWrapper<>(); + flowQueryWrapper.eq("order_no",mallMemberWithdraw.getWithdrawNo()); + flowQueryWrapper.eq("type",MoneyFlowTypeEnum.WITHDRAWAL.getValue()); + MallMoneyFlow mallMoneyFlow = mallMoneyFlowMapper.selectOne(flowQueryWrapper); + if(ObjectUtil.isNotEmpty(mallMoneyFlow)){ + mallMoneyFlow.setStatus(2); + mallMoneyFlowMapper.updateById(mallMoneyFlow); }else{ - String bankName = mallMemberBank.getBankName(); - NBYHResponse nbyhResponse = new NBYHResponse(); - if("宁波银行".equals(bankName)){ - nbyhResponse = nbyhService.tradeSinge(mallMemberWithdraw.getId()); - }else{ - nbyhResponse = nbyhService.tradeSingeOuterTransfer(mallMemberWithdraw.getId()); - } - if(nbyhResponse.isFlag()){ - mallMemberWithdraw.setStatus(2); - mallMemberWithdrawMapper.updateById(mallMemberWithdraw); - - QueryWrapper<MallMoneyFlow> flowQueryWrapper = new QueryWrapper<>(); - flowQueryWrapper.eq("order_no",mallMemberWithdraw.getWithdrawNo()); - flowQueryWrapper.eq("type",MoneyFlowTypeEnum.WITHDRAWAL.getValue()); - MallMoneyFlow mallMoneyFlow = mallMoneyFlowMapper.selectOne(flowQueryWrapper); - if(ObjectUtil.isNotEmpty(mallMoneyFlow)){ - mallMoneyFlow.setStatus(2); - mallMoneyFlowMapper.updateById(mallMoneyFlow); - } - return new FebsResponse().success().message(nbyhResponse.getMsg()); - }else{ - return new FebsResponse().fail().message(nbyhResponse.getMsg()); - } + iApiMallMemberService.addMoneyFlow( + mallMemberWithdraw.getMemberId(), + mallMemberWithdraw.getAmount(), + MoneyFlowTypeNewEnum.AGENT_BONUS.getValue(), + mallMemberWithdraw.getWithdrawNo(), + MoneyFlowTypeNewEnum.AGENT_BONUS.getDescription(), + null, + null, + 2, + FlowTypeEnum.BALANCE.getValue()); } + return new FebsResponse().success(); } 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 c7d109f..a2c42c4 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 @@ -99,6 +99,7 @@ withdraw.setAmount(withdrawalDto.getAmount()); withdraw.setStatus(1); withdraw.setAmountFee(serviceFee); + withdraw.setRemark("提现"); withdraw.setWtihdrawTypeId(mallMemberBank.getId()); this.baseMapper.insert(withdraw); @@ -113,4 +114,30 @@ 1, FlowTypeEnum.BALANCE.getValue()); } + + @Override + @Transactional(rollbackFor = Exception.class) + public void charge(WithdrawalDto withdrawalDto) { + Long memberId = LoginUserUtil.getLoginUser().getId(); + MallMember mallMember = mallMemberService.getById(memberId); + + MallMemberBank mallMemberBank = mallMemberBankMapper.selectById(withdrawalDto.getBankId()); + if(ObjectUtil.isEmpty(mallMemberBank)){ + throw new FebsException("未找到银行卡信息"); + } + + if(BigDecimal.ZERO.compareTo(withdrawalDto.getAmount()) >= 0) { + throw new FebsException("金额需要大于0"); + } + String orderNo = MallUtils.getOrderNum("C"); + + MallMemberWithdraw withdraw = new MallMemberWithdraw(); + withdraw.setWithdrawNo(orderNo); + withdraw.setMemberId(memberId); + withdraw.setAmount(withdrawalDto.getAmount()); + withdraw.setStatus(1); + withdraw.setRemark("充值"); + withdraw.setWtihdrawTypeId(mallMemberBank.getId()); + this.baseMapper.insert(withdraw); + } } diff --git a/src/main/resources/mapper/modules/MallMoneyFlowMapper.xml b/src/main/resources/mapper/modules/MallMoneyFlowMapper.xml index 7ebba37..92b9eaf 100644 --- a/src/main/resources/mapper/modules/MallMoneyFlowMapper.xml +++ b/src/main/resources/mapper/modules/MallMoneyFlowMapper.xml @@ -82,6 +82,9 @@ <if test="record.status!=null and record.status!=''"> and a.status = #{record.status} </if> + <if test="record.remark!=null and record.remark!=''"> + and a.remark = #{record.remark} + </if> </if> </where> order by a.created_time desc diff --git a/src/main/resources/templates/febs/views/modules/mallMember/chargeFlowList.html b/src/main/resources/templates/febs/views/modules/mallMember/chargeFlowList.html index 1d46d9f..22df7e8 100644 --- a/src/main/resources/templates/febs/views/modules/mallMember/chargeFlowList.html +++ b/src/main/resources/templates/febs/views/modules/mallMember/chargeFlowList.html @@ -14,6 +14,16 @@ </div> </div> <div class="layui-inline"> + <label class="layui-form-label">类型:</label> + <div class="layui-input-inline"> + <select name="remark"> + <option value="">请选择</option> + <option value="充值">充值</option> + <option value="提现">提现</option> + </select> + </div> + </div> + <div class="layui-inline"> <label class="layui-form-label">状态:</label> <div class="layui-input-inline"> <select name="status"> @@ -51,6 +61,18 @@ {{# } else { }} <button class="layui-btn layui-btn-normal layui-btn-xs" type="button" shiro:hasPermission="paymentInfo:update" lay-event="paymentInfo">查看收款方式</button> {{# } }} +</script> + +<script type="text/html" id="remarkFormat"> + <div> + {{# if (d.remark == '充值') { }} + <span class="layui-badge febs-tag-blue">充值</span> + {{# } else if (d.remark == '提现') { }} + <span class="layui-badge febs-tag-green">提现</span> + {{# } else { }} + <span class="layui-badge febs-tag-green">提现</span> + {{# } }} + </div> </script> <script type="text/html" id="txStatusFormat"> @@ -142,6 +164,7 @@ totalRow: true ,// 开启合计行 cols: [[ {field: 'withdrawNo', title: '编号', minWidth: 100,align:'left', totalRowText: '合计:'}, + {templet:"#remarkFormat", title: '类型', minWidth: 100,align:'left'}, {field: 'phone', title: '账号', minWidth: 150,align:'left'}, {field: 'amount', title: '金额', minWidth: 150,align:'left',totalRow: '{{= parseInt(d.amount) }}'}, {field: 'amountFee', title: '手续费', minWidth: 150,align:'left',totalRow: '{{= parseInt(d.amountFee) }}'}, @@ -157,6 +180,7 @@ return { phone: $searchForm.find('input[name="phone"]').val().trim(), status: $searchForm.find("select[name='status']").val(), + remark: $searchForm.find("select[name='remark']").val(), }; } -- Gitblit v1.9.1