From 44a30f6d80d3f8d11d7e62d7b03d613b87989d56 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期五, 07 六月 2024 18:17:03 +0800
Subject: [PATCH] 提交【管理后台】-营销管理模块相关接口
---
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderAuctionBondServiceImpl.java | 153 +++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 143 insertions(+), 10 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..9c223f9 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>
@@ -29,13 +41,15 @@
public class OrderAuctionBondServiceImpl extends ServiceImpl<OrderAuctionBondMapper, OrderAuctionBond> implements IOrderAuctionBondService {
@Resource
- private IOrderAuctionBondService iOrderAuctionBondService;
-
- @Resource
private IPaylogService iPaylogService;
@Resource
private PaylogServiceImpl paylogServiceImpl;
+
+
+ @Resource
+ private AuctionClient auctionClient;
+
@Override
public R<T> getOrderAuctionBond(OrderAuctionBondDTO orderAuctionBondDTO) {
@@ -44,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());
@@ -69,4 +83,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);
+ this.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);
+ }
+
+ this.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);
+ this.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);
+ }
+ this.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