From f9cfd322ebd0924cf346d4cc9198bc3a5d9d80c0 Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期三, 29 五月 2024 15:01:47 +0800 Subject: [PATCH] 1.提交退款远程调用接口 2.拍卖保证金实体类字段调整 --- ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderAuctionBondServiceImpl.java | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 53 insertions(+), 0 deletions(-) diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderAuctionBondServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderAuctionBondServiceImpl.java index 8a662f8..a73d073 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderAuctionBondServiceImpl.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderAuctionBondServiceImpl.java @@ -1,10 +1,22 @@ package com.ruoyi.order.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.ruoyi.common.core.domain.R; import com.ruoyi.order.domain.pojo.OrderAuctionBond; +import com.ruoyi.order.domain.pojo.Paylog; import com.ruoyi.order.mapper.OrderAuctionBondMapper; import com.ruoyi.order.service.IOrderAuctionBondService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.order.service.IPaylogService; +import com.ruoyi.order.util.SinataUtil; +import com.ruoyi.system.api.domain.dto.OrderAuctionBondDTO; +import org.apache.poi.ss.formula.functions.T; import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.awt.*; +import java.util.List; /** * <p> @@ -17,4 +29,45 @@ @Service public class OrderAuctionBondServiceImpl extends ServiceImpl<OrderAuctionBondMapper, OrderAuctionBond> implements IOrderAuctionBondService { + @Resource + private IOrderAuctionBondService iOrderAuctionBondService; + + @Resource + private IPaylogService iPaylogService; + + @Resource + private PaylogServiceImpl paylogServiceImpl; + + @Override + public R<T> getOrderAuctionBond(OrderAuctionBondDTO orderAuctionBondDTO) { + + LambdaQueryWrapper<OrderAuctionBond> wrapper = Wrappers.lambdaQuery(); + wrapper.notIn(OrderAuctionBond::getMemberId, orderAuctionBondDTO.getUserList()); + wrapper.eq(OrderAuctionBond::getDelFlag, 0); + wrapper.eq(OrderAuctionBond::getAuctionSalesroomId, orderAuctionBondDTO.getAuctionSalesroomId()); + List<OrderAuctionBond> orderAuctionBondList = iOrderAuctionBondService.list(wrapper); + for (OrderAuctionBond orderAuctionBond : orderAuctionBondList) { + LambdaQueryWrapper<Paylog> wrapper1 = Wrappers.lambdaQuery(); + wrapper1.eq(Paylog::getOutTradeNo, orderAuctionBond.getOrderNo()); + wrapper1.last("limit 1"); + Paylog paylog = iPaylogService.getOne(wrapper1); + if (paylog.getPayType() == 1) {//支付宝 + boolean bo = paylogServiceImpl.refundForAlipay(paylog.getOutTradeNo(), paylog.getTradeNo(), orderAuctionBond.getBond().doubleValue()); + if (!bo) { + return R.fail("支付宝退款失败!"); + } + } else {//微信 + String refundMoney = SinataUtil.doubleRetainTwo(orderAuctionBond.getBond().doubleValue() * 100d); + Integer refundFee = Integer.parseInt(refundMoney.substring(0, refundMoney.length() - 3)); + String money = SinataUtil.doubleRetainTwo(paylog.getPayMoney() * 100d); + Integer totalFee = Integer.parseInt(money.substring(0, money.length() - 3)); + boolean bo = paylogServiceImpl.refundForWxpay(1, paylog.getTradeNo(), paylog.getOutTradeNo(), orderAuctionBond.getOrderNo(), totalFee, refundFee, "2"); + if (!bo) { + return R.fail("微信退款失败!"); + } + } + + } + return R.ok(); + } } -- Gitblit v1.7.1