From c9e904c9533944c491d348e2a35c78bddc28db4b Mon Sep 17 00:00:00 2001 From: rentaiming <806181062@qq.com> Date: 星期五, 24 五月 2024 17:05:31 +0800 Subject: [PATCH] 写用户端接口 --- ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomGoodsServiceImpl.java | 116 +++++++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 87 insertions(+), 29 deletions(-) diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomGoodsServiceImpl.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomGoodsServiceImpl.java index c46947e..2ea8ce2 100644 --- a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomGoodsServiceImpl.java +++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomGoodsServiceImpl.java @@ -2,9 +2,10 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.ruoyi.auction.controller.forepart.DTO.AuctionSalesroomGoodsDTO; -import com.ruoyi.auction.controller.forepart.VO.AuctionSalesroomVO; -import com.ruoyi.auction.controller.forepart.VO.ForepartAuctionSalesroomGoodsVO; +import com.ruoyi.auction.controller.forepart.dto.AuctionSalesroomGoodsDTO; +import com.ruoyi.auction.controller.forepart.dto.OrderDTO; +import com.ruoyi.auction.controller.forepart.vo.AuctionSalesroomVO; +import com.ruoyi.auction.controller.forepart.vo.ForepartAuctionSalesroomGoodsVO; import com.ruoyi.auction.domain.pojo.AuctionBidRecord; import com.ruoyi.auction.domain.pojo.AuctionSalesroom; import com.ruoyi.auction.domain.pojo.AuctionSalesroomGoods; @@ -14,17 +15,20 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.auction.service.IAuctionSalesroomService; import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.enums.AuctionOrderTypeEnum; import com.ruoyi.common.core.enums.AuctionStartStatusEnum; import com.ruoyi.common.core.enums.BidStatusEnum; +import com.ruoyi.common.core.enums.OrderFromEnum; import com.ruoyi.system.api.domain.GoodsSku; +import com.ruoyi.system.api.domain.MemberAddress; +import com.ruoyi.system.api.domain.dto.OrderAuctionBondDTO; import com.ruoyi.system.api.feignClient.GoodsSkuClient; -import io.swagger.annotations.ApiOperation; -import org.apache.poi.ss.formula.functions.T; +import com.ruoyi.system.api.feignClient.MemberClient; +import com.ruoyi.system.api.feignClient.OrderClient; import org.springframework.stereotype.Service; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; import javax.annotation.Resource; +import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; @@ -51,28 +55,34 @@ @Resource private IAuctionBidRecordService iAuctionBidRecordService; + @Resource + private MemberClient emberClient; + + @Resource + private OrderClient orderClient; + /** * 拍卖大屏的商品介绍 * */ @Override - public ForepartAuctionSalesroomGoodsVO getAuctionSalesroomGoods(Integer SalesroomId) { + public ForepartAuctionSalesroomGoodsVO getAuctionSalesroomGoods(AuctionSalesroomGoodsDTO ationSalesroomGoodsDTO) { ForepartAuctionSalesroomGoodsVO forepartAuctionSalesroomGoodsVO =new ForepartAuctionSalesroomGoodsVO(); - AuctionSalesroom auctionSalesroom=iAuctionSalesroomService.getById(SalesroomId); + AuctionSalesroom auctionSalesroom=iAuctionSalesroomService.getById(ationSalesroomGoodsDTO.getAuctionSalesroomId()); forepartAuctionSalesroomGoodsVO.setSalesroomId(auctionSalesroom.getId()); forepartAuctionSalesroomGoodsVO.setSalesroomName(auctionSalesroom.getSalesroomName()); forepartAuctionSalesroomGoodsVO.setSalesroomType(auctionSalesroom.getType().getCode()); LambdaQueryWrapper<AuctionSalesroomGoods> wrapper=Wrappers.lambdaQuery(); wrapper.eq(AuctionSalesroomGoods::getStatus,1); - wrapper.eq(AuctionSalesroomGoods::getAuctionSalesroomId,SalesroomId); + wrapper.eq(AuctionSalesroomGoods::getAuctionSalesroomId,ationSalesroomGoodsDTO.getAuctionSalesroomId()); wrapper.eq(AuctionSalesroomGoods::getDelFlag,0); AuctionSalesroomGoods auctionSalesroomGoods=iAuctionSalesroomGoodsService.getOne(wrapper); if (auctionSalesroomGoods==null){ LambdaQueryWrapper<AuctionSalesroomGoods> wrapper1=Wrappers.lambdaQuery(); wrapper1.eq(AuctionSalesroomGoods::getStatus,2); wrapper1.eq(AuctionSalesroomGoods::getDelFlag,0); - wrapper1.eq(AuctionSalesroomGoods::getAuctionSalesroomId,SalesroomId); + wrapper1.eq(AuctionSalesroomGoods::getAuctionSalesroomId,ationSalesroomGoodsDTO.getAuctionSalesroomId()); wrapper1.orderByAsc(AuctionSalesroomGoods::getSortNum); wrapper1.last("limit 1"); auctionSalesroomGoods=iAuctionSalesroomGoodsService.getOne(wrapper1); @@ -80,7 +90,7 @@ LambdaQueryWrapper<AuctionSalesroomGoods> wrapper2=Wrappers.lambdaQuery(); wrapper2.eq(AuctionSalesroomGoods::getStatus,0); wrapper2.eq(AuctionSalesroomGoods::getDelFlag,0); - wrapper2.eq(AuctionSalesroomGoods::getAuctionSalesroomId,SalesroomId); + wrapper2.eq(AuctionSalesroomGoods::getAuctionSalesroomId,ationSalesroomGoodsDTO.getAuctionSalesroomId()); wrapper2.orderByAsc(AuctionSalesroomGoods::getSortNum); wrapper2.last("limit 1"); auctionSalesroomGoods=iAuctionSalesroomGoodsService.getOne(wrapper2); @@ -120,9 +130,9 @@ * */ @Override - public AuctionSalesroomVO getAuctionSalesroominfo(Integer SalesroomId) { + public AuctionSalesroomVO getAuctionSalesroominfo(AuctionSalesroomGoodsDTO ationSalesroomGoodsDTO) { ForepartAuctionSalesroomGoodsVO forepartAuctionSalesroomGoodsVO =new ForepartAuctionSalesroomGoodsVO(); - AuctionSalesroom auctionSalesroom=iAuctionSalesroomService.getById(SalesroomId); + AuctionSalesroom auctionSalesroom=iAuctionSalesroomService.getById(ationSalesroomGoodsDTO.getAuctionSalesroomId()); AuctionSalesroomVO auctionSalesroomVO=new AuctionSalesroomVO(); auctionSalesroomVO.setCoverPic(auctionSalesroom.getCoverPic()); auctionSalesroomVO.setDescription(auctionSalesroom.getDescription()); @@ -136,7 +146,7 @@ LambdaQueryWrapper<AuctionSalesroomGoods> wrapper=Wrappers.lambdaQuery(); wrapper.eq(AuctionSalesroomGoods::getStatus,0); wrapper.eq(AuctionSalesroomGoods::getDelFlag,0); - wrapper.eq(AuctionSalesroomGoods::getAuctionSalesroomId,SalesroomId); + wrapper.eq(AuctionSalesroomGoods::getAuctionSalesroomId,ationSalesroomGoodsDTO.getAuctionSalesroomId()); wrapper.orderByAsc(AuctionSalesroomGoods::getSortNum); List<AuctionSalesroomGoods> auctionSalesroomGoods=iAuctionSalesroomGoodsService.list(wrapper); for (AuctionSalesroomGoods salesroomGoods:auctionSalesroomGoods){ @@ -152,7 +162,7 @@ LambdaQueryWrapper<AuctionSalesroomGoods> wrapper=Wrappers.lambdaQuery(); wrapper.eq(AuctionSalesroomGoods::getStatus,1); wrapper.eq(AuctionSalesroomGoods::getDelFlag,0); - wrapper.eq(AuctionSalesroomGoods::getAuctionSalesroomId,SalesroomId); + wrapper.eq(AuctionSalesroomGoods::getAuctionSalesroomId,ationSalesroomGoodsDTO.getAuctionSalesroomId()); wrapper.last("limit 1"); AuctionSalesroomGoods auctionSalesroomGoods= iAuctionSalesroomGoodsService.getOne(wrapper); ForepartAuctionSalesroomGoodsVO currentAuctionSalesroomGoods= new ForepartAuctionSalesroomGoodsVO(); @@ -179,9 +189,9 @@ auctionSalesroomVO.setNextAuctionSalesroomGoods(nextAuctionSalesroomGoods); } LambdaQueryWrapper<AuctionSalesroomGoods> wrapper2=Wrappers.lambdaQuery(); - wrapper2.in(AuctionSalesroomGoods::getSortNum,list); + wrapper2.notIn(AuctionSalesroomGoods::getSortNum,list); wrapper2.eq(AuctionSalesroomGoods::getDelFlag,0); - wrapper2.eq(AuctionSalesroomGoods::getAuctionSalesroomId,SalesroomId); + wrapper2.eq(AuctionSalesroomGoods::getAuctionSalesroomId,ationSalesroomGoodsDTO.getAuctionSalesroomId()); wrapper2.orderByAsc(AuctionSalesroomGoods::getSortNum); wrapper2.orderByAsc(AuctionSalesroomGoods::getStatus); List<AuctionSalesroomGoods> auctionSalesroomGoods2=iAuctionSalesroomGoodsService.list(wrapper2); @@ -190,7 +200,7 @@ R<GoodsSku> goodsSkuOne2 = goodsSkuClient.getGoodsSkuOne(salesroomGoods.getGoodsSkuId()); GoodsSku goodsSku2=goodsSkuOne2.getData(); forepartAuctionSalesroomGoodsVO1.setGoodsSkuName(salesroomGoods.getGoodsSkuName()); - forepartAuctionSalesroomGoodsVO1.setCoverPic(goodsSku.getCoverPic()); + forepartAuctionSalesroomGoodsVO1.setCoverPic(goodsSku2.getCoverPic()); auctionSalesroomGoodsVOS.add(forepartAuctionSalesroomGoodsVO1); } @@ -210,9 +220,9 @@ * */ @Override - public void auctionSalesroomStart(Integer SalesroomId) { + public void auctionSalesroomStart(AuctionSalesroomGoodsDTO ationSalesroomGoodsDTO) { ForepartAuctionSalesroomGoodsVO forepartAuctionSalesroomGoodsVO =new ForepartAuctionSalesroomGoodsVO(); - AuctionSalesroom auctionSalesroom=iAuctionSalesroomService.getById(SalesroomId); + AuctionSalesroom auctionSalesroom=iAuctionSalesroomService.getById(ationSalesroomGoodsDTO.getAuctionSalesroomId()); auctionSalesroom.setStatus(AuctionStartStatusEnum.IN_AUCTION); auctionSalesroom.setStartTime(LocalDateTime.now()); iAuctionSalesroomService.updateById(auctionSalesroom); @@ -220,7 +230,7 @@ LambdaQueryWrapper<AuctionSalesroomGoods> wrapper2=Wrappers.lambdaQuery(); wrapper2.eq(AuctionSalesroomGoods::getStatus,0); wrapper2.eq(AuctionSalesroomGoods::getDelFlag,0); - wrapper2.eq(AuctionSalesroomGoods::getAuctionSalesroomId,SalesroomId); + wrapper2.eq(AuctionSalesroomGoods::getAuctionSalesroomId,ationSalesroomGoodsDTO.getAuctionSalesroomId()); wrapper2.orderByAsc(AuctionSalesroomGoods::getSortNum); wrapper2.last("limit 1"); AuctionSalesroomGoods auctionSalesroomGoods=iAuctionSalesroomGoodsService.getOne(wrapper2); @@ -235,9 +245,9 @@ * */ @Override - public void auctionSalesroomEnd(Integer SalesroomId) { + public void auctionSalesroomEnd(AuctionSalesroomGoodsDTO ationSalesroomGoodsDTO) { ForepartAuctionSalesroomGoodsVO forepartAuctionSalesroomGoodsVO =new ForepartAuctionSalesroomGoodsVO(); - AuctionSalesroom auctionSalesroom=iAuctionSalesroomService.getById(SalesroomId); + AuctionSalesroom auctionSalesroom=iAuctionSalesroomService.getById(ationSalesroomGoodsDTO.getAuctionSalesroomId()); auctionSalesroom.setStatus(AuctionStartStatusEnum.ENDED); auctionSalesroom.setEndTime(LocalDateTime.now()); iAuctionSalesroomService.updateById(auctionSalesroom); @@ -245,11 +255,28 @@ LambdaQueryWrapper<AuctionSalesroomGoods> wrapper2=Wrappers.lambdaQuery(); wrapper2.eq(AuctionSalesroomGoods::getStatus,0); wrapper2.eq(AuctionSalesroomGoods::getDelFlag,0); - wrapper2.eq(AuctionSalesroomGoods::getAuctionSalesroomId,SalesroomId); + wrapper2.eq(AuctionSalesroomGoods::getAuctionSalesroomId,ationSalesroomGoodsDTO.getAuctionSalesroomId()); List<AuctionSalesroomGoods> auctionSalesroomGoods=iAuctionSalesroomGoodsService.list(wrapper2); for (AuctionSalesroomGoods salesroomGoods:auctionSalesroomGoods){ salesroomGoods.setStatus(AuctionStartStatusEnum.ENDED); iAuctionSalesroomGoodsService.updateById(salesroomGoods); + } + List<Long> list=new ArrayList<>(); + + + LambdaQueryWrapper<AuctionBidRecord> wrapper = Wrappers.lambdaQuery(); + wrapper.eq(AuctionBidRecord::getAuctionSalesroomId, ationSalesroomGoodsDTO.getAuctionSalesroomId()); + wrapper.eq(AuctionBidRecord::getDelFlag, 0); + wrapper.eq(AuctionBidRecord::getStatus,0); + List<AuctionBidRecord>auctionBidRecordList = iAuctionBidRecordService.list(wrapper); + for (AuctionBidRecord auctionBidRecord:auctionBidRecordList){ + list.add(auctionBidRecord.getMemberId()); + } + if (list.size()>0){ + OrderAuctionBondDTO orderAuctionBondDTO=new OrderAuctionBondDTO(); + orderAuctionBondDTO.setAuctionSalesroomId(auctionSalesroom.getId()); + orderAuctionBondDTO.setUserList(list); + orderClient.getOrderAuctionBond(orderAuctionBondDTO); } } @@ -259,11 +286,11 @@ * */ @Override - public List<AuctionSalesroomGoods> isAuctionSalesroom(Integer SalesroomId) { + public List<AuctionSalesroomGoods> isAuctionSalesroom(AuctionSalesroomGoodsDTO ationSalesroomGoodsDTO) { LambdaQueryWrapper<AuctionSalesroomGoods> wrapper2=Wrappers.lambdaQuery(); wrapper2.eq(AuctionSalesroomGoods::getStatus,0); wrapper2.eq(AuctionSalesroomGoods::getDelFlag,0); - wrapper2.eq(AuctionSalesroomGoods::getAuctionSalesroomId,SalesroomId); + wrapper2.eq(AuctionSalesroomGoods::getAuctionSalesroomId,ationSalesroomGoodsDTO.getAuctionSalesroomId()); List<AuctionSalesroomGoods> auctionSalesroomGoods=iAuctionSalesroomGoodsService.list(wrapper2); return auctionSalesroomGoods; } @@ -297,11 +324,13 @@ wrapper2.eq(AuctionSalesroomGoods::getDelFlag,0); wrapper2.eq(AuctionSalesroomGoods::getGoodsSkuId,auctionSalesroomGoodsDTO.getGoodsSkuId()); AuctionSalesroomGoods auctionSalesroomGood=iAuctionSalesroomGoodsService.getOne(wrapper2); - auctionSalesroomGood.setStatus(AuctionStartStatusEnum.ENDED); - iAuctionSalesroomGoodsService.updateById(auctionSalesroomGood); + + + AuctionSalesroom auctionSalesroom=iAuctionSalesroomService.getById(auctionSalesroomGood.getAuctionSalesroomId()); AuctionSalesroomGoods auctionSalesroomGoods=iAuctionSalesroomGoodsService.getById(auctionSalesroomGoodsDTO.getGoodsSkuId()); List<AuctionBidRecord> auctionBidRecordList=new ArrayList<>(); + if (auctionSalesroomGoods.getStatus().getCode()==1) { LambdaQueryWrapper<AuctionBidRecord> wrapper = Wrappers.lambdaQuery(); wrapper.eq(AuctionBidRecord::getGoodsSkuId, auctionSalesroomGoodsDTO.getGoodsSkuId()); @@ -313,14 +342,43 @@ for (int i = 0; i <= auctionSalesroomGoods.getItemQuantity(); i++) { AuctionBidRecord auctionBidRecord = auctionBidRecordList.get(i); auctionBidRecord.setStatus(BidStatusEnum.SUCCESSFUL); + AddOrder(auctionBidRecord.getGoodsSkuId(),auctionBidRecord.getMemberId(),auctionBidRecord.getLastBidAmount(),auctionSalesroom.getBound()); } } else { for (int i = 0; i <= auctionBidRecordList.size(); i++) { AuctionBidRecord auctionBidRecord = auctionBidRecordList.get(i); auctionBidRecord.setStatus(BidStatusEnum.SUCCESSFUL); + AddOrder(auctionBidRecord.getGoodsSkuId(),auctionBidRecord.getMemberId(),auctionBidRecord.getLastBidAmount(),auctionSalesroom.getBound()); } } } + auctionSalesroomGood.setStatus(AuctionStartStatusEnum.ENDED); + iAuctionSalesroomGoodsService.updateById(auctionSalesroomGood); + } + + + public void AddOrder(Long goodsSkuId, Long memberId, BigDecimal lastBidAmount,BigDecimal bound) { + OrderDTO order=new OrderDTO(); + order.setGoodsSkuId(goodsSkuId); + order.setOrderTime(LocalDateTime.now()); + order.setOrderFrom(OrderFromEnum.AUCTION_ORDERS); + order.setMemberId(memberId); + AuctionSalesroomGoods auctionSalesroomGoods=iAuctionSalesroomGoodsService.getById(goodsSkuId); + order.setGoodsQuantity(1); + order.setTotalAmount(lastBidAmount); + + R<MemberAddress> memberAddressR=emberClient.getMemberAddressOne(memberId); + MemberAddress memberAddress=memberAddressR.getData(); + order.setReceiverCity(memberAddress.getCity()); + order.setReceiverDetailAddress(memberAddress.getDetailedAddress()); + order.setReceiverphone(memberAddress.getRecipientPhone()); + order.setReceiverName(memberAddress.getRecipientName()); + order.setBound(bound); + order.setAuctionType(AuctionOrderTypeEnum.AUCTION_ITEMS); + + } + + } -- Gitblit v1.7.1