From 0e7f25ad6e903c569fa7364e729ddfca6547a279 Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Fri, 23 Dec 2022 11:25:43 +0800 Subject: [PATCH] 20221221 --- src/main/java/cc/mrbird/febs/mall/quartz/OrderOvertimeJob.java | 4 src/main/java/cc/mrbird/febs/mall/dto/WithdrawalDto.java | 7 -- src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java | 4 src/main/java/cc/mrbird/febs/mall/service/impl/MallMemberWithdrawServiceImpl.java | 18 ++--- src/main/java/cc/mrbird/febs/mall/vo/MemberBankListVo.java | 12 ---- src/test/java/cc/mrbird/febs/ProfitTest.java | 58 ++++++++++++++++++- src/main/java/cc/mrbird/febs/mall/dto/AddMemberBankDto.java | 12 ---- src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java | 10 +- src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java | 14 ---- 9 files changed, 75 insertions(+), 64 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 26757bb..bd393a4 100644 --- a/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java +++ b/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java @@ -179,13 +179,13 @@ return null; } - @ApiOperation(value = "新增银行卡") + @ApiOperation(value = "新增地址") @PostMapping(value = "/addMemberBank") public FebsResponse addMemberBank(@RequestBody AddMemberBankDto addMemberBankDto) { return memberService.addMemberBank(addMemberBankDto); } - @ApiOperation(value = "银行卡列表", notes = "银行卡列表") + @ApiOperation(value = "地址列表", notes = "地址列表") @ApiResponses({ @ApiResponse(code = 200, message = "success", response = MemberBankListVo.class) }) diff --git a/src/main/java/cc/mrbird/febs/mall/dto/AddMemberBankDto.java b/src/main/java/cc/mrbird/febs/mall/dto/AddMemberBankDto.java index d96d705..5c0e3ea 100644 --- a/src/main/java/cc/mrbird/febs/mall/dto/AddMemberBankDto.java +++ b/src/main/java/cc/mrbird/febs/mall/dto/AddMemberBankDto.java @@ -8,20 +8,8 @@ @ApiModel(value = "AddMemberBankDto", description = "参数接收类") public class AddMemberBankDto { - // 姓名 - @ApiModelProperty(value = "姓名") - private String name; - //证件类型 - @ApiModelProperty(value = "证件类型") - private String idType; - //证件号码 - @ApiModelProperty(value = "证件号码") - private String idCardNum; // 银行卡号 @ApiModelProperty(value = "银行卡号") private String bankNo; - // 手机号 - @ApiModelProperty(value = "手机号") - private String phone; } diff --git a/src/main/java/cc/mrbird/febs/mall/dto/WithdrawalDto.java b/src/main/java/cc/mrbird/febs/mall/dto/WithdrawalDto.java index e4af5b3..b987c11 100644 --- a/src/main/java/cc/mrbird/febs/mall/dto/WithdrawalDto.java +++ b/src/main/java/cc/mrbird/febs/mall/dto/WithdrawalDto.java @@ -26,13 +26,8 @@ @ApiModelProperty(value = "交易密码") private String tradePwd; + @NotBlank(message = "参数不能为空") @ApiModelProperty(value = "银行卡号") private String bankNo; - @ApiModelProperty(value = "姓名") - private String name; - - @NotNull(message = "银行卡不能为空") - @ApiModelProperty(value = "用户银行卡ID") - private Long bankId; } diff --git a/src/main/java/cc/mrbird/febs/mall/quartz/OrderOvertimeJob.java b/src/main/java/cc/mrbird/febs/mall/quartz/OrderOvertimeJob.java index 5481d86..0828c17 100644 --- a/src/main/java/cc/mrbird/febs/mall/quartz/OrderOvertimeJob.java +++ b/src/main/java/cc/mrbird/febs/mall/quartz/OrderOvertimeJob.java @@ -101,9 +101,9 @@ DataDictionaryEnum.RETURN_PERCENT.getCode() ); String returnPercentStr = returnPercentDic.getValue(); - BigDecimal returnPercent = new BigDecimal(returnPercentStr).multiply(new BigDecimal(0.01)); + BigDecimal returnPercent = new BigDecimal(returnPercentStr).multiply(new BigDecimal(0.01)).setScale(2,BigDecimal.ROUND_DOWN); //本次返还金额 - BigDecimal returnAmount = amount.multiply(returnPercent); + BigDecimal returnAmount = amount.multiply(returnPercent).setScale(2,BigDecimal.ROUND_DOWN); /** * 如果本次返还金额大于剩余返还总金额 */ 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 0ff708d..c99f741 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 @@ -155,11 +155,11 @@ return new FebsResponse().fail().message("当前状态不是提现中"); } - Long wtihdrawTypeId = mallMemberWithdraw.getWtihdrawTypeId(); - MallMemberBank mallMemberBank = mallMemberBankMapper.selectById(wtihdrawTypeId); - if(ObjectUtil.isEmpty(mallMemberBank)){ - return new FebsResponse().fail().message("提现地址不存在"); - } +// Long wtihdrawTypeId = mallMemberWithdraw.getWtihdrawTypeId(); +// MallMemberBank mallMemberBank = mallMemberBankMapper.selectById(wtihdrawTypeId); +// if(ObjectUtil.isEmpty(mallMemberBank)){ +// return new FebsResponse().fail().message("提现地址不存在"); +// } //更新提现记录状态为成功 mallMemberWithdrawMapper.updateStatusById(2,mallMemberWithdraw.getId()); //更新提现流水记录为成功 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 47de2a9..ccdc516 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 @@ -462,14 +462,8 @@ public BigDecimal canMoney() { Long memberId = LoginUserUtil.getLoginUser().getId(); MallMemberWallet wallet = mallMemberWalletMapper.selectWalletByMemberId(memberId); - BigDecimal profit = mallMoneyFlowMapper.selectProfitByDateAndMemberId(memberId); - - BigDecimal canMoney = wallet.getCommission(); - if (profit != null) { - if(canMoney.compareTo(BigDecimal.ZERO) > 0) { - canMoney = canMoney.subtract(profit); - } - } + BigDecimal canMoney = wallet.getBalance(); + canMoney = canMoney.compareTo(BigDecimal.ZERO) > 0 ? canMoney : BigDecimal.ZERO; return canMoney; } @@ -614,11 +608,7 @@ public FebsResponse updateMemberBank(UpdateMemberBankDto updateMemberBankDto) { Long id = updateMemberBankDto.getId(); MallMemberBank mallMemberBank = mallMemberBankMapper.selectById(id); - mallMemberBank.setName(updateMemberBankDto.getName()); - mallMemberBank.setIdType(updateMemberBankDto.getIdType()); - mallMemberBank.setIdCardNum(updateMemberBankDto.getIdCardNum()); mallMemberBank.setBankNo(updateMemberBankDto.getBankNo()); - mallMemberBank.setPhone(updateMemberBankDto.getPhone()); mallMemberBankMapper.updateById(mallMemberBank); 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 9ac3bc0..0053096 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 @@ -61,16 +61,14 @@ cashOutSettingVo = JSONObject.parseObject(dic.getValue(), CashOutSettingVo.class); } - if (withdrawalDto.getAmount().compareTo(cashOutSettingVo.getMinCashOut()) < 0) { - throw new FebsException("最小提现金额为"+cashOutSettingVo.getMinCashOut().setScale(2,BigDecimal.ROUND_DOWN)); + if (withdrawalDto.getAmount().compareTo(BigDecimal.ZERO) <= 0) { + throw new FebsException("请输入正确的提现金额"); + } + if(ObjectUtil.isEmpty(withdrawalDto.getBankNo())){ + throw new FebsException("请输入地址"); } - MallMemberBank mallMemberBank = mallMemberBankMapper.selectById(withdrawalDto.getBankId()); - if(ObjectUtil.isEmpty(mallMemberBank)){ - throw new FebsException("未找到地址信息"); - } - - BigDecimal serviceFee = cashOutSettingVo.getServiceFee().multiply(BigDecimal.valueOf(0.01)); + BigDecimal serviceFee = cashOutSettingVo.getServiceFee(); String orderNo = MallUtils.getOrderNum("W"); //减少用户余额 memberWalletService.reduce(withdrawalDto.getAmount(), memberId, "balance"); @@ -80,8 +78,8 @@ withdraw.setMemberId(memberId); withdraw.setAmount(withdrawalDto.getAmount()); withdraw.setStatus(1); - withdraw.setAmountFee(serviceFee.multiply(withdrawalDto.getAmount())); - withdraw.setWtihdrawTypeId(mallMemberBank.getId()); + withdraw.setAmountFee(serviceFee); +// withdraw.setWtihdrawTypeId(mallMemberBank.getId()); this.baseMapper.insert(withdraw); //生成提现流水记录 Long subsidyAmountFlowId = mallMoneyFlowService.addMoneyFlow( diff --git a/src/main/java/cc/mrbird/febs/mall/vo/MemberBankListVo.java b/src/main/java/cc/mrbird/febs/mall/vo/MemberBankListVo.java index 5f708dc..6c6da5d 100644 --- a/src/main/java/cc/mrbird/febs/mall/vo/MemberBankListVo.java +++ b/src/main/java/cc/mrbird/febs/mall/vo/MemberBankListVo.java @@ -8,19 +8,7 @@ @ApiModel(value = "MemberBankListVo", description = "信息返回类") public class MemberBankListVo { private Long id; - // 姓名 - @ApiModelProperty(value = "姓名") - private String name; - //证件类型 - @ApiModelProperty(value = "证件类型") - private String idType; - //证件号码 - @ApiModelProperty(value = "证件号码") - private String idCardNum; // 银行卡号 @ApiModelProperty(value = "银行卡号") private String bankNo; - // 手机号 - @ApiModelProperty(value = "手机号") - private String phone; } diff --git a/src/test/java/cc/mrbird/febs/ProfitTest.java b/src/test/java/cc/mrbird/febs/ProfitTest.java index a988c2e..5bd823a 100644 --- a/src/test/java/cc/mrbird/febs/ProfitTest.java +++ b/src/test/java/cc/mrbird/febs/ProfitTest.java @@ -337,11 +337,63 @@ @Autowired private IMallAchieveService mallAchieveService; + @Autowired + private MallMemberStarBuyMapper mallMemberStarBuyMapper; + @Test public void achieveTest() { - List<MallOrderItem> items = mallOrderItemMapper.selectList(null); - for (MallOrderItem item : items) { - mallAchieveService.add(item.getId()); + List<MallMemberStarBuy> mallMemberStarBuys = mallMemberStarBuyMapper.selectByStatus(1); + if(CollUtil.isEmpty(mallMemberStarBuys)){ + return; + } + for(MallMemberStarBuy mallMemberStarBuy : mallMemberStarBuys){ + Long memberId = mallMemberStarBuy.getMemberId(); + MallMember mallMember = memberMapper.selectById(memberId); + //用户不存在跳出本次循环 + if(ObjectUtil.isEmpty(mallMember)){ + continue; + } + //返还总金额 + BigDecimal amount = mallMemberStarBuy.getAmount(); + //剩余返还总金额不足,跳出本次循环 + BigDecimal avaAmount = mallMemberStarBuy.getAvaAmount(); + if(avaAmount.compareTo(BigDecimal.ZERO) <= 0){ + continue; + } + //每次返还比例 + DataDictionaryCustom returnPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( + DataDictionaryEnum.RETURN_PERCENT.getType(), + DataDictionaryEnum.RETURN_PERCENT.getCode() + ); + String returnPercentStr = returnPercentDic.getValue(); + BigDecimal returnPercent = new BigDecimal(returnPercentStr).multiply(new BigDecimal(0.01)).setScale(2,BigDecimal.ROUND_DOWN); + //本次返还金额 + BigDecimal returnAmount = amount.multiply(returnPercent).setScale(2,BigDecimal.ROUND_DOWN); + /** + * 如果本次返还金额大于剩余返还总金额 + */ + if(returnAmount.compareTo(avaAmount) >= 0){ + returnAmount = avaAmount; + avaAmount = BigDecimal.ZERO; + }else{ + avaAmount = avaAmount.subtract(returnAmount).setScale(2,BigDecimal.ROUND_DOWN); + } + //增加用户金额 + memberWalletService.addBalance(returnAmount,mallMember.getId()); + //生成流水记录 + Long subsidyAmountFlowId = mallMoneyFlowService.addMoneyFlow( + mallMember.getId(), + mallMemberStarBuy.getBuyCode(), + returnAmount, + MallMoneyFlowTypeEnum.RETURN_MARKET_STAR.getCode(), + MallMoneyFlow.STATUS_SUCCESS, + MallMoneyFlow.IS_RETURN_Y, + mallMember.getId(), + FlowTypeEnum.BALANCE.getValue(), + MallMoneyFlowTypeEnum.RETURN_MARKET_STAR.getName() + ); + //更新记录 + mallMemberStarBuyMapper.updateAvaAmountById(avaAmount,mallMemberStarBuy.getId()); } } // -- Gitblit v1.9.1