| | |
| | | private final MallProductSellRecordMapper mallProductSellRecordMapper; |
| | | |
| | | private final ICommonService commonService; |
| | | private final MallMemberAmountMapper mallMemberAmountMapper; |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | |
| | | // orderInfo.setPayMethod("支付宝支付"); |
| | | break; |
| | | case "3": |
| | | payResultStr = balancePay(orderInfo, payOrderDto.getTradePwd(), "balance"); |
| | | payResultStr = balancePayNew(orderInfo, payOrderDto.getTradePwd()); |
| | | |
| | | orderInfo.setPayOrderNo(orderInfo.getOrderNo()); |
| | | orderInfo.setPayMethod("余额支付"); |
| | | orderInfo.setPayMethod("积分支付"); |
| | | orderInfo.setStatus(OrderStatusEnum.WAIT_SHIPPING.getValue()); |
| | | orderInfo.setPayTime(new Date()); |
| | | orderInfo.setPayResult("1"); |
| | | this.baseMapper.updateById(orderInfo); |
| | | |
| | | commonService.changeWallet(orderInfo.getId(), FlowTypeEnum.BALANCE.getValue()); |
| | | |
| | | // commonService.changeWallet(orderInfo.getId(), FlowTypeEnum.BALANCE.getValue()); |
| | | /** |
| | | * 插入一条待处理记录 |
| | | * mq处理之后,更新状态 |
| | | */ |
| | | MallMqRecord mallMqRecord = new MallMqRecord(); |
| | | mallMqRecord.setOrderId(orderInfo.getId()); |
| | | mallMqRecord.setState(2); |
| | | mallMqRecord.setRetryTimes(2); |
| | | mallMqRecord.setCreateTime(orderInfo.getPayTime()); |
| | | mallMqRecordMapper.insert(mallMqRecord); |
| | | //发送补贴消息 |
| | | agentProducer.sendPerkMoneyMsg(orderInfo.getId()); |
| | | //发送代理自动升级消息 |
| | | agentProducer.sendAutoLevelUpMsg(member.getId()); |
| | | // MallMqRecord mallMqRecord = new MallMqRecord(); |
| | | // mallMqRecord.setOrderId(orderInfo.getId()); |
| | | // mallMqRecord.setState(2); |
| | | // mallMqRecord.setRetryTimes(2); |
| | | // mallMqRecord.setCreateTime(orderInfo.getPayTime()); |
| | | // mallMqRecordMapper.insert(mallMqRecord); |
| | | // //发送补贴消息 |
| | | // agentProducer.sendPerkMoneyMsg(orderInfo.getId()); |
| | | // //发送代理自动升级消息 |
| | | // agentProducer.sendAutoLevelUpMsg(member.getId()); |
| | | break; |
| | | case "4": |
| | | if (orderInfo.getOrderType() != 2) { |
| | |
| | | if (reduce == 2) { |
| | | throw new FebsException("余额不足"); |
| | | } |
| | | 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(); |
| | | } |
| | | |
| | |
| | | if(ObjectUtil.isEmpty(mallProductSellRecord)){ |
| | | return; |
| | | } |
| | | if(ProductEnum.PRODUCT_MATE_STATE_PAY.getValue() != mallProductSellRecord.getState()){ |
| | | return; |
| | | } |
| | | MallProductSell mallProductSell = mallProductSellMapper.selectById(mallProductSellRecord.getSellId()); |
| | | if(ObjectUtil.isEmpty(mallProductSell)){ |
| | | return; |