ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/MemberAddress.java
@@ -1,14 +1,18 @@ package com.ruoyi.system.api.domain; import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.io.Serializable; import java.time.LocalDateTime; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; import java.io.Serializable; import java.time.LocalDateTime; /** * <p> @@ -67,7 +71,6 @@ private Integer delFlag; @ApiModelProperty(value = "是否默认") @TableLogic private Integer isDefault; @ApiModelProperty(value = "省份/直辖市") ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/util/HuaWeiOBSUtil.java
File was renamed from ruoyi-api/ruoyi-api-system/src/main/java/util/HuaWeiOBSUtil.java @@ -1,12 +1,11 @@ package util; package com.ruoyi.system.api.util; import com.obs.services.ObsClient; import com.obs.services.model.ObjectMetadata; import org.springframework.web.multipart.MultipartFile; import java.io.IOException; import java.io.InputStream; import java.util.UUID; import org.springframework.web.multipart.MultipartFile; public class HuaWeiOBSUtil { ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/util/WebSocketUsers.java
File was renamed from ruoyi-api/ruoyi-api-system/src/main/java/util/WebSocketUsers.java @@ -1,4 +1,4 @@ package util; package com.ruoyi.system.api.util; import java.io.IOException; import java.util.Collection; ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/impl/ArticleServiceImpl.java
@@ -24,6 +24,7 @@ import com.ruoyi.common.core.utils.page.PageDTO; import com.ruoyi.system.api.domain.Member; import com.ruoyi.system.api.feignClient.MemberClient; import com.ruoyi.system.api.util.HuaWeiOBSUtil; import java.io.IOException; import java.time.LocalDateTime; import java.util.ArrayList; @@ -31,7 +32,6 @@ import javax.annotation.Resource; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; import util.HuaWeiOBSUtil; /** * <p> ruoyi-modules/ruoyi-auction/pom.xml
@@ -137,6 +137,13 @@ <groupId>com.google.zxing</groupId> <artifactId>core</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build> ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionBidRecordServiceImpl.java
@@ -7,8 +7,8 @@ import com.ruoyi.auction.domain.AuctionBidRecord; import com.ruoyi.auction.domain.AuctionSalesroomGoods; import com.ruoyi.auction.mapper.AuctionBidRecordMapper; import com.ruoyi.auction.mapper.AuctionSalesroomGoodsMapper; import com.ruoyi.auction.service.IAuctionBidRecordService; import com.ruoyi.auction.service.IAuctionSalesroomGoodsService; import com.ruoyi.common.core.enums.AuctionOrderTypeEnum; import com.ruoyi.common.core.enums.BidStatusEnum; import java.util.ArrayList; @@ -26,22 +26,21 @@ */ @Service public class AuctionBidRecordServiceImpl extends ServiceImpl<AuctionBidRecordMapper, AuctionBidRecord> implements IAuctionBidRecordService { @Resource private IAuctionBidRecordService iAuctionBidRecordService; @Resource private IAuctionSalesroomGoodsService iAuctionSalesroomGoodsService; private AuctionSalesroomGoodsMapper auctionSalesroomGoodsMapper; @Override public List<AuctionBidRecord> getAuctionBidRecordList(AuctionSalesroomGoodsDTO auctionSalesroomGoodsDTO) { AuctionSalesroomGoods auctionSalesroomGoods=iAuctionSalesroomGoodsService.getById(auctionSalesroomGoodsDTO.getGoodsSkuId()); AuctionSalesroomGoods auctionSalesroomGoods = auctionSalesroomGoodsMapper.selectById( auctionSalesroomGoodsDTO.getGoodsSkuId()); List<AuctionBidRecord> auctionBidRecordList=new ArrayList<>(); if (auctionSalesroomGoods.getStatus().getCode()==1){ LambdaQueryWrapper<AuctionBidRecord> wrapper=Wrappers.lambdaQuery(); wrapper.eq(AuctionBidRecord::getTargetId,auctionSalesroomGoodsDTO.getGoodsSkuId()); wrapper.eq(AuctionBidRecord::getDelFlag,0); wrapper.orderByDesc(AuctionBidRecord::getLastBidAmount); auctionBidRecordList=iAuctionBidRecordService.list(wrapper); auctionBidRecordList = this.list(wrapper); //判断 if (auctionBidRecordList.size()>=auctionSalesroomGoods.getSalesroomStock()){ for (int i=0;i<=auctionSalesroomGoods.getSalesroomStock();i++){ @@ -60,7 +59,7 @@ wrapper.eq(AuctionBidRecord::getStatus,2); wrapper.eq(AuctionBidRecord::getDelFlag,0); wrapper.orderByDesc(AuctionBidRecord::getLastBidAmount); auctionBidRecordList=iAuctionBidRecordService.list(wrapper); auctionBidRecordList = this.list(wrapper); } return auctionBidRecordList; ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionGoodsServiceImpl.java
@@ -16,6 +16,7 @@ import com.ruoyi.auction.service.IAuctionBidRecordService; import com.ruoyi.auction.service.IAuctionBrowseRecordService; import com.ruoyi.auction.service.IAuctionGoodsService; import com.ruoyi.auction.service.IMemberAuctionCollectionService; import com.ruoyi.common.core.constant.SecurityConstants; import com.ruoyi.common.core.enums.AuctionOrderTypeEnum; import com.ruoyi.common.core.enums.AuctionStartStatusEnum; @@ -80,10 +81,7 @@ private final IAuctionBidRecordService auctionBidRecordService; @Resource private MemberAuctionCollectionServiceImpl memberAuctionCollectionServiceImpl; @Resource private IAuctionGoodsService auctionGoodsService; private IMemberAuctionCollectionService memberAuctionCollectionService; @Resource private AuctionGoodsMapper auctionGoodsMapper; @@ -369,7 +367,7 @@ @Override public AuctionGoodsinfoVO getAuctionGoodsInfo(AuctionGoodsListDTO auctionGoodsListDTO) { AuctionGoods byId = auctionGoodsService.getById(auctionGoodsListDTO.getGoodsSkuId()); AuctionGoods byId = auctionGoodsMapper.selectById(auctionGoodsListDTO.getGoodsSkuId()); GoodsSku goodsSkuOne = goodsSkuClient.getGoodsSkuOne(byId.getGoodsSkuId(), SecurityConstants.INNER).getData(); AuctionGoodsinfoVO auctionGoodsinfoVO=new AuctionGoodsinfoVO(); auctionGoodsinfoVO.setGoodsSkuId(byId.getGoodsSkuId()); @@ -420,7 +418,7 @@ wrapper2.eq(MemberAuctionCollection::getMemberId,auctionGoodsListDTO.getMemberId()); wrapper2.eq(MemberAuctionCollection::getTargetId,byId.getId()); wrapper2.eq(MemberAuctionCollection::getDelFlag,0); MemberAuctionCollection one = memberAuctionCollectionServiceImpl.getOne(wrapper2); MemberAuctionCollection one = memberAuctionCollectionService.getOne(wrapper2); if (one!=null){ auctionGoodsinfoVO.setIsCollection(2); }else { ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomGoodsServiceImpl.java
@@ -14,11 +14,10 @@ import com.ruoyi.auction.domain.AuctionBidRecord; import com.ruoyi.auction.domain.AuctionBrowseRecord; import com.ruoyi.auction.domain.AuctionSalesroomGoods; import com.ruoyi.auction.mapper.AuctionBidRecordMapper; import com.ruoyi.auction.mapper.AuctionSalesroomGoodsMapper; import com.ruoyi.auction.service.IAuctionBidRecordService; import com.ruoyi.auction.service.IAuctionBrowseRecordService; import com.ruoyi.auction.mapper.AuctionSalesroomMapper; 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.enums.AuctionOrderTypeEnum; @@ -60,13 +59,10 @@ private GoodsSkuClient goodsSkuClient; @Resource private IAuctionSalesroomService iAuctionSalesroomService; private AuctionSalesroomMapper auctionSalesroomMapper; @Resource private IAuctionSalesroomGoodsService iAuctionSalesroomGoodsService; @Resource private IAuctionBidRecordService iAuctionBidRecordService; private AuctionBidRecordMapper auctionBidRecordMapper; @Resource private MemberClient emberClient; @@ -74,8 +70,7 @@ @Resource private OrderClient orderClient; @Resource private IAuctionBrowseRecordService iAuctionBrowseRecordService; @@ -86,7 +81,8 @@ @Override public ForepartAuctionSalesroomGoodsVO getAuctionSalesroomGoods(AuctionSalesroomGoodsDTO ationSalesroomGoodsDTO) { ForepartAuctionSalesroomGoodsVO forepartAuctionSalesroomGoodsVO =new ForepartAuctionSalesroomGoodsVO(); AuctionSalesroom auctionSalesroom=iAuctionSalesroomService.getById(ationSalesroomGoodsDTO.getAuctionSalesroomId()); AuctionSalesroom auctionSalesroom = auctionSalesroomMapper.selectById( ationSalesroomGoodsDTO.getAuctionSalesroomId()); forepartAuctionSalesroomGoodsVO.setSalesroomId(auctionSalesroom.getId()); forepartAuctionSalesroomGoodsVO.setSalesroomName(auctionSalesroom.getSalesroomName()); forepartAuctionSalesroomGoodsVO.setSalesroomType(auctionSalesroom.getType().getCode()); @@ -94,7 +90,7 @@ wrapper.eq(AuctionSalesroomGoods::getStatus,1); wrapper.eq(AuctionSalesroomGoods::getAuctionSalesroomId,ationSalesroomGoodsDTO.getAuctionSalesroomId()); wrapper.eq(AuctionSalesroomGoods::getDelFlag,0); AuctionSalesroomGoods auctionSalesroomGoods=iAuctionSalesroomGoodsService.getOne(wrapper); AuctionSalesroomGoods auctionSalesroomGoods = this.getOne(wrapper); if (auctionSalesroomGoods==null){ LambdaQueryWrapper<AuctionSalesroomGoods> wrapper1=Wrappers.lambdaQuery(); wrapper1.eq(AuctionSalesroomGoods::getStatus,2); @@ -102,7 +98,7 @@ wrapper1.eq(AuctionSalesroomGoods::getAuctionSalesroomId,ationSalesroomGoodsDTO.getAuctionSalesroomId()); wrapper1.orderByAsc(AuctionSalesroomGoods::getSortNum); wrapper1.last("limit 1"); auctionSalesroomGoods=iAuctionSalesroomGoodsService.getOne(wrapper1); auctionSalesroomGoods = this.getOne(wrapper1); if (auctionSalesroomGoods==null){ LambdaQueryWrapper<AuctionSalesroomGoods> wrapper2=Wrappers.lambdaQuery(); wrapper2.eq(AuctionSalesroomGoods::getStatus,0); @@ -110,7 +106,7 @@ wrapper2.eq(AuctionSalesroomGoods::getAuctionSalesroomId,ationSalesroomGoodsDTO.getAuctionSalesroomId()); wrapper2.orderByAsc(AuctionSalesroomGoods::getSortNum); wrapper2.last("limit 1"); auctionSalesroomGoods=iAuctionSalesroomGoodsService.getOne(wrapper2); auctionSalesroomGoods = this.getOne(wrapper2); } } GoodsSku goodsSku = goodsSkuClient.getGoodsSkuOne(auctionSalesroomGoods.getGoodsSkuId(), SecurityConstants.INNER) @@ -132,7 +128,7 @@ wrapper1.eq(AuctionSalesroomGoods::getDelFlag,0); wrapper1.eq(AuctionSalesroomGoods::getSortNum,auctionSalesroomGoods.getSortNum()+1); wrapper1.last("limit 1"); AuctionSalesroomGoods auctionSalesroomGoods1=iAuctionSalesroomGoodsService.getOne(wrapper1); AuctionSalesroomGoods auctionSalesroomGoods1 = this.getOne(wrapper1); if (auctionSalesroomGoods1!=null){ GoodsSku goodsSku1 = goodsSkuClient.getGoodsSkuOne(auctionSalesroomGoods1.getGoodsSkuId(), SecurityConstants.INNER) .getData(); @@ -152,7 +148,8 @@ @Override public AuctionSalesroomVO getAuctionSalesroominfo(AuctionSalesroomGoodsDTO ationSalesroomGoodsDTO) { ForepartAuctionSalesroomGoodsVO forepartAuctionSalesroomGoodsVO =new ForepartAuctionSalesroomGoodsVO(); AuctionSalesroom auctionSalesroom=iAuctionSalesroomService.getById(ationSalesroomGoodsDTO.getAuctionSalesroomId()); AuctionSalesroom auctionSalesroom = auctionSalesroomMapper.selectById( ationSalesroomGoodsDTO.getAuctionSalesroomId()); AuctionSalesroomVO auctionSalesroomVO=new AuctionSalesroomVO(); auctionSalesroomVO.setCoverPic(auctionSalesroom.getCoverPic()); auctionSalesroomVO.setDescription(auctionSalesroom.getDescription()); @@ -168,7 +165,7 @@ wrapper.eq(AuctionSalesroomGoods::getDelFlag,0); wrapper.eq(AuctionSalesroomGoods::getAuctionSalesroomId,ationSalesroomGoodsDTO.getAuctionSalesroomId()); wrapper.orderByAsc(AuctionSalesroomGoods::getSortNum); List<AuctionSalesroomGoods> auctionSalesroomGoods=iAuctionSalesroomGoodsService.list(wrapper); List<AuctionSalesroomGoods> auctionSalesroomGoods = this.list(wrapper); for (AuctionSalesroomGoods salesroomGoods:auctionSalesroomGoods){ ForepartAuctionSalesroomGoodsVO forepartAuctionSalesroomGoodsVO1=new ForepartAuctionSalesroomGoodsVO(); R<GoodsSku> goodsSkuOne = goodsSkuClient.getGoodsSkuOne( @@ -185,7 +182,7 @@ wrapper.eq(AuctionSalesroomGoods::getDelFlag,0); wrapper.eq(AuctionSalesroomGoods::getAuctionSalesroomId,ationSalesroomGoodsDTO.getAuctionSalesroomId()); wrapper.last("limit 1"); AuctionSalesroomGoods auctionSalesroomGoods= iAuctionSalesroomGoodsService.getOne(wrapper); AuctionSalesroomGoods auctionSalesroomGoods = this.getOne(wrapper); ForepartAuctionSalesroomGoodsVO currentAuctionSalesroomGoods= new ForepartAuctionSalesroomGoodsVO(); R<GoodsSku> goodsSkuOne = goodsSkuClient.getGoodsSkuOne( auctionSalesroomGoods.getGoodsSkuId(), SecurityConstants.INNER); @@ -200,7 +197,7 @@ wrapper1.eq(AuctionSalesroomGoods::getDelFlag,0); wrapper1.eq(AuctionSalesroomGoods::getSortNum,auctionSalesroomGoods.getSortNum()+1); wrapper1.last("limit 1"); AuctionSalesroomGoods auctionSalesroomGoods1=iAuctionSalesroomGoodsService.getOne(wrapper1); AuctionSalesroomGoods auctionSalesroomGoods1 = this.getOne(wrapper1); ForepartAuctionSalesroomGoodsVO nextAuctionSalesroomGoods= new ForepartAuctionSalesroomGoodsVO(); if (auctionSalesroomGoods1!=null){ list.add(auctionSalesroomGoods.getSortNum()+1); @@ -217,7 +214,7 @@ wrapper2.eq(AuctionSalesroomGoods::getAuctionSalesroomId,ationSalesroomGoodsDTO.getAuctionSalesroomId()); wrapper2.orderByAsc(AuctionSalesroomGoods::getSortNum); wrapper2.orderByAsc(AuctionSalesroomGoods::getStatus); List<AuctionSalesroomGoods> auctionSalesroomGoods2=iAuctionSalesroomGoodsService.list(wrapper2); List<AuctionSalesroomGoods> auctionSalesroomGoods2 = this.list(wrapper2); for (AuctionSalesroomGoods salesroomGoods:auctionSalesroomGoods2){ ForepartAuctionSalesroomGoodsVO forepartAuctionSalesroomGoodsVO1=new ForepartAuctionSalesroomGoodsVO(); R<GoodsSku> goodsSkuOne2 = goodsSkuClient.getGoodsSkuOne( @@ -272,10 +269,11 @@ */ @Override public void auctionSalesroomStart(AuctionSalesroomGoodsDTO ationSalesroomGoodsDTO) { AuctionSalesroom auctionSalesroom=iAuctionSalesroomService.getById(ationSalesroomGoodsDTO.getAuctionSalesroomId()); AuctionSalesroom auctionSalesroom = auctionSalesroomMapper.selectById( ationSalesroomGoodsDTO.getAuctionSalesroomId()); auctionSalesroom.setStatus(AuctionStartStatusEnum.IN_AUCTION); auctionSalesroom.setStartTime(LocalDateTime.now()); iAuctionSalesroomService.updateById(auctionSalesroom); auctionSalesroomMapper.updateById(auctionSalesroom); LambdaQueryWrapper<AuctionSalesroomGoods> wrapper2=Wrappers.lambdaQuery(); wrapper2.eq(AuctionSalesroomGoods::getStatus,0); @@ -283,9 +281,9 @@ wrapper2.eq(AuctionSalesroomGoods::getAuctionSalesroomId,ationSalesroomGoodsDTO.getAuctionSalesroomId()); wrapper2.orderByAsc(AuctionSalesroomGoods::getSortNum); wrapper2.last("limit 1"); AuctionSalesroomGoods auctionSalesroomGoods=iAuctionSalesroomGoodsService.getOne(wrapper2); AuctionSalesroomGoods auctionSalesroomGoods = this.getOne(wrapper2); auctionSalesroomGoods.setStatus(AuctionStartStatusEnum.IN_AUCTION); iAuctionSalesroomGoodsService.updateById(auctionSalesroomGoods); this.updateById(auctionSalesroomGoods); } @@ -296,16 +294,17 @@ */ @Override public void auctionSalesroomEnd(AuctionSalesroomGoodsDTO ationSalesroomGoodsDTO) { AuctionSalesroom auctionSalesroom=iAuctionSalesroomService.getById(ationSalesroomGoodsDTO.getAuctionSalesroomId()); AuctionSalesroom auctionSalesroom = auctionSalesroomMapper.selectById( ationSalesroomGoodsDTO.getAuctionSalesroomId()); auctionSalesroom.setStatus(AuctionStartStatusEnum.ENDED); auctionSalesroom.setEndTime(LocalDateTime.now()); iAuctionSalesroomService.updateById(auctionSalesroom); auctionSalesroomMapper.updateById(auctionSalesroom); LambdaQueryWrapper<AuctionSalesroomGoods> wrapper2=Wrappers.lambdaQuery(); wrapper2.eq(AuctionSalesroomGoods::getStatus,0); wrapper2.eq(AuctionSalesroomGoods::getDelFlag,0); wrapper2.eq(AuctionSalesroomGoods::getAuctionSalesroomId,ationSalesroomGoodsDTO.getAuctionSalesroomId()); List<AuctionSalesroomGoods> auctionSalesroomGoods=iAuctionSalesroomGoodsService.list(wrapper2); List<AuctionSalesroomGoods> auctionSalesroomGoods=this.list(wrapper2); if (auctionSalesroomGoods.size()>0){ for (AuctionSalesroomGoods salesroomGoods:auctionSalesroomGoods){ salesroomGoods.setStatus(AuctionStartStatusEnum.ENDED); @@ -325,7 +324,7 @@ wrapper.eq(AuctionBidRecord::getAuctionSalesroomId, ationSalesroomGoodsDTO.getAuctionSalesroomId()); wrapper.eq(AuctionBidRecord::getDelFlag, 0); wrapper.eq(AuctionBidRecord::getStatus,0); List<AuctionBidRecord>auctionBidRecordList = iAuctionBidRecordService.list(wrapper); List<AuctionBidRecord> auctionBidRecordList = auctionBidRecordMapper.selectList(wrapper); for (AuctionBidRecord auctionBidRecord:auctionBidRecordList){ list.add(auctionBidRecord.getMemberId()); } @@ -349,7 +348,7 @@ wrapper2.eq(AuctionSalesroomGoods::getStatus,0); wrapper2.eq(AuctionSalesroomGoods::getDelFlag,0); wrapper2.eq(AuctionSalesroomGoods::getAuctionSalesroomId,ationSalesroomGoodsDTO.getAuctionSalesroomId()); List<AuctionSalesroomGoods> auctionSalesroomGoods=iAuctionSalesroomGoodsService.list(wrapper2); List<AuctionSalesroomGoods> auctionSalesroomGoods = this.list(wrapper2); return auctionSalesroomGoods; } @@ -364,9 +363,9 @@ wrapper2.eq(AuctionSalesroomGoods::getAuctionSalesroomId,auctionSalesroomGoodsDTO.getAuctionSalesroomId()); wrapper2.eq(AuctionSalesroomGoods::getDelFlag,0); wrapper2.eq(AuctionSalesroomGoods::getGoodsSkuId,auctionSalesroomGoodsDTO.getGoodsSkuId()); AuctionSalesroomGoods auctionSalesroomGoods=iAuctionSalesroomGoodsService.getOne(wrapper2); AuctionSalesroomGoods auctionSalesroomGoods=this.getOne(wrapper2); auctionSalesroomGoods.setStatus(AuctionStartStatusEnum.IN_AUCTION); iAuctionSalesroomGoodsService.updateById(auctionSalesroomGoods); this.updateById(auctionSalesroomGoods); } @@ -383,10 +382,10 @@ wrapper2.eq(AuctionSalesroomGoods::getAuctionSalesroomId,auctionSalesroomGoodsDTO.getAuctionSalesroomId()); wrapper2.eq(AuctionSalesroomGoods::getDelFlag,0); wrapper2.eq(AuctionSalesroomGoods::getGoodsSkuId,auctionSalesroomGoodsDTO.getGoodsSkuId()); AuctionSalesroomGoods auctionSalesroomGood=iAuctionSalesroomGoodsService.getOne(wrapper2); AuctionSalesroom auctionSalesroom=iAuctionSalesroomService.getById(auctionSalesroomGood.getAuctionSalesroomId()); AuctionSalesroomGoods auctionSalesroomGood=this.getOne(wrapper2); AuctionSalesroom auctionSalesroom=this.getById(auctionSalesroomGood.getAuctionSalesroomId()); AuctionSalesroomGoods auctionSalesroomGoods=iAuctionSalesroomGoodsService.getById(auctionSalesroomGoodsDTO.getGoodsSkuId()); AuctionSalesroomGoods auctionSalesroomGoods=this.getById(auctionSalesroomGoodsDTO.getGoodsSkuId()); List<AuctionBidRecord> auctionBidRecordList=new ArrayList<>(); if (auctionSalesroomGoods.getStatus().getCode()==1) { @@ -394,7 +393,7 @@ wrapper.eq(AuctionBidRecord::getTargetId, auctionSalesroomGoodsDTO.getGoodsSkuId()); wrapper.eq(AuctionBidRecord::getDelFlag, 0); wrapper.orderByDesc(AuctionBidRecord::getLastBidAmount); auctionBidRecordList = iAuctionBidRecordService.list(wrapper); auctionBidRecordList = auctionBidRecordMapper.selectList(wrapper); if(auctionBidRecordList.size()>0){ //判断 if (auctionBidRecordList.size() >= auctionSalesroomGoods.getSalesroomStock()) { @@ -419,26 +418,18 @@ auctionBidRecord.getLastBidAmount(), auctionSalesroom.getBond()); } } }else { // 没有人出价,退回拍卖商品库存 GoodsStockUpdDTO goodsStockUpdDTO = new GoodsStockUpdDTO(); goodsStockUpdDTO.setGoodsSkuId(auctionSalesroomGoods.getGoodsSkuId()); goodsStockUpdDTO.setAuctionStock(auctionSalesroomGoods.getSalesroomStock()); goodsSkuClient.updGoodsStock(Lists.newArrayList(goodsStockUpdDTO), SecurityConstants.INNER); } } auctionSalesroomGood.setStatus(AuctionStartStatusEnum.ENDED); iAuctionSalesroomGoodsService.updateById(auctionSalesroomGood); this.updateById(auctionSalesroomGood); } @Override public AuctionSalesroomGoodsInfoVO getAuctionSalesroomGoodsInfo(AuctionSalesroomGoodsInfoDTO auctionSalesroomGoodsInfoDTO) { AuctionSalesroom byId = iAuctionSalesroomService.getById(auctionSalesroomGoodsInfoDTO.getAuctionSalesroomId()); AuctionSalesroomGoods byId1 = iAuctionSalesroomGoodsService.getById(auctionSalesroomGoodsInfoDTO.getGoodsSkuId()); AuctionSalesroom byId = auctionSalesroomMapper.selectById(auctionSalesroomGoodsInfoDTO.getAuctionSalesroomId()); AuctionSalesroomGoods byId1 = this.getById(auctionSalesroomGoodsInfoDTO.getGoodsSkuId()); GoodsSku goodsSku = goodsSkuClient.getGoodsSkuOne(byId1.getGoodsSkuId(), SecurityConstants.INNER).getData(); AuctionSalesroomGoodsInfoVO AuctionSalesroomGoodsInfoVO=new AuctionSalesroomGoodsInfoVO(); AuctionSalesroomGoodsInfoVO.setSalesroomId(byId.getId()); @@ -473,7 +464,7 @@ wrapper1.eq(AuctionBidRecord::getAuctionType,2); wrapper1.eq(AuctionBidRecord::getTargetId,byId1.getId()); wrapper1.eq(AuctionBidRecord::getDelFlag,0); AuctionBidRecord list1 = iAuctionBidRecordService.getOne(wrapper1); AuctionBidRecord list1 = auctionBidRecordMapper.selectOne(wrapper1); if (list1!=null){ AuctionSalesroomGoodsInfoVO.setIsBond(2); AuctionSalesroomGoodsInfoVO.setPresentBid(list1.getLastBidAmount()); @@ -498,7 +489,7 @@ wrapper.eq(AuctionBidRecord::getTargetId,auctionSalesroomGoodsInfoDTO.getGoodsSkuId()); wrapper.orderByDesc(AuctionBidRecord::getLastBidAmount); wrapper.last("limit 10"); List<AuctionBidRecord> auctionBidRecordList=iAuctionBidRecordService.list(wrapper); List<AuctionBidRecord> auctionBidRecordList = auctionBidRecordMapper.selectList(wrapper); List<AuctionBidRecordVO> auctionBidRecordVOList=new ArrayList<>(); for (int i=0;i<auctionBidRecordList.size();i++){ AuctionBidRecordVO auctionBidRecordVO=new AuctionBidRecordVO(); @@ -517,7 +508,7 @@ wrapper1.eq(AuctionBidRecord::getTargetId,auctionSalesroomGoodsInfoDTO.getGoodsSkuId()); wrapper1.eq(AuctionBidRecord::getMemberId,auctionSalesroomGoodsInfoDTO.getMemberId()); wrapper.last("limit 1"); AuctionBidRecord auctionBidRecord=iAuctionBidRecordService.getOne(wrapper); AuctionBidRecord auctionBidRecord = auctionBidRecordMapper.selectOne(wrapper); LambdaQueryWrapper<AuctionBidRecord> wrapper3=Wrappers.lambdaQuery(); wrapper3.eq(AuctionBidRecord::getAuctionSalesroomId,auctionSalesroomGoodsInfoDTO.getAuctionSalesroomId()); @@ -525,7 +516,7 @@ wrapper3.eq(AuctionBidRecord::getTargetId,auctionSalesroomGoodsInfoDTO.getGoodsSkuId()); wrapper3.le(AuctionBidRecord::getId,auctionBidRecord.getId()); wrapper3.orderByDesc(AuctionBidRecord::getLastBidAmount); Long count=iAuctionBidRecordService.count(wrapper); Long count = auctionBidRecordMapper.selectCount(wrapper); if (count>0){ AuctionBidRecordVO auctionBidRecordVO=new AuctionBidRecordVO(); auctionBidRecordVO.setSort(Integer.valueOf(count.intValue())); @@ -547,7 +538,7 @@ order.setOrderTime(LocalDateTime.now()); order.setOrderFrom(OrderFromEnum.AUCTION_ORDERS); order.setMemberId(memberId); AuctionSalesroomGoods auctionSalesroomGoods=iAuctionSalesroomGoodsService.getById(goodsSkuId); AuctionSalesroomGoods auctionSalesroomGoods = this.getById(goodsSkuId); order.setGoodsQuantity(1); order.setTotalAmount(lastBidAmount); ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java
@@ -92,8 +92,6 @@ */ @Service public class AuctionSalesroomServiceImpl extends ServiceImpl<AuctionSalesroomMapper, AuctionSalesroom> implements IAuctionSalesroomService { @Resource private IAuctionSalesroomService iAuctionSalesroomService; @Resource private IAuctionBidRecordService auctionBidRecordService; @@ -173,7 +171,7 @@ LambdaQueryWrapper<AuctionSalesroom> wrapper=Wrappers.lambdaQuery(); wrapper.eq(AuctionSalesroom::getSalesroomName,ationSalesroomGoodsDTO.getSalesroomName()); wrapper.eq(AuctionSalesroom::getDelFlag,0); Page<AuctionSalesroom> page1=iAuctionSalesroomService.page(page, wrapper); Page<AuctionSalesroom> page1 = this.page(page, wrapper); return PageDTO.of(page1); } @@ -184,7 +182,8 @@ wrapper.eq(AuctionVideo::getDelFlag,0); AuctionVideo auctionVideo=iAuctionVideoService.getOne(wrapper); ForepartAuctionSalesroomVO forepartAuctionSalesroomVO =new ForepartAuctionSalesroomVO(); AuctionSalesroom auctionSalesroom=iAuctionSalesroomService.getById(ationSalesroomGoodsDTO.getAuctionSalesroomId()); AuctionSalesroom auctionSalesroom = this.getById( ationSalesroomGoodsDTO.getAuctionSalesroomId()); forepartAuctionSalesroomVO.setAuctionSalesroomStatus(auctionSalesroom.getStatus().getCode()); if (auctionVideo!=null){ forepartAuctionSalesroomVO.setUrl(auctionVideo.getPromotionVideoUrl()); @@ -214,7 +213,7 @@ LambdaQueryWrapper<AuctionSalesroom> wrapper=Wrappers.lambdaQuery(); wrapper.eq(AuctionSalesroom::getAuctionSalesroomNo,arepartAuctionBidRecordDTO.getAuctionSalesroomQrcode()); wrapper.eq(AuctionSalesroom::getDelFlag,0); AuctionSalesroom auctionBidRecord=iAuctionSalesroomService.getOne(wrapper); AuctionSalesroom auctionBidRecord = this.getOne(wrapper); return auctionBidRecord; } @@ -350,7 +349,7 @@ @Override public MemberAuctionSalesroomInfoVO getMemberAuctionSalesroomInfo(MemberAuctionSalesroomDTO memberAuctionSalesroomDTO) { AuctionSalesroom byId = iAuctionSalesroomService.getById(memberAuctionSalesroomDTO.getAuctionSalesroomId()); AuctionSalesroom byId = this.getById(memberAuctionSalesroomDTO.getAuctionSalesroomId()); MemberAuctionSalesroomInfoVO memberAuctionSalesroomInfoVO=new MemberAuctionSalesroomInfoVO(); memberAuctionSalesroomInfoVO.setId(byId.getId()); memberAuctionSalesroomInfoVO.setBound(byId.getBond()); @@ -413,7 +412,7 @@ LambdaQueryWrapper<AuctionSalesroom> wrapper=Wrappers.lambdaQuery(); wrapper.eq(AuctionSalesroom::getAuctionSalesroomNo,MemberAuctionSalesroomDTO.getSalesroomNO()); wrapper.eq(AuctionSalesroom::getDelFlag,0); AuctionSalesroom auctionSalesroom=iAuctionSalesroomService.getOne(wrapper); AuctionSalesroom auctionSalesroom = this.getOne(wrapper); MemberAuctionSalesroomVO memberAuctionSalesroomVO=new MemberAuctionSalesroomVO(); memberAuctionSalesroomVO.setSalesroomName(auctionSalesroom.getSalesroomName()); memberAuctionSalesroomVO.setStatus(auctionSalesroom.getStatus().getCode()); ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionVideoServiceImpl.java
@@ -32,9 +32,6 @@ private PromotionClient promotionClient; @Resource private IAuctionVideoService iAuctionVideoService; @Resource private IAuctionSalesroomGoodsService iAuctionSalesroomGoodsService; /** @@ -66,9 +63,9 @@ wrapper1.eq(AuctionVideo::getAuctionSalesroomId,orepartAuctionVideo.getAuctionSalesroomId()); wrapper1.eq(AuctionVideo::getPromotionVideoId,orepartAuctionVideo.getPromotionVideoId()); wrapper1.eq(AuctionVideo::getDelFlag,0); AuctionVideo auctionVideo=iAuctionVideoService.getOne(wrapper1); AuctionVideo auctionVideo = this.getOne(wrapper1); if (auctionVideo!=null){ iAuctionVideoService.removeById(auctionVideo); this.removeById(auctionVideo); } R<PromotionVideo> promotionVideo = promotionClient.getPromotionVideoOne( @@ -80,6 +77,6 @@ auctionVideo1.setPromotionVideoId(orepartAuctionVideo.getPromotionVideoId()); auctionVideo1.setAuctionSalesroomId(orepartAuctionVideo.getAuctionSalesroomId()); auctionVideo1.setPromotionVideoUrl(promotionVideo1.getVideoUrl()); iAuctionVideoService.save(auctionVideo1); this.save(auctionVideo1); } } ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/MemberAuctionCollectionServiceImpl.java
@@ -3,11 +3,11 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.auction.domain.MemberAuctionCollection; import com.ruoyi.auction.mapper.MemberAuctionCollectionMapper; import com.ruoyi.auction.service.IAuctionGoodsService; import com.ruoyi.auction.service.IMemberAuctionCollectionService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.auction.domain.MemberAuctionCollection; import com.ruoyi.auction.mapper.AuctionGoodsMapper; import com.ruoyi.auction.mapper.MemberAuctionCollectionMapper; import com.ruoyi.auction.service.IMemberAuctionCollectionService; import com.ruoyi.common.core.constant.SecurityConstants; import com.ruoyi.common.core.exception.ServiceException; import com.ruoyi.common.core.utils.StringUtils; @@ -18,13 +18,12 @@ import com.ruoyi.system.api.domain.dto.AuctionGoodsListPageDTO; import com.ruoyi.system.api.domain.vo.AuctionGoodsListVO; import com.ruoyi.system.api.feignClient.GoodsSkuClient; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; import java.util.Set; import java.util.stream.Collectors; import javax.annotation.Resource; import org.springframework.stereotype.Service; /** * <p> @@ -38,12 +37,10 @@ public class MemberAuctionCollectionServiceImpl extends ServiceImpl<MemberAuctionCollectionMapper, MemberAuctionCollection> implements IMemberAuctionCollectionService { @Resource private IMemberAuctionCollectionService memberAuctionCollectionService; @Resource private GoodsSkuClient goodsSkuClient; @Resource private IAuctionGoodsService auctionGoodsService; private AuctionGoodsMapper auctionGoodsMapper; @Override public void saveAuctionCollection(AuctionCollectionDTO auctionCollectionDTO) { @@ -58,18 +55,18 @@ wrapper.eq(MemberAuctionCollection::getMemberId,auctionCollectionDTO.getMemberId()); wrapper.eq(MemberAuctionCollection::getTargetId,auctionCollectionDTO.getGoodsSkuId()); if (auctionCollectionDTO.getState()==1){ List<MemberAuctionCollection> list = memberAuctionCollectionService.list(wrapper); List<MemberAuctionCollection> list = this.list(wrapper); if (list.size()==0){ MemberAuctionCollection m =new MemberAuctionCollection(); m.setMemberId(auctionCollectionDTO.getMemberId()); m.setTargetId(auctionCollectionDTO.getGoodsSkuId()); memberAuctionCollectionService.save(m); this.save(m); } }else{ List<MemberAuctionCollection> list = memberAuctionCollectionService.list(wrapper); List<MemberAuctionCollection> list = this.list(wrapper); if (list.size()>0){ for (MemberAuctionCollection memberArticleCollection:list){ memberAuctionCollectionService.removeById(memberArticleCollection); this.removeById(memberArticleCollection); } } @@ -94,11 +91,11 @@ page.setCurrent(auctionCollectionDTO.getPageCurr()); LambdaQueryWrapper< MemberAuctionCollection> wrapper= Wrappers.lambdaQuery(); wrapper.in( MemberAuctionCollection::getTargetId, goodsSkuIdList); List<MemberAuctionCollection> list = memberAuctionCollectionService.list(wrapper); List<MemberAuctionCollection> list = this.list(wrapper); List<AuctionGoodsListVO> auctionGoodsVOS=new ArrayList<>(); for (MemberAuctionCollection auctionCollection:list){ AuctionGoods auctionGoods= auctionGoodsService.getById(auctionCollection.getId()); AuctionGoods auctionGoods = auctionGoodsMapper.selectById(auctionCollection.getId()); AuctionGoodsListVO auctionGoodsVO=new AuctionGoodsListVO(); auctionGoodsVO.setAuctionStock(auctionGoods.getAuctionStock()); auctionGoodsVO.setGoodsSkuId(auctionGoods.getId()); ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/inner/GoodsSkuController.java
@@ -75,8 +75,8 @@ */ @InnerAuth @PutMapping("/upd-stock") R<?> returningStock(@RequestBody List<GoodsStockUpdDTO> goodsStockUpdDTOS) { iGoodsSkuService.returningStock(goodsStockUpdDTOS); R<?> updGoodsStock(@RequestBody List<GoodsStockUpdDTO> goodsStockUpdDTOS) { iGoodsSkuService.updGoodsStock(goodsStockUpdDTOS); return R.ok(); } ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsSkuService.java
@@ -58,5 +58,5 @@ * * @param goodsStockUpdDTOS 退货库存数据传输对象 */ void returningStock(List<GoodsStockUpdDTO> goodsStockUpdDTOS); void updGoodsStock(List<GoodsStockUpdDTO> goodsStockUpdDTOS); } ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsGroupPurchaseServiceImpl.java
@@ -30,6 +30,7 @@ import com.ruoyi.system.api.domain.dto.OrderUpdDTO; import com.ruoyi.system.api.domain.dto.RefundDTO; import com.ruoyi.system.api.feignClient.OrderClient; import com.ruoyi.system.api.util.WebSocketUsers; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; @@ -39,7 +40,6 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import util.WebSocketUsers; /** * <p> ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSeckillServiceImpl.java
@@ -28,6 +28,7 @@ import com.ruoyi.system.api.domain.dto.ListStatusDTO; import com.ruoyi.system.api.feignClient.OrderClient; import com.ruoyi.system.api.feignClient.SysUserClient; import com.ruoyi.system.api.util.WebSocketUsers; import java.time.LocalDateTime; import java.util.List; import java.util.Map; @@ -37,7 +38,6 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import util.WebSocketUsers; /** * <p> ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSkuServiceImpl.java
@@ -29,9 +29,11 @@ import java.util.List; import java.util.Map; import java.util.Objects; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.redisson.api.RLock; import org.redisson.api.RedissonClient; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; @@ -217,7 +219,7 @@ */ @Override @Transactional(propagation = Propagation.REQUIRES_NEW) public void returningStock(List<GoodsStockUpdDTO> goodsStockUpdDTOS) { public void updGoodsStock(List<GoodsStockUpdDTO> goodsStockUpdDTOS) { List<Long> goodsSkuIdList = goodsStockUpdDTOS.stream() .map(GoodsStockUpdDTO::getGoodsSkuId) .collect(Collectors.toList()); @@ -230,21 +232,28 @@ .collect(Collectors.toMap(GoodsStockUpdDTO::getGoodsSkuId, GoodsStockUpdDTO::getAuctionStock)); for (GoodsSku skus : goodsSkus) { Integer auctionStock = stockMap.get(skus.getId()); if (StringUtils.isNotNull(auctionStock) && auctionStock > 0) { // 更新商品库存,更新五次失败抛出异常 boolean isUpdated = false; for (int i = 0; i < 5; i++) { isUpdated = updateGoodsStock(skus, auctionStock); if (isUpdated) { break; } else { skus = this.getById(skus.getId()); String goodsLock = "goods_lock:" + skus.getId(); RLock redissonLock = redissonClient.getLock(goodsLock); try { redissonLock.lock(100, TimeUnit.SECONDS); Integer auctionStock = stockMap.get(skus.getId()); if (StringUtils.isNotNull(auctionStock) && auctionStock > 0) { // 更新商品库存,更新五次失败抛出异常 boolean isUpdated = false; for (int i = 0; i < 5; i++) { isUpdated = updateGoodsStock(skus, auctionStock); if (isUpdated) { break; } else { skus = this.getById(skus.getId()); } } if (!isUpdated) { throw new ServiceException("商品库存回退失败"); } } if (!isUpdated) { throw new ServiceException("商品库存回退失败"); } } finally { redissonLock.unlock(); } } ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/MemberController.java
@@ -9,15 +9,18 @@ import com.ruoyi.system.api.domain.Member; import com.ruoyi.system.api.domain.dto.AppMiniLoginDTO; import com.ruoyi.system.api.domain.dto.AppMiniRegisterDTO; import com.ruoyi.system.api.util.HuaWeiOBSUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import org.apache.poi.ss.formula.functions.T; import org.springframework.web.bind.annotation.*; 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.ResponseBody; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartHttpServletRequest; import util.HuaWeiOBSUtil; /** * <p> ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/service/impl/PromotionWishListServiceImpl.java
@@ -9,13 +9,13 @@ import com.ruoyi.promotion.domain.PromotionWishList; import com.ruoyi.promotion.mapper.PromotionWishListMapper; import com.ruoyi.promotion.service.IPromotionWishListService; import com.ruoyi.system.api.util.HuaWeiOBSUtil; import java.io.IOException; import java.util.ArrayList; import java.util.List; import javax.annotation.Resource; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; import util.HuaWeiOBSUtil; /** * <p> ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/WebSocketTestController.java
@@ -1,9 +1,9 @@ package com.ruoyi.system.controller; import com.ruoyi.system.api.util.WebSocketUsers; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import util.WebSocketUsers; @RestController @RequestMapping("/websocket") ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/websocket/WebSocketServer.java
@@ -1,5 +1,6 @@ package com.ruoyi.system.websocket; import com.ruoyi.system.api.util.WebSocketUsers; import java.util.concurrent.Semaphore; import javax.websocket.OnClose; import javax.websocket.OnError; @@ -10,7 +11,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; import util.WebSocketUsers; /** * websocket 消息处理