| | |
| | | import io.seata.spring.annotation.GlobalTransactional; |
| | | import java.math.BigDecimal; |
| | | import java.time.LocalDateTime; |
| | | import java.util.*; |
| | | import java.util.ArrayList; |
| | | import java.util.Collections; |
| | | import java.util.Comparator; |
| | | import java.util.HashSet; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.Objects; |
| | | import java.util.Set; |
| | | import java.util.concurrent.ConcurrentHashMap; |
| | | import java.util.stream.Collectors; |
| | | import javax.annotation.Resource; |
| | |
| | | if (goodsSku.getStock() + auctionGoodsOrg.getAuctionStock() < dto.getAuctionStock()) { |
| | | throw new ServiceException("商品库存不足"); |
| | | } |
| | | if (!auctionGoodsOrg.getAuctionStock().equals(dto.getAuctionStock())) { |
| | | // 更新商品库存 |
| | | GoodsStockUpdDTO goodsStockUpdDTO = new GoodsStockUpdDTO(); |
| | | goodsStockUpdDTO.setGoodsSkuId(goodsSkuId); |
| | | goodsStockUpdDTO.setAuctionStock( |
| | | auctionGoodsOrg.getAuctionStock() - dto.getAuctionStock()); |
| | | goodsSkuClient.updGoodsStock(Lists.newArrayList(goodsStockUpdDTO), |
| | | SecurityConstants.INNER); |
| | | } |
| | | auctionGoodsOrg.setStartingPrice(dto.getStartingPrice()); |
| | | auctionGoodsOrg.setMinimumMarkupAmount(dto.getMinimumMarkupAmount()); |
| | | auctionGoodsOrg.setStartTime(dto.getStartTime()); |
| | |
| | | auctionGoodsOrg.setShareTitle(dto.getShareTitle()); |
| | | auctionGoodsOrg.setSharePic(dto.getSharePic()); |
| | | this.updateById(auctionGoodsOrg); |
| | | // 更新商品库存 |
| | | GoodsStockUpdDTO goodsStockUpdDTO = new GoodsStockUpdDTO(); |
| | | goodsStockUpdDTO.setGoodsSkuId(goodsSkuId); |
| | | goodsStockUpdDTO.setAuctionStock( |
| | | auctionGoodsOrg.getAuctionStock() - dto.getAuctionStock()); |
| | | goodsSkuClient.updGoodsStock(Lists.newArrayList(goodsStockUpdDTO), |
| | | SecurityConstants.INNER); |
| | | auctionAsyncMethodService.auctionGoodsScheduleTask(Lists.newArrayList(auctionGoods)); |
| | | } |
| | | auctionAsyncMethodService.auctionGoodsScheduleTask(Lists.newArrayList(auctionGoods)); |
| | | } |
| | | |
| | | /** |
| | |
| | | memberAuctionSalesroomDTO.setMemberId(auctionGoodsListDTO.getMemberId()); |
| | | List<OrderAuctionBond> data = orderClient.getAuctionGoodsOrderAuctionBondList(auctionGoodsListDTO, SecurityConstants.INNER).getData(); |
| | | Set<Long> goodsSkuIdList = null; |
| | | if (data!=null){ |
| | | if (data.size()>0){ |
| | | goodsSkuIdList = data.stream().map(OrderAuctionBond::getAuctionSalesroomId) |
| | | .collect(Collectors.toSet()); |
| | | }else { |
| | |
| | | .equals(AuctionStartStatusEnum.IN_AUCTION)) { |
| | | auctionGoods.setStartStatus(AuctionStartStatusEnum.ENDED); |
| | | this.updateById(auctionGoods); |
| | | // TODO 退保证金 |
| | | orderClient.returnBondByAuctionGoodsId(id, SecurityConstants.INNER); |
| | | |
| | | Map<String, Object> map = new ConcurrentHashMap<>(); |