| | |
| | | // orderInfo.setPayMethod("支付宝支付"); |
| | | break; |
| | | case "3": |
| | | payResultStr = balancePay(orderInfo, payOrderDto.getTradePwd(), "balance"); |
| | | payResultStr = balancePayNew(orderInfo, payOrderDto.getTradePwd()); |
| | | |
| | | orderInfo.setPayOrderNo(orderInfo.getOrderNo()); |
| | | orderInfo.setPayMethod("积分支付"); |
| | |
| | | orderInfo.setPayTime(new Date()); |
| | | orderInfo.setPayResult("1"); |
| | | this.baseMapper.updateById(orderInfo); |
| | | MallMemberAmount mallMemberAmount = mallMemberAmountMapper.selectByMemberId(member.getId()); |
| | | mallMemberAmount.setGsd(mallMemberAmount.getGsd().subtract(orderInfo.getAmount())); |
| | | mallMemberAmountMapper.updateGsdById(mallMemberAmount); |
| | | |
| | | |
| | | // commonService.changeWallet(orderInfo.getId(), FlowTypeEnum.BALANCE.getValue()); |
| | | /** |
| | |
| | | } |
| | | return orderInfo.getOrderNo(); |
| | | } |
| | | private String balancePayNew(MallOrderInfo orderInfo, String tradePwd) { |
| | | if (StrUtil.isBlank(tradePwd)) { |
| | | throw new FebsException("支付密码错误"); |
| | | } |
| | | |
| | | MallMember mallMember = memberMapper.selectById(orderInfo.getMemberId()); |
| | | if (StrUtil.isBlank(mallMember.getTradePassword())) { |
| | | throw new FebsException("未设置支付密码"); |
| | | } |
| | | |
| | | if (!SecureUtil.md5(tradePwd).equals(mallMember.getTradePassword())) { |
| | | throw new FebsException("支付密码错误"); |
| | | } |
| | | MallMemberAmount mallMemberAmount = mallMemberAmountMapper.selectByMemberId(mallMember.getId()); |
| | | |
| | | BigDecimal subtract = mallMemberAmount.getGsd().subtract(orderInfo.getAmount()); |
| | | if(BigDecimal.ZERO.compareTo(subtract) > 0){ |
| | | throw new FebsException("积分不足"); |
| | | } |
| | | mallMemberAmount.setGsd(subtract); |
| | | mallMemberAmountMapper.updateGsdById(mallMemberAmount); |
| | | return orderInfo.getOrderNo(); |
| | | } |
| | | |
| | | |
| | | @Override |