rentaiming
2024-06-21 0b007e7fe9ef41fbaa13507d2520a5e8e4faeb3c
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionGoodsServiceImpl.java
@@ -33,6 +33,7 @@
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.core.utils.page.BeanUtils;
import com.ruoyi.common.core.utils.page.PageDTO;
import com.ruoyi.system.api.constants.ConfigEnum;
import com.ruoyi.system.api.constants.NotificationTypeConstant;
import com.ruoyi.system.api.domain.AuctionGoods;
import com.ruoyi.system.api.domain.CustomConfig;
@@ -61,6 +62,7 @@
import com.ruoyi.system.api.feignClient.OrderClient;
import com.ruoyi.system.api.feignClient.SysUserClient;
import io.seata.spring.annotation.GlobalTransactional;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.HashSet;
@@ -306,6 +308,14 @@
                auctionBidRecordService.updateById(auctionBidRecord);
                memberId = auctionBidRecord.getMemberId();
                // 创建待支付订单
                CustomConfig moneyConfig = sysUserClient.getconfig(
                        ConfigEnum.MEMBER_POINTS_MONEY.getKey()).getData();
                CustomConfig pointsConfig = sysUserClient.getconfig(
                        ConfigEnum.MEMBER_POINTS_POINTS.getKey()).getData();
                double ratio =
                        Double.parseDouble(
                                pointsConfig.getConfigValue()) / Double.parseDouble(
                                moneyConfig.getConfigValue());
                OrderDTO orderDTO = new OrderDTO();
                orderDTO.setAuctionType(AuctionOrderTypeEnum.REGULAR_ITEMS);
                orderDTO.setGoodsQuantity(auctionGoods.getAuctionStock());
@@ -315,6 +325,8 @@
                orderDTO.setTotalAmount(auctionBidRecord.getLastBidAmount());
                orderDTO.setOrderFrom(OrderFromEnum.AUCTION_ORDERS);
                orderDTO.setOrderTime(LocalDateTime.now());
                orderDTO.setPoints(auctionBidRecord.getLastBidAmount()
                        .multiply(BigDecimal.valueOf(ratio)).intValue());
                MemberAddress data = memberClient.getMemberAddressOne(
                        auctionBidRecord.getMemberId(), SecurityConstants.INNER).getData();
                if (StringUtils.isNotNull(data)) {