From b19813f4f558c350b2c6e8fcb821080b0c10b257 Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期三, 29 五月 2024 19:52:02 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java | 156 +++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 141 insertions(+), 15 deletions(-) diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java index 48111e6..4d38e20 100644 --- a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java +++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java @@ -16,41 +16,74 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.auction.controller.forepart.dto.AuctionSalesroomGoodsDTO; import com.ruoyi.auction.controller.forepart.dto.ForepartAuctionBidRecordDTO; +import com.ruoyi.system.api.domain.OrderAuctionBond; +import com.ruoyi.system.api.domain.dto.MemberAuctionSalesroomDTO; import com.ruoyi.auction.controller.forepart.vo.ForepartAuctionSalesroomGoodsVO; import com.ruoyi.auction.controller.forepart.vo.ForepartAuctionSalesroomVO; import com.ruoyi.auction.controller.forepart.vo.MemberAuctionSalesroomInfoVO; import com.ruoyi.auction.controller.forepart.vo.MemberAuctionSalesroomVO; +import com.ruoyi.auction.domain.*; +import com.ruoyi.auction.mapper.AuctionSalesroomGoodsMapper; +import com.ruoyi.auction.mapper.AuctionSalesroomMapper; +import com.ruoyi.auction.service.*; +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.StringUtils; +import com.ruoyi.common.core.utils.page.PageDTO; +import com.ruoyi.auction.util.HttpUtils; +import com.ruoyi.system.api.domain.AppMiniLoginVO; +import com.ruoyi.system.api.domain.GoodsSku; +import com.ruoyi.system.api.domain.SysUser; +import com.ruoyi.system.api.domain.dto.AppMiniLoginDTO; +import com.ruoyi.system.api.feignClient.GoodsSkuClient; +import com.ruoyi.system.api.feignClient.OrderClient; +import com.ruoyi.system.api.feignClient.SysUserClient; +import javax.annotation.Resource; + +import org.apache.http.HttpResponse; +import org.apache.http.util.EntityUtils; +import org.springframework.stereotype.Service; + + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import com.ruoyi.common.core.enums.AuctionOrderTypeEnum; +import com.ruoyi.common.core.enums.BidStatusEnum; +import com.ruoyi.system.api.domain.*; +import com.ruoyi.system.api.domain.dto.BidVO; +import com.ruoyi.system.api.domain.dto.MemberAuctionSalesroomBondDTO; +import com.ruoyi.system.api.domain.dto.MemberAuctionSalesroomDTO; import com.ruoyi.auction.controller.management.dto.MgtAuctionSalesroomQuery; import com.ruoyi.auction.controller.management.vo.MgtAuctionSalesroomVO; import com.ruoyi.auction.domain.AuctionBidRecord; import com.ruoyi.auction.domain.AuctionSalesroom; import com.ruoyi.auction.domain.AuctionSalesroomGoods; import com.ruoyi.auction.domain.AuctionVideo; -import com.ruoyi.auction.mapper.AuctionSalesroomGoodsMapper; -import com.ruoyi.auction.mapper.AuctionSalesroomMapper; import com.ruoyi.auction.service.IAuctionBidRecordService; import com.ruoyi.auction.service.IAuctionSalesroomService; import com.ruoyi.auction.service.IAuctionVideoService; import com.ruoyi.auction.util.CreateQrCode; import com.ruoyi.auction.util.HttpUtils; -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.StringUtils; -import com.ruoyi.common.core.utils.page.PageDTO; import com.ruoyi.system.api.domain.AppMiniLoginVO; import com.ruoyi.system.api.domain.GoodsSku; import com.ruoyi.system.api.domain.OrderAuctionBond; import com.ruoyi.system.api.domain.SysUser; -import com.ruoyi.system.api.domain.dto.AppMiniLoginDTO; +import com.ruoyi.auction.util.HttpUtils; import com.ruoyi.system.api.domain.dto.MemberAuctionSalesroomDTO; -import com.ruoyi.system.api.feignClient.GoodsSkuClient; -import com.ruoyi.system.api.feignClient.OrderClient; -import com.ruoyi.system.api.feignClient.SysUserClient; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import com.ruoyi.system.api.domain.vo.PayInfoVO; +import com.ruoyi.system.api.feignClient.MemberClient; +import javax.annotation.Resource; + +import org.apache.http.HttpResponse; +import org.apache.http.util.EntityUtils; +import org.springframework.stereotype.Service; + + +import java.math.BigDecimal; +import java.time.LocalDateTime; import java.util.stream.Collectors; import javax.annotation.Resource; import org.apache.http.HttpResponse; @@ -89,10 +122,18 @@ private AuctionSalesroomGoodsMapper auctionSalesroomGoodsMapper; @Resource + private IAuctionSalesroomGoodsService auctionSalesroomGoodsService; + + @Resource + private IAuctionGoodsService auctionGoodsService; + + @Resource private GoodsSkuClient goodsSkuClient; @Resource private OrderClient orderClient; + @Resource + private MemberClient memberClient; //微信 @@ -386,6 +427,91 @@ return memberAuctionSalesroomVO; } + @Override + public PayInfoVO SaveSignUpNow(MemberAuctionSalesroomBondDTO memberAuctionSalesroomBondDTO) { + return orderClient.SaveOrderAuctionBond(memberAuctionSalesroomBondDTO,SecurityConstants.INNER).getData(); + } + + @Override + public void SaveBid(BidVO bidVO) { + Member membeOne = memberClient.getMembeOne(bidVO.getMemberId(), SecurityConstants.INNER).getData(); + if (bidVO.getAuctionType()==2){ + AuctionSalesroomGoods byId = auctionSalesroomGoodsService.getById(bidVO.getTargetId()); + if (byId.getStartingPrice().doubleValue()<bidVO.getLastBidAmount().doubleValue()){ + throw new ServiceException("出价不能比起拍价低"); + } + BigDecimal bigDecimal=byId.getStartingPrice().add(byId.getMinimumMarkupAmount()); + if (bigDecimal.doubleValue()<bidVO.getLastBidAmount().doubleValue()){ + throw new ServiceException("出价不能比每次最少加价低"); + } + + LambdaQueryWrapper<AuctionBidRecord> wrapper1=Wrappers.lambdaQuery(); + wrapper1.eq(AuctionBidRecord::getMemberId,bidVO.getMemberId()); + wrapper1.eq(AuctionBidRecord::getAuctionSalesroomId,bidVO.getAuctionSalesroomId()); + wrapper1.eq(AuctionBidRecord::getTargetId,bidVO.getTargetId()); + wrapper1.eq(AuctionBidRecord::getDelFlag,0); + AuctionBidRecord one = auctionBidRecordService.getOne(wrapper1); + if (one!=null){ + BigDecimal bigDecimal1=one.getLastBidAmount().add(byId.getMinimumMarkupAmount()); + if (bigDecimal1.doubleValue()<bidVO.getLastBidAmount().doubleValue()){ + throw new ServiceException("出价不能比上次出价加每次最少加价低"); + } + one.setLastBidAmount(bidVO.getLastBidAmount()); + one.setLastBidTime(LocalDateTime.now()); + one.setBidCount(one.getBidCount()+1); + auctionBidRecordService.updateById(one); + }else{ + one=new AuctionBidRecord(); + one.setAuctionSalesroomId(bidVO.getAuctionSalesroomId()); + one.setTargetId(bidVO.getTargetId()); + one.setMemberId(bidVO.getMemberId()); + one.setLastBidTime(LocalDateTime.now()); + one.setAuctionType(AuctionOrderTypeEnum.AUCTION_ITEMS); + one.setStatus(BidStatusEnum.ELIMINATE); + one.setBidCount(1); + one.setLastBidAmount(bidVO.getLastBidAmount()); + auctionBidRecordService.save(one); + } + + + }else { + AuctionGoods byId = auctionGoodsService.getById(bidVO.getTargetId()); + if (byId.getStartingPrice().doubleValue()<bidVO.getLastBidAmount().doubleValue()){ + throw new ServiceException("出价不能比起拍价低"); + } + BigDecimal bigDecimal=byId.getStartingPrice().add(byId.getMinimumMarkupAmount()); + if (bigDecimal.doubleValue()<bidVO.getLastBidAmount().doubleValue()){ + throw new ServiceException("出价不能比每次最少加价低"); + } + LambdaQueryWrapper<AuctionBidRecord> wrapper1=Wrappers.lambdaQuery(); + wrapper1.eq(AuctionBidRecord::getMemberId,bidVO.getMemberId()); + wrapper1.eq(AuctionBidRecord::getTargetId,bidVO.getTargetId()); + wrapper1.eq(AuctionBidRecord::getDelFlag,0); + AuctionBidRecord one = auctionBidRecordService.getOne(wrapper1); + if (one!=null){ + BigDecimal bigDecimal1=one.getLastBidAmount().add(byId.getMinimumMarkupAmount()); + if (bigDecimal1.doubleValue()<bidVO.getLastBidAmount().doubleValue()){ + throw new ServiceException("出价不能比上次出价加每次最少加价低"); + } + one.setLastBidAmount(bidVO.getLastBidAmount()); + one.setLastBidTime(LocalDateTime.now()); + one.setBidCount(one.getBidCount()+1); + auctionBidRecordService.updateById(one); + }else{ + one=new AuctionBidRecord(); + one.setAuctionSalesroomId(bidVO.getAuctionSalesroomId()); + one.setTargetId(bidVO.getTargetId()); + one.setMemberId(bidVO.getMemberId()); + one.setLastBidTime(LocalDateTime.now()); + one.setAuctionType(AuctionOrderTypeEnum.REGULAR_ITEMS); + one.setStatus(BidStatusEnum.ELIMINATE); + one.setBidCount(1); + one.setLastBidAmount(bidVO.getLastBidAmount()); + auctionBidRecordService.save(one); + } + } + } + public static String getAccessTokenByWX() throws Exception { String host = ACCESS_TOKEN_HOST + "?appid=" + WX_APPID + "&secret=" + WX_SECRET + "&grant_type=client_credential"; -- Gitblit v1.7.1