mitao
2024-08-16 d7dc4db8d005a58f51d21d35147317762a16373f
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/forepart/ForepartAuctionSalesroomController.java
@@ -3,38 +3,38 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.auction.domain.AuctionBidRecord;
import com.ruoyi.auction.domain.AuctionBondJl;
import com.ruoyi.auction.mapper.AuctionBondJlMapper;
import com.ruoyi.auction.mapper.AuctionGoodsMapper;
import com.ruoyi.auction.service.IAuctionGoodsService;
import com.ruoyi.common.core.constant.SecurityConstants;
import com.ruoyi.common.core.enums.BidStatusEnum;
import com.ruoyi.common.core.enums.BondStatusEnum;
import com.ruoyi.common.core.exception.ServiceException;
import com.ruoyi.system.api.domain.AuctionGoods;
import com.ruoyi.system.api.domain.OrderAuctionBond;
import com.ruoyi.system.api.domain.dto.*;
import com.ruoyi.auction.service.IAuctionSalesroomGoodsService;
import com.ruoyi.auction.service.IAuctionSalesroomService;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.exception.ServiceException;
import com.ruoyi.common.core.utils.page.PageDTO;
import com.ruoyi.system.api.domain.AppMiniLoginVO;
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.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.vo.ForepartAuctionSalesroomVO;
import com.ruoyi.system.api.domain.vo.MemberAuctionSalesroomInfoVO;
import com.ruoyi.system.api.domain.vo.MemberAuctionSalesroomVO;
import com.ruoyi.system.api.domain.AuctionSalesroom;
import com.ruoyi.auction.service.IAuctionSalesroomService;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.utils.page.PageDTO;
import com.ruoyi.system.api.domain.AppMiniLoginVO;
import com.ruoyi.system.api.domain.vo.PayInfoVO;
import com.ruoyi.system.api.domain.vo.WdMemberAuctionSalesroomVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import javax.annotation.Resource;
import org.springframework.web.bind.annotation.*;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.math.BigDecimal;
import java.util.List;
import java.util.Objects;
import javax.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
 * <p>
@@ -44,6 +44,7 @@
 * @author mitao
 * @since 2024-05-16
 */
@Slf4j
@RestController
@RequestMapping("/forepart/auction-salesroom")
@Api(value = "拍卖场相关接口", tags = "拍卖场相关接口", description = "拍卖场相关接口")
@@ -123,54 +124,61 @@
   @PostMapping("/SaveSignUpNow")
    @ApiOperation(value = "用户端-拍卖立即报名")
    public R<PayInfoVO> SaveSignUpNow(@RequestBody MemberAuctionSalesroomBondDTO memberAuctionSalesroomBondDTO) {
      if (memberAuctionSalesroomBondDTO.getBondType()==1){
       log.info("=================================开始拍卖报名=================================");
       if (memberAuctionSalesroomBondDTO.getBondType() == 1) {
          AuctionGoods auctionGoods = AuctionGoodsMapper.selectById(memberAuctionSalesroomBondDTO.getAuctionGoodsId());
          if (auctionGoods.getListingStatus().getCode()==1){
              throw new ServiceException("商品拍卖下线");
          }
      }else{
          AuctionSalesroom byId = iAuctionSalesroomService.getById(memberAuctionSalesroomBondDTO.getAuctionSalesroomId());
          if(byId==null){
              LambdaQueryWrapper<AuctionSalesroom> wrapper= Wrappers.lambdaQuery();
              wrapper.eq(AuctionSalesroom::getAuctionSalesroomNo,memberAuctionSalesroomBondDTO.getAuctionSalesroomId());
              wrapper.eq(AuctionSalesroom::getDelFlag,0);
              byId =iAuctionSalesroomService.getOne(wrapper);
              memberAuctionSalesroomBondDTO.setAuctionSalesroomId(byId.getId());
          }
      }
       if (memberAuctionSalesroomBondDTO.getBondType()==1) {
           LambdaQueryWrapper<AuctionBondJl> wrapper = Wrappers.lambdaQuery();
           wrapper.eq(AuctionBondJl::getAuctionGoodsId, memberAuctionSalesroomBondDTO.getAuctionGoodsId());
           wrapper.eq(AuctionBondJl::getAuctionGoodsId,
                   memberAuctionSalesroomBondDTO.getAuctionGoodsId());
           wrapper.eq(AuctionBondJl::getMemberId, memberAuctionSalesroomBondDTO.getMemberId());
           wrapper.eq(AuctionBondJl::getIsState, 0);
           AuctionBondJl auctionSalesroom = auctionBondJlMapper.selectOne(wrapper);
           if (auctionSalesroom==null){
               AuctionBondJl auctionBondJl = new AuctionBondJl();
           AuctionBondJl auctionBondJl = auctionBondJlMapper.selectOne(wrapper);
           if (Objects.nonNull(auctionBondJl)) {
               throw new ServiceException("你已报名");
           }
           log.info("auctionGoods:{}", auctionGoods);
           if (auctionGoods.getBond() == null
                   || auctionGoods.getBond().compareTo(BigDecimal.ZERO) == 0) {
               auctionBondJl = new AuctionBondJl();
               auctionBondJl.setAuctionGoodsId(memberAuctionSalesroomBondDTO.getAuctionGoodsId());
               auctionBondJl.setIsState(0);
               auctionBondJl.setBondType(memberAuctionSalesroomBondDTO.getBondType());
               auctionBondJl.setMemberId(memberAuctionSalesroomBondDTO.getMemberId());
               auctionBondJlMapper.insert(auctionBondJl);
           }else{
               throw new ServiceException("你已报名");
           }
       }else{
      }else{
          AuctionSalesroom byId = iAuctionSalesroomService.getById(memberAuctionSalesroomBondDTO.getAuctionSalesroomId());
          if(byId==null){
              LambdaQueryWrapper<AuctionSalesroom> auctionSalesroomWrapper = Wrappers.lambdaQuery();
              auctionSalesroomWrapper.eq(AuctionSalesroom::getAuctionSalesroomNo,
                      memberAuctionSalesroomBondDTO.getAuctionSalesroomId());
              auctionSalesroomWrapper.eq(AuctionSalesroom::getDelFlag, 0);
              byId = iAuctionSalesroomService.getOne(auctionSalesroomWrapper);
          }
           memberAuctionSalesroomBondDTO.setAuctionSalesroomId(byId.getId());
           LambdaQueryWrapper<AuctionBondJl> wrapper = Wrappers.lambdaQuery();
           wrapper.eq(AuctionBondJl::getAuctionSalesroomId, memberAuctionSalesroomBondDTO.getAuctionSalesroomId());
           wrapper.eq(AuctionBondJl::getAuctionSalesroomId,
                   memberAuctionSalesroomBondDTO.getAuctionSalesroomId());
           wrapper.eq(AuctionBondJl::getMemberId, memberAuctionSalesroomBondDTO.getMemberId());
           wrapper.eq(AuctionBondJl::getIsState, 0);
           AuctionBondJl auctionSalesroom = auctionBondJlMapper.selectOne(wrapper);
           if (auctionSalesroom==null){
               AuctionBondJl auctionBondJl = new AuctionBondJl();
               auctionBondJl.setAuctionSalesroomId(memberAuctionSalesroomBondDTO.getAuctionSalesroomId());
           AuctionBondJl auctionBondJl = auctionBondJlMapper.selectOne(wrapper);
           if (Objects.nonNull(auctionBondJl)) {
               throw new ServiceException("你已报名");
           }
           log.info("AuctionSalesroom:{}", byId);
           if (byId.getBond() == null || byId.getBond().compareTo(BigDecimal.ZERO) == 0) {
               auctionBondJl = new AuctionBondJl();
               auctionBondJl.setAuctionSalesroomId(
                       memberAuctionSalesroomBondDTO.getAuctionSalesroomId());
               auctionBondJl.setIsState(0);
               auctionBondJl.setBondType(memberAuctionSalesroomBondDTO.getBondType());
               auctionBondJl.setMemberId(memberAuctionSalesroomBondDTO.getMemberId());
               auctionBondJlMapper.insert(auctionBondJl);
           }else{
               throw new ServiceException("你已报名");
           }
       }
      }
       PayInfoVO payInfoVO = iAuctionSalesroomService.SaveSignUpNow(memberAuctionSalesroomBondDTO);