From 9bcc40d213a44498c46dae5e678e592b918b40b0 Mon Sep 17 00:00:00 2001 From: rentaiming <806181062@qq.com> Date: 星期四, 30 五月 2024 18:33:54 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderAuctionBondServiceImpl.java | 148 +++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 142 insertions(+), 6 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 7ac01fd..67b935f 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,20 +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.system.api.domain.OrderAuctionBond; -import com.ruoyi.order.domain.pojo.Paylog; +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.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 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.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> @@ -36,6 +48,11 @@ @Resource private PaylogServiceImpl paylogServiceImpl; + + + @Resource + private AuctionClient auctionClient; + @Override public R<T> getOrderAuctionBond(OrderAuctionBondDTO orderAuctionBondDTO) { @@ -69,4 +86,123 @@ } 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) { + this.lambdaUpdate().set(OrderAuctionBond::getBoundStatus, bondStatusEnum) + .in(OrderAuctionBond::getId, ids).update(); + } + + @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.getBond().intValue() == 0) { + OrderAuctionBond orderAuctionBond = new OrderAuctionBond(); + orderAuctionBond.setOrderNo(OrderUtil.getOrderNoForPrefix("BO")); + orderAuctionBond.setAuctionSalesroomId(memberAuctionSalesroomBondDTO.getAuctionSalesroomId()); + orderAuctionBond.setMemberId(memberAuctionSalesroomBondDTO.getMemberId()); + orderAuctionBond.setBond(data.getBond()); + orderAuctionBond.setBoundStatus(BondStatusEnum.PAID); + orderAuctionBond.setBondType(AuctionOrderTypeEnum.AUCTION_ITEMS); + iOrderAuctionBondService.save(orderAuctionBond); + payInfoVO.setOrderNO(orderAuctionBond.getOrderNo()); + payInfoVO.setType(0); + payInfoVO.setSubject("保证金"); + payInfoVO.setMemberId(memberAuctionSalesroomBondDTO.getMemberId()); + payInfoVO.setBody("保证金"); + } else { + OrderAuctionBond orderAuctionBond = new OrderAuctionBond(); + orderAuctionBond.setOrderNo(OrderUtil.getOrderNoForPrefix("BO")); + orderAuctionBond.setAuctionSalesroomId(memberAuctionSalesroomBondDTO.getAuctionSalesroomId()); + orderAuctionBond.setMemberId(memberAuctionSalesroomBondDTO.getMemberId()); + orderAuctionBond.setBond(data.getBond()); + orderAuctionBond.setBoundStatus(BondStatusEnum.TO_PLAY); + orderAuctionBond.setBondType(AuctionOrderTypeEnum.AUCTION_ITEMS); + if (memberAuctionSalesroomBondDTO.getPaymentMethod() == 1) { + orderAuctionBond.setPaymentMethod(PaymentMethodEnum.WECHAT); + } else { + orderAuctionBond.setPaymentMethod(PaymentMethodEnum.ALIPAY); + } + + iOrderAuctionBondService.save(orderAuctionBond); + + payInfoVO.setOrderNO(orderAuctionBond.getOrderNo()); + if (memberAuctionSalesroomBondDTO.getPaymentMethod() == 1) { + payInfoVO.setType(2); + } else { + payInfoVO.setType(1); + } + payInfoVO.setSubject("保证金"); + payInfoVO.setMemberId(memberAuctionSalesroomBondDTO.getMemberId()); + payInfoVO.setBody("保证金"); + } + } else { + AuctionGoods data = auctionClient.getauctionGoodsOne(memberAuctionSalesroomBondDTO.getAuctionGoodsId(), 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.getBond()); + orderAuctionBond.setBoundStatus(BondStatusEnum.PAID); + orderAuctionBond.setBondType(AuctionOrderTypeEnum.AUCTION_ITEMS); + iOrderAuctionBondService.save(orderAuctionBond); + payInfoVO.setOrderNO(orderAuctionBond.getOrderNo()); + payInfoVO.setType(0); + payInfoVO.setSubject("保证金"); + payInfoVO.setMemberId(memberAuctionSalesroomBondDTO.getMemberId()); + payInfoVO.setBody("保证金"); + } else { + OrderAuctionBond orderAuctionBond = new OrderAuctionBond(); + orderAuctionBond.setOrderNo(OrderUtil.getOrderNoForPrefix("BO")); + orderAuctionBond.setAuctionSalesroomId(memberAuctionSalesroomBondDTO.getAuctionSalesroomId()); + orderAuctionBond.setMemberId(memberAuctionSalesroomBondDTO.getMemberId()); + orderAuctionBond.setBond(data.getBond()); + orderAuctionBond.setBoundStatus(BondStatusEnum.TO_PLAY); + orderAuctionBond.setBondType(AuctionOrderTypeEnum.AUCTION_ITEMS); + if (memberAuctionSalesroomBondDTO.getPaymentMethod() == 1) { + orderAuctionBond.setPaymentMethod(PaymentMethodEnum.WECHAT); + } else { + orderAuctionBond.setPaymentMethod(PaymentMethodEnum.ALIPAY); + } + iOrderAuctionBondService.save(orderAuctionBond); + payInfoVO.setOrderNO(orderAuctionBond.getOrderNo()); + if (memberAuctionSalesroomBondDTO.getPaymentMethod() == 1) { + payInfoVO.setType(2); + } else { + payInfoVO.setType(1); + } + payInfoVO.setSubject("保证金"); + payInfoVO.setMemberId(memberAuctionSalesroomBondDTO.getMemberId()); + payInfoVO.setBody("保证金"); + } + } + return payInfoVO; + } } -- Gitblit v1.7.1