44323
2024-01-24 61b5f9863f14ab4fc9da504ca2b553a778eb2e2c
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);
    }
}