puzhibing
2023-11-24 328ac3b6130819a31a7ba2d6af84ceec5c9584bf
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/account/OrderPaymentServiceImpl.java
@@ -1,6 +1,7 @@
package com.ruoyi.order.service.impl.account;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.common.core.utils.uuid.IdUtils;
import com.ruoyi.order.domain.pojo.account.OrderPayment;
@@ -24,7 +25,7 @@
public class OrderPaymentServiceImpl extends ServiceImpl<OrderPaymentMapper, OrderPayment> implements OrderPaymentService {
    @Override
    public void saveOrderPayment(Long userId, Long shopId, String subMchId, String orderId, BigDecimal payMoney, Date endTime,
    public void saveOrderPayment(Long userId, Long shopId, String subMchId, String orderId, String outTradeNo, BigDecimal payMoney, Date endTime,
                                 String profitSharing, String openid, String goodsNames, String prepayId) {
        OrderPayment payment = new OrderPayment();
        payment.setPaymentId(IdUtils.simpleUUID());
@@ -34,6 +35,8 @@
        payment.setPayMoney(payMoney);
        payment.setTimeExpire(endTime);
        payment.setSubMchId(subMchId);
        payment.setOutTradeNo(outTradeNo);
        payment.setPayStatus(1);
        // 0 否 1、是
        payment.setProfitSharing("Y".equals(profitSharing) ? 1 : 0);
        payment.setUserOpenId(openid);
@@ -53,4 +56,25 @@
                .last(" limit 1 ");
        return this.getOne(queryWrapper);
    }
    @Override
    public OrderPayment getByUnpaidOrderId(String orderId) {
        LambdaQueryWrapper<OrderPayment> queryWrapper = Wrappers.lambdaQuery();
        queryWrapper.eq(OrderPayment::getOrderId, orderId)
                .eq(OrderPayment::getDelFlag, 0)
                .eq(OrderPayment::getPayStatus, 1)
                .last(" limit 1 ");
        return this.getOne(queryWrapper);
    }
    @Override
    public void updatePaySuccess(String outTradeNo, BigDecimal feeAmount, String transactionId) {
        LambdaUpdateWrapper<OrderPayment> updateWrapper = Wrappers.lambdaUpdate();
        updateWrapper.eq(OrderPayment::getOutTradeNo, outTradeNo)
                .set(OrderPayment::getPayStatus, 2)
                .set(OrderPayment::getTransactionId, transactionId)
                .set(OrderPayment::getFeeAmount, feeAmount)
                .set(OrderPayment::getBackTime, new Date());
        this.update(updateWrapper);
    }
}