Helius
2021-09-24 fa92b7908d4091bc2e418549500e64cd9813e755
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
@@ -181,11 +181,23 @@
        }
        MallMember mallMember = memberMapper.selectById(orderInfo.getMemberId());
        if (!mallMember.getTradePassword().equals(SecureUtil.md5(tradePwd))) {
        if (StrUtil.isBlank(mallMember.getTradePassword())) {
            throw new FebsException("未设置支付密码");
        }
        if (!SecureUtil.md5(tradePwd).equals(mallMember.getTradePassword())) {
            throw new FebsException("支付密码错误");
        }
        memberWalletService.reduceBalance(orderInfo.getAmount(), mallMember.getId());
        orderInfo.setStatus(OrderStatusEnum.WAIT_SHIPPING.getValue());
        orderInfo.setPayTime(new Date());
        orderInfo.setPayMethod("积分支付");
        orderInfo.setPayOrderNo(orderInfo.getOrderNo());
        orderInfo.setPayResult("1");
        this.baseMapper.updateById(orderInfo);
        return orderInfo.getOrderNo();
    }
@@ -270,7 +282,7 @@
            throw new FebsException("已提交退款, 请勿重复提交");
        }
        if (orderInfo.getStatus() == OrderStatusEnum.WAIT_PAY.getValue()) {
        if (orderInfo.getStatus() != OrderStatusEnum.WAIT_SHIPPING.getValue() && orderInfo.getStatus() != OrderStatusEnum.WAIT_FINISH.getValue()) {
            throw new FebsException("该订单不能退款");
        }
@@ -285,11 +297,17 @@
            orderRefund.setMemberId(member.getId());
            orderRefund.setDesp(addRefundDto.getDesp());
            orderRefund.setReason(addRefundDto.getReason());
            orderRefund.setType(addRefundDto.getType());
            orderRefund.setRefundTime(new Date());
            orderRefund.setBeforeStatus(orderInfo.getStatus());
            orderRefund.setStatus(OrderRefundStatusEnum.REFUND_APPLY.getValue());
            mallOrderRefundMapper.insert(orderRefund);
        } else {
            orderRefund.setDesp(addRefundDto.getDesp());
            orderRefund.setReason(addRefundDto.getReason());
            orderRefund.setType(addRefundDto.getType());
            orderRefund.setRefundTime(new Date());
            orderRefund.setBeforeStatus(orderInfo.getStatus());
            orderRefund.setStatus(OrderRefundStatusEnum.REFUND_APPLY.getValue());
            mallOrderRefundMapper.updateById(orderRefund);
        }