mitao
2025-03-10 9c0c919a8016153bc3879ee233c74437a6823570
拍卖下单、报名成功短信发送
4个文件已修改
66 ■■■■ 已修改文件
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/forepart/ForepartAuctionSalesroomController.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomGoodsServiceImpl.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CustomConfigController.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/forepart/ForepartAuctionSalesroomController.java
@@ -1,12 +1,16 @@
package com.ruoyi.auction.controller.forepart;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.google.common.collect.Lists;
import com.ruoyi.auction.mapper.AuctionBondJlMapper;
import com.ruoyi.auction.mapper.AuctionGoodsMapper;
import com.ruoyi.auction.service.IAuctionSalesroomGoodsService;
import com.ruoyi.auction.service.IAuctionSalesroomService;
import com.ruoyi.common.core.constant.SecurityConstants;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.exception.ServiceException;
import com.ruoyi.common.core.utils.page.PageDTO;
@@ -14,16 +18,20 @@
import com.ruoyi.system.api.domain.AuctionBondJl;
import com.ruoyi.system.api.domain.AuctionGoods;
import com.ruoyi.system.api.domain.AuctionSalesroom;
import com.ruoyi.system.api.domain.Member;
import com.ruoyi.system.api.domain.dto.AppMiniLoginDTO;
import com.ruoyi.system.api.domain.dto.AuctionSalesroomDTO;
import com.ruoyi.system.api.domain.dto.ForepartAuctionBidRecordDTO;
import com.ruoyi.system.api.domain.dto.MemberAuctionSalesroomBondDTO;
import com.ruoyi.system.api.domain.dto.MemberAuctionSalesroomDTO;
import com.ruoyi.system.api.domain.dto.SmsSendDTO;
import com.ruoyi.system.api.domain.vo.ForepartAuctionSalesroomVO;
import com.ruoyi.system.api.domain.vo.MemberAuctionSalesroomInfoVO;
import com.ruoyi.system.api.domain.vo.MemberAuctionSalesroomVO;
import com.ruoyi.system.api.domain.vo.PayInfoVO;
import com.ruoyi.system.api.domain.vo.WdMemberAuctionSalesroomVO;
import com.ruoyi.system.api.feignClient.AuthClient;
import com.ruoyi.system.api.feignClient.MemberClient;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import java.math.BigDecimal;
@@ -62,6 +70,10 @@
    @Resource
    private AuctionBondJlMapper  auctionBondJlMapper;
    @Resource
    private AuthClient authClient;
    @Resource
    private MemberClient memberClient;
    /**
     * 拍卖大屏获取拍卖信息
@@ -125,11 +137,14 @@
    @ApiOperation(value = "用户端-拍卖立即报名")
    public R<PayInfoVO> SaveSignUpNow(@RequestBody MemberAuctionSalesroomBondDTO memberAuctionSalesroomBondDTO) {
       log.info("=================================开始拍卖报名=================================");
       String startTime = "";
       if (memberAuctionSalesroomBondDTO.getBondType() == 1) {
          AuctionGoods auctionGoods = AuctionGoodsMapper.selectById(memberAuctionSalesroomBondDTO.getAuctionGoodsId());
          if (auctionGoods.getListingStatus().getCode()==1){
              throw new ServiceException("商品拍卖下线");
          }
           startTime = DateUtil.format(auctionGoods.getStartTime(),
                   DatePattern.NORM_DATETIME_PATTERN);
           LambdaQueryWrapper<AuctionBondJl> wrapper = Wrappers.lambdaQuery();
           wrapper.eq(AuctionBondJl::getAuctionGoodsId,
                   memberAuctionSalesroomBondDTO.getAuctionGoodsId());
@@ -158,6 +173,8 @@
              auctionSalesroomWrapper.eq(AuctionSalesroom::getDelFlag, 0);
              byId = iAuctionSalesroomService.getOne(auctionSalesroomWrapper);
          }
           startTime = DateUtil.format(byId.getStartTime(),
                   DatePattern.NORM_DATETIME_PATTERN);
           memberAuctionSalesroomBondDTO.setAuctionSalesroomId(byId.getId());
           LambdaQueryWrapper<AuctionBondJl> wrapper = Wrappers.lambdaQuery();
           wrapper.eq(AuctionBondJl::getAuctionSalesroomId,
@@ -181,6 +198,13 @@
      }
       PayInfoVO payInfoVO = iAuctionSalesroomService.SaveSignUpNow(memberAuctionSalesroomBondDTO);
       R<Member> membeOne = memberClient.getMembeOne(memberAuctionSalesroomBondDTO.getMemberId(),
               SecurityConstants.INNER);
       authClient.sendSms(
               SmsSendDTO.builder().mobileList(Lists.newArrayList(membeOne.getData().getPhone()))
                       .content(String.format("报名成功,拍卖将于%s开始,请注意时间!", startTime))
                       .build(),
               SecurityConstants.INNER);
       return R.ok(payInfoVO);
    }
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomGoodsServiceImpl.java
@@ -516,15 +516,19 @@
            wrapper.orderByAsc(AuctionBidRecord::getLastBidTime);
            auctionBidRecordList = auctionBidRecordMapper.selectList(wrapper);
            Map<Long, String> orderIdMap = new HashMap<>();
            if(auctionBidRecordList.size()>0){
            if (auctionBidRecordList.size() > 0) {
                //判断
                if (auctionBidRecordList.size() >= auctionSalesroomGoods.getSalesroomStock()) {
                if (auctionBidRecordList.size() >= auctionSalesroomGoods.getBidNum()) {
                    for (int i = 0; i < auctionSalesroomGoods.getSalesroomStock(); i++) {
                        AuctionBidRecord auctionBidRecord = auctionBidRecordList.get(i);
                        auctionBidRecord.setStatus(BidStatusEnum.SUCCESSFUL);
                        Long orderId = AddOrder(auctionBidRecord.getTargetId(),
                                auctionBidRecord.getMemberId(),
                                auctionBidRecord.getLastBidAmount(), auctionSalesroom.getBond());
                                auctionBidRecord.getLastBidAmount()
                                        .multiply(new BigDecimal(
                                                auctionSalesroomGoods.getDealQuantity())),
                                auctionSalesroom.getBond(),
                                auctionSalesroomGoods.getDealQuantity());
                        if (Objects.nonNull(orderId)) {
                            orderIdMap.put(auctionBidRecord.getMemberId(), orderId.toString());
                            auctionBidRecord.setOrderId(orderId);
@@ -544,7 +548,7 @@
                        auctionBidRecord.setStatus(BidStatusEnum.SUCCESSFUL);
                        Long orderId = AddOrder(auctionBidRecord.getTargetId(),
                                auctionBidRecord.getMemberId(),
                                auctionBidRecord.getLastBidAmount(), auctionSalesroom.getBond());
                                auctionBidRecord.getLastBidAmount(), auctionSalesroom.getBond(), 1);
                        if (Objects.nonNull(orderId)) {
                            orderIdMap.put(auctionBidRecord.getMemberId(), orderId.toString());
                            auctionBidRecord.setOrderId(orderId);
@@ -844,7 +848,7 @@
    public Long AddOrder(Long goodsSkuId, Long memberId, BigDecimal lastBidAmount,
            BigDecimal bound) {
            BigDecimal bound, Integer goodsQuantity) {
        OrderDTO order=new OrderDTO();
        order.setGoodsSkuId(goodsSkuId);
        order.setOrderTime(LocalDateTime.now());
@@ -852,7 +856,7 @@
        order.setMemberId(memberId);
        AuctionSalesroomGoods auctionSalesroomGoods = this.getById(goodsSkuId);
        order.setGoodsQuantity(1);
        order.setGoodsQuantity(goodsQuantity);
        order.setTotalAmount(lastBidAmount);
        order.setAuctionSalesroomId(auctionSalesroomGoods.getAuctionSalesroomId());
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java
@@ -698,8 +698,19 @@
            if (bidVO.getAuctionType() == 2) {
                AuctionSalesroomGoods byId = auctionSalesroomGoodsMapper.selectById(
                        bidVO.getTargetId());
                // 判断否大于最高价
                if (byId.getMaxAmount().compareTo(bidVO.getLastBidAmount()) < 0) {
                    throw new ServiceException("出价不能高出最高价");
                }
                // 查询用户出价记录判断是否第一次出价 首次出价,可以只出起拍价,而不是需要比起拍价高。
                Long count = auctionBidRecordService.lambdaQuery()
                        .eq(AuctionBidRecord::getAuctionSalesroomId, bidVO.getAuctionSalesroomId())
                        .eq(AuctionBidRecord::getTargetId, bidVO.getTargetId())
                        .eq(AuctionBidRecord::getAuctionType, bidVO.getAuctionType())
                        .eq(AuctionBidRecord::getMemberId, bidVO.getMemberId()).count();
                if (byId.getStartingPrice().doubleValue() > bidVO.getLastBidAmount()
                        .doubleValue()) {
                        .doubleValue() && count > 0) {
                    throw new ServiceException("出价不能比起拍价低");
                }
                AuctionSalesroom byId1 = this.getById(bidVO.getAuctionSalesroomId());
@@ -795,8 +806,13 @@
                        .clientType(ClientTypeEnum.MEMBER).build(), SecurityConstants.INNER);
            } else {
                AuctionGoods byId = auctionGoodsService.getById(bidVO.getTargetId());
                // 查询用户出价记录判断是否第一次出价 首次出价,可以只出起拍价,而不是需要比起拍价高。
                Long count = auctionBidRecordService.lambdaQuery()
                        .eq(AuctionBidRecord::getTargetId, bidVO.getTargetId())
                        .eq(AuctionBidRecord::getAuctionType, bidVO.getAuctionType())
                        .eq(AuctionBidRecord::getMemberId, bidVO.getMemberId()).count();
                if (byId.getStartingPrice().doubleValue() > bidVO.getLastBidAmount()
                        .doubleValue()) {
                        .doubleValue() && count > 0) {
                    throw new ServiceException("出价不能比起拍价低");
                }
                BigDecimal bigDecimal = byId.getStartingPrice().add(byId.getMinimumMarkupAmount());
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CustomConfigController.java
@@ -11,8 +11,10 @@
import com.ruoyi.system.domain.vo.RefundOfDepositVO;
import com.ruoyi.system.domain.vo.WishSettingVO;
import com.ruoyi.system.service.ICustomConfigService;
import io.swagger.annotations.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import javax.annotation.Resource;
import javax.validation.Valid;
import org.springframework.validation.annotation.Validated;