From 0b9f2eeb5e2ff7995f39d217e90a6c64e37366d4 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期一, 17 六月 2024 15:32:44 +0800
Subject: [PATCH] 修改bug

---
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderAuctionBondServiceImpl.java |   76 +++++++++++++++++++++++++++-----------
 1 files changed, 54 insertions(+), 22 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 f3eebc8..87dd51c 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
@@ -2,30 +2,32 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.core.constant.SecurityConstants;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.enums.AuctionOrderTypeEnum;
 import com.ruoyi.common.core.enums.BondStatusEnum;
 import com.ruoyi.common.core.enums.PaymentMethodEnum;
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.order.domain.Paylog;
+import com.ruoyi.order.mapper.OrderAuctionBondMapper;
+import com.ruoyi.order.service.IOrderAuctionBondService;
+import com.ruoyi.order.service.IPaylogService;
 import com.ruoyi.order.util.OrderUtil;
+import com.ruoyi.order.util.SinataUtil;
 import com.ruoyi.system.api.domain.AuctionGoods;
 import com.ruoyi.system.api.domain.AuctionSalesroom;
 import com.ruoyi.system.api.domain.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.MemberAuctionSalesroomBondDTO;
 import com.ruoyi.system.api.domain.dto.OrderAuctionBondDTO;
 import com.ruoyi.system.api.domain.vo.PayInfoVO;
 import com.ruoyi.system.api.feignClient.AuctionClient;
+import java.util.List;
+import javax.annotation.Resource;
 import org.apache.poi.ss.formula.functions.T;
 import org.springframework.stereotype.Service;
-
-import javax.annotation.Resource;
-import java.util.List;
+import org.springframework.transaction.annotation.Propagation;
+import org.springframework.transaction.annotation.Transactional;
 
 /**
  * <p>
@@ -37,9 +39,6 @@
  */
 @Service
 public class OrderAuctionBondServiceImpl extends ServiceImpl<OrderAuctionBondMapper, OrderAuctionBond> implements IOrderAuctionBondService {
-
-    @Resource
-    private IOrderAuctionBondService iOrderAuctionBondService;
 
     @Resource
     private IPaylogService iPaylogService;
@@ -59,7 +58,7 @@
         wrapper.notIn(OrderAuctionBond::getMemberId, orderAuctionBondDTO.getUserList());
         wrapper.eq(OrderAuctionBond::getDelFlag, 0);
         wrapper.eq(OrderAuctionBond::getAuctionSalesroomId, orderAuctionBondDTO.getAuctionSalesroomId());
-        List<OrderAuctionBond> orderAuctionBondList = iOrderAuctionBondService.list(wrapper);
+        List<OrderAuctionBond> orderAuctionBondList = this.list(wrapper);
         for (OrderAuctionBond orderAuctionBond : orderAuctionBondList) {
             LambdaQueryWrapper<Paylog> wrapper1 = Wrappers.lambdaQuery();
             wrapper1.eq(Paylog::getOutTradeNo, orderAuctionBond.getOrderNo());
@@ -85,20 +84,53 @@
         return R.ok();
     }
 
+    /**
+     * 查询保证金订单列表
+     *
+     * @param id                   拍卖商品id
+     * @param auctionOrderTypeEnum 拍卖类型: 普通拍品 拍卖会拍品
+     * @param bondStatusEnum       保证金状态 待支付 已支付 已退款 为null则查询所有
+     * @return List<OrderAuctionBond>
+     */
+    @Override
+    public List<OrderAuctionBond> getOrderAuctionBondList(Long id,
+            AuctionOrderTypeEnum auctionOrderTypeEnum, BondStatusEnum bondStatusEnum) {
+        return this.lambdaQuery().eq(OrderAuctionBond::getAuctionGoodsId, id)
+                .eq(OrderAuctionBond::getBondType, auctionOrderTypeEnum).eq(
+                        StringUtils.isNotNull(bondStatusEnum), OrderAuctionBond::getBoundStatus,
+                        bondStatusEnum).list();
+    }
+
+    /**
+     * 批量更新保证金订单状态
+     *
+     * @param ids            保证金订单id列表
+     * @param bondStatusEnum 保证金状态
+     */
+    @Override
+    @Transactional(propagation = Propagation.REQUIRES_NEW)
+    public void updateOrderAuctionBondStatus(List<Long> ids, BondStatusEnum bondStatusEnum) {
+        for (Long id:ids){
+            OrderAuctionBond byId = this.getById(id);
+            byId.setBoundStatus(bondStatusEnum);
+            this.updateById(byId);
+        }
+    }
+
     @Override
     public PayInfoVO SaveOrderAuctionBond(MemberAuctionSalesroomBondDTO memberAuctionSalesroomBondDTO) {
         PayInfoVO payInfoVO = new PayInfoVO();
         if (memberAuctionSalesroomBondDTO.getBondType() == 2) {
-            AuctionSalesroom data = auctionClient.getauctionSalesroomOne(memberAuctionSalesroomBondDTO.getAuctionSalesroomId(), SecurityConstants.INNER).getData();
-            if (data.getBound().intValue() == 0) {
+            AuctionSalesroom data = auctionClient.getauctionSalesroomOne(memberAuctionSalesroomBondDTO, SecurityConstants.INNER).getData();
+            if (data.getBond().intValue() == 0) {
                 OrderAuctionBond orderAuctionBond = new OrderAuctionBond();
                 orderAuctionBond.setOrderNo(OrderUtil.getOrderNoForPrefix("BO"));
                 orderAuctionBond.setAuctionSalesroomId(memberAuctionSalesroomBondDTO.getAuctionSalesroomId());
                 orderAuctionBond.setMemberId(memberAuctionSalesroomBondDTO.getMemberId());
-                orderAuctionBond.setBond(data.getBound());
+                orderAuctionBond.setBond(data.getBond());
                 orderAuctionBond.setBoundStatus(BondStatusEnum.PAID);
                 orderAuctionBond.setBondType(AuctionOrderTypeEnum.AUCTION_ITEMS);
-                iOrderAuctionBondService.save(orderAuctionBond);
+                this.save(orderAuctionBond);
                 payInfoVO.setOrderNO(orderAuctionBond.getOrderNo());
                 payInfoVO.setType(0);
                 payInfoVO.setSubject("保证金");
@@ -109,7 +141,7 @@
                 orderAuctionBond.setOrderNo(OrderUtil.getOrderNoForPrefix("BO"));
                 orderAuctionBond.setAuctionSalesroomId(memberAuctionSalesroomBondDTO.getAuctionSalesroomId());
                 orderAuctionBond.setMemberId(memberAuctionSalesroomBondDTO.getMemberId());
-                orderAuctionBond.setBond(data.getBound());
+                orderAuctionBond.setBond(data.getBond());
                 orderAuctionBond.setBoundStatus(BondStatusEnum.TO_PLAY);
                 orderAuctionBond.setBondType(AuctionOrderTypeEnum.AUCTION_ITEMS);
                 if (memberAuctionSalesroomBondDTO.getPaymentMethod() == 1) {
@@ -118,7 +150,7 @@
                     orderAuctionBond.setPaymentMethod(PaymentMethodEnum.ALIPAY);
                 }
 
-                iOrderAuctionBondService.save(orderAuctionBond);
+                this.save(orderAuctionBond);
 
                 payInfoVO.setOrderNO(orderAuctionBond.getOrderNo());
                 if (memberAuctionSalesroomBondDTO.getPaymentMethod() == 1) {
@@ -131,7 +163,7 @@
                 payInfoVO.setBody("保证金");
             }
         } else {
-            AuctionGoods data = auctionClient.getauctionGoodsOne(memberAuctionSalesroomBondDTO.getAuctionGoodsId(), SecurityConstants.INNER).getData();
+            AuctionGoods data = auctionClient.getauctionGoodsOne(memberAuctionSalesroomBondDTO, SecurityConstants.INNER).getData();
             if (data.getBond().intValue() == 0) {
                 OrderAuctionBond orderAuctionBond = new OrderAuctionBond();
                 orderAuctionBond.setOrderNo(OrderUtil.getOrderNoForPrefix("BO"));
@@ -140,7 +172,7 @@
                 orderAuctionBond.setBond(data.getBond());
                 orderAuctionBond.setBoundStatus(BondStatusEnum.PAID);
                 orderAuctionBond.setBondType(AuctionOrderTypeEnum.AUCTION_ITEMS);
-                iOrderAuctionBondService.save(orderAuctionBond);
+                this.save(orderAuctionBond);
                 payInfoVO.setOrderNO(orderAuctionBond.getOrderNo());
                 payInfoVO.setType(0);
                 payInfoVO.setSubject("保证金");
@@ -159,7 +191,7 @@
                 } else {
                     orderAuctionBond.setPaymentMethod(PaymentMethodEnum.ALIPAY);
                 }
-                iOrderAuctionBondService.save(orderAuctionBond);
+                this.save(orderAuctionBond);
                 payInfoVO.setOrderNO(orderAuctionBond.getOrderNo());
                 if (memberAuctionSalesroomBondDTO.getPaymentMethod() == 1) {
                     payInfoVO.setType(2);

--
Gitblit v1.7.1