From 9bbd528db300cce1f373d1c2e812f67eb380cecd Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期三, 31 七月 2024 23:40:07 +0800 Subject: [PATCH] 修改bug --- ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberPointsServiceImpl.java | 1 ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsGroupPurchaseMapper.xml | 1 ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java | 253 ++++++++++++++++++++++------------------- ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsGroupPurchaseServiceImpl.java | 5 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java | 62 ++++++--- 5 files changed, 180 insertions(+), 142 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 236c277..7ec091d 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 @@ -108,6 +108,7 @@ import java.util.Optional; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicReference; import java.util.function.Function; import java.util.stream.Collectors; @@ -115,6 +116,8 @@ import org.apache.http.HttpResponse; import org.apache.http.client.config.RequestConfig; import org.apache.http.util.EntityUtils; +import org.redisson.api.RLock; +import org.redisson.api.RedissonClient; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -174,6 +177,9 @@ @Resource private RemoteFileService remoteFileService; + + @Resource + private RedissonClient redissonClient; public static RequestConfig config = RequestConfig.custom().setConnectTimeout(5000).setSocketTimeout(5000).build(); // 配置您申请的KEY,在个人中心->我的数据,接口名称上方查看 public static final String APPKEY = ""; @@ -1038,9 +1044,8 @@ } @Override - public PageDTO<WdMemberAuctionSalesroomVO> getWdAuctionSalesroomList(MemberAuctionSalesroomDTO MemberAuctionSalesroomDTO) { - MemberAuctionSalesroomDTO memberAuctionSalesroomDTO =new MemberAuctionSalesroomDTO(); - memberAuctionSalesroomDTO.setMemberId(MemberAuctionSalesroomDTO.getMemberId()); + public PageDTO<WdMemberAuctionSalesroomVO> getWdAuctionSalesroomList( + MemberAuctionSalesroomDTO memberAuctionSalesroomDTO) { List<OrderAuctionBond> data = orderClient.getOrderAuctionBondList1(memberAuctionSalesroomDTO, SecurityConstants.INNER).getData(); Set<Long> goodsSkuIdList = null; goodsSkuIdList = data.stream().map(OrderAuctionBond::getAuctionSalesroomId) @@ -1064,9 +1069,10 @@ }*/ - Page<AuctionSalesroom> page = new Page<>(); - page.setSize(memberAuctionSalesroomDTO.getPageSize()); - page.setCurrent(memberAuctionSalesroomDTO.getPageCurr()); + Page<AuctionSalesroom> page = new Page<>(memberAuctionSalesroomDTO.getPageCurr(), + memberAuctionSalesroomDTO.getPageSize()); + // page.setSize(memberAuctionSalesroomDTO.getPageSize()); + // page.setCurrent(memberAuctionSalesroomDTO.getPageCurr()); LambdaQueryWrapper<AuctionSalesroom> wrapper1=Wrappers.lambdaQuery(); if (goodsSkuIdList.size()>0){ wrapper1.in(AuctionSalesroom::getId,goodsSkuIdList); @@ -1075,12 +1081,13 @@ goodsSkuIdList1.add(0L); wrapper1.in(AuctionSalesroom::getId,goodsSkuIdList); } - if (MemberAuctionSalesroomDTO.getSalesroomName()!=null){ - wrapper1.like(AuctionSalesroom::getSalesroomName,MemberAuctionSalesroomDTO.getSalesroomName()); + if (memberAuctionSalesroomDTO.getSalesroomName() != null) { + wrapper1.like(AuctionSalesroom::getSalesroomName, + memberAuctionSalesroomDTO.getSalesroomName()); } wrapper1.eq(AuctionSalesroom::getDelFlag,0); - if(MemberAuctionSalesroomDTO.getStatus()!=4){ - wrapper1.eq(AuctionSalesroom::getStatus,MemberAuctionSalesroomDTO.getStatus()); + if (memberAuctionSalesroomDTO.getStatus() != 4) { + wrapper1.eq(AuctionSalesroom::getStatus, memberAuctionSalesroomDTO.getStatus()); } wrapper1.last("ORDER BY\n" + " CASE\n" + @@ -1096,7 +1103,7 @@ auctionSalesroom.setSalesroomId(auctionSalesroom.getId()); MemberAuctionSalesroomDTO memberAuctionSalesroomDTO1=new MemberAuctionSalesroomDTO(); memberAuctionSalesroomDTO1.setAuctionSalesroomId(auctionSalesroom.getId()); - memberAuctionSalesroomDTO1.setMemberId(MemberAuctionSalesroomDTO.getMemberId()); + memberAuctionSalesroomDTO1.setMemberId(memberAuctionSalesroomDTO.getMemberId()); auctionSalesroom.setIsBond(2); List<OrderAuctionBond> data1 = orderClient.getOrderAuctionBondList1(memberAuctionSalesroomDTO1, SecurityConstants.INNER).getData(); if (data1.size()>0){ @@ -1249,53 +1256,51 @@ MgtAuctionSalesroomVO mgtAuctionSalesroomVO = this.getAuctionSalesroom(id, Boolean.TRUE); MgtAuctionSalesroomScreenVO vo = BeanUtils.copyBean( mgtAuctionSalesroomVO, MgtAuctionSalesroomScreenVO.class); - if (vo.getStatus().equals(AuctionStartStatusEnum.IN_AUCTION)) { - List<MgtAuctionSalesroomGoodsVO> auctionSalesroomGoodsVOS = vo.getAuctionSalesroomGoodsVOS(); - if (StringUtils.isNotEmpty(auctionSalesroomGoodsVOS)) { - List<MgtAuctionSalesroomGoodsVO> collect = auctionSalesroomGoodsVOS.stream() - .peek(goods -> { - List<AuctionBidRecord> list = auctionBidRecordService.lambdaQuery() - .eq(AuctionBidRecord::getTargetId, goods.getId()) - .eq(AuctionBidRecord::getAuctionType, - AuctionOrderTypeEnum.AUCTION_ITEMS) - .list(); - if (StringUtils.isNotEmpty(list)) { - long bidCount = list.stream() - .filter(item -> BidStatusEnum.SUCCESSFUL.equals( - item.getStatus())) - .count(); - goods.setBidCount((int) bidCount); - goods.setBidQuantity((int) bidCount); - goods.setBidPersonCount(list.size()); - } - if (goods.getStatus().equals(AuctionGoodsStatusEnum.IN_PROGRESS)) { - vo.setCurrentAuctionSalesroomGoods(goods); - } - }).collect(Collectors.toList()); - vo.setAuctionSalesroomGoodsVOS(collect); - if (StringUtils.isNotNull(vo.getCurrentAuctionSalesroomGoods())) { - int index = collect.indexOf(vo.getCurrentAuctionSalesroomGoods()); - if (collect.size() > 1 && index < collect.size() - 1) { - vo.setNextAuctionSalesroomGoods(collect.get(index + 1)); - } - // 分页查询当前拍品出价信息 - List<AuctionBidRecord> list = auctionBidRecordService.lambdaQuery() - .eq(AuctionBidRecord::getTargetId, - vo.getCurrentAuctionSalesroomGoods().getId()) - .eq(AuctionBidRecord::getAuctionType, - AuctionOrderTypeEnum.AUCTION_ITEMS) - .list(); - if (StringUtils.isNotEmpty(list)) { - vo.setMgtAuctionBidRecordVOList(CollUtils.emptyList()); - } - vo.setMgtAuctionBidRecordVOList( - BeanUtils.copyList(list, MgtAuctionBidRecordVO.class)); - } else { - Optional<MgtAuctionSalesroomGoodsVO> first = collect.stream() - .filter(c -> c.getStatus().equals(AuctionGoodsStatusEnum.WAITING)) - .findFirst(); - vo.setNextAuctionSalesroomGoods(first.orElse(null)); + List<MgtAuctionSalesroomGoodsVO> auctionSalesroomGoodsVOS = vo.getAuctionSalesroomGoodsVOS(); + if (StringUtils.isNotEmpty(auctionSalesroomGoodsVOS)) { + List<MgtAuctionSalesroomGoodsVO> collect = auctionSalesroomGoodsVOS.stream() + .peek(goods -> { + List<AuctionBidRecord> list = auctionBidRecordService.lambdaQuery() + .eq(AuctionBidRecord::getTargetId, goods.getId()) + .eq(AuctionBidRecord::getAuctionType, + AuctionOrderTypeEnum.AUCTION_ITEMS) + .list(); + if (StringUtils.isNotEmpty(list)) { + long bidCount = list.stream() + .filter(item -> BidStatusEnum.SUCCESSFUL.equals( + item.getStatus())) + .count(); + goods.setBidCount((int) bidCount); + goods.setBidQuantity((int) bidCount); + goods.setBidPersonCount(list.size()); + } + if (goods.getStatus().equals(AuctionGoodsStatusEnum.IN_PROGRESS)) { + vo.setCurrentAuctionSalesroomGoods(goods); + } + }).collect(Collectors.toList()); + vo.setAuctionSalesroomGoodsVOS(collect); + if (StringUtils.isNotNull(vo.getCurrentAuctionSalesroomGoods())) { + int index = collect.indexOf(vo.getCurrentAuctionSalesroomGoods()); + if (collect.size() > 1 && index < collect.size() - 1) { + vo.setNextAuctionSalesroomGoods(collect.get(index + 1)); } + // 分页查询当前拍品出价信息 + List<AuctionBidRecord> list = auctionBidRecordService.lambdaQuery() + .eq(AuctionBidRecord::getTargetId, + vo.getCurrentAuctionSalesroomGoods().getId()) + .eq(AuctionBidRecord::getAuctionType, + AuctionOrderTypeEnum.AUCTION_ITEMS) + .list(); + if (StringUtils.isNotEmpty(list)) { + vo.setMgtAuctionBidRecordVOList(CollUtils.emptyList()); + } + vo.setMgtAuctionBidRecordVOList( + BeanUtils.copyList(list, MgtAuctionBidRecordVO.class)); + } else { + Optional<MgtAuctionSalesroomGoodsVO> first = collect.stream() + .filter(c -> c.getStatus().equals(AuctionGoodsStatusEnum.WAITING)) + .findFirst(); + vo.setNextAuctionSalesroomGoods(first.orElse(null)); } } return vo; @@ -1454,68 +1459,82 @@ */ @Override public void stopCurrentGoods(Long id) throws JsonProcessingException { - AuctionSalesroomGoods auctionSalesroomGoods = auctionSalesroomGoodsMapper.selectById(id); - if (StringUtils.isNull(auctionSalesroomGoods)) { - throw new ServiceException("拍卖商品不存在"); - } - AuctionSalesroom auctionSalesroom = this.getById( - auctionSalesroomGoods.getAuctionSalesroomId()); - auctionSalesroomGoods.setStatus(AuctionGoodsStatusEnum.ENDED); - auctionSalesroomGoodsMapper.updateById(auctionSalesroomGoods); - List<AuctionBidRecord> auctionBidRecordList = auctionBidRecordMapper.selectList( - Wrappers.lambdaQuery(AuctionBidRecord.class) - .eq(AuctionBidRecord::getAuctionSalesroomId, - auctionSalesroomGoods.getAuctionSalesroomId()) - .eq(AuctionBidRecord::getTargetId, auctionSalesroomGoods.getId()) - .eq(AuctionBidRecord::getAuctionType, AuctionOrderTypeEnum.AUCTION_ITEMS) - .orderByDesc(AuctionBidRecord::getLastBidAmount)); - if (CollUtils.isNotEmpty(auctionBidRecordList)) { - List<AuctionBidRecord> auctionBidRecords = new ArrayList<>(); - if (auctionBidRecordList.size() >= auctionSalesroomGoods.getSalesroomStock()) { - for (int i = 0; i < auctionSalesroomGoods.getSalesroomStock(); i++) { - AuctionBidRecord auctionBidRecord = auctionBidRecordList.get(i); - auctionBidRecord.setStatus(BidStatusEnum.SUCCESSFUL); - auctionBidRecordMapper.updateById(auctionBidRecord); - auctionBidRecords.add(auctionBidRecord); - } - } else { - for (int i = 0; i < auctionBidRecordList.size(); i++) { - AuctionBidRecord auctionBidRecord = auctionBidRecordList.get(i); - auctionBidRecord.setStatus(BidStatusEnum.SUCCESSFUL); - auctionBidRecordMapper.updateById(auctionBidRecord); - auctionBidRecords.add(auctionBidRecord); - } - // 没有出价记录,回退库存 - GoodsStockUpdDTO goodsStockUpdDTO = new GoodsStockUpdDTO(); - goodsStockUpdDTO.setGoodsSkuId(auctionSalesroomGoods.getGoodsSkuId()); - goodsStockUpdDTO.setAuctionStock( - auctionSalesroomGoods.getSalesroomStock() - auctionBidRecordList.size()); - goodsSkuClient.updGoodsStock(Lists.newArrayList(goodsStockUpdDTO), - SecurityConstants.INNER); + RLock lock = redissonClient.getLock("stopCurrentGoods" + id); + lock.lock(10, TimeUnit.SECONDS); + try { + AuctionSalesroomGoods auctionSalesroomGoods = auctionSalesroomGoodsMapper.selectById( + id); + if (StringUtils.isNull(auctionSalesroomGoods)) { + throw new ServiceException("拍卖商品不存在"); } - for (AuctionBidRecord auctionBidRecord : auctionBidRecords) { - addOrder(auctionBidRecord.getTargetId(), auctionBidRecord.getMemberId(), - auctionBidRecord.getLastBidAmount(), - auctionSalesroom.getBond()); + if (auctionSalesroomGoods.getStatus().equals(AuctionGoodsStatusEnum.IN_PROGRESS)) { + AuctionSalesroom auctionSalesroom = this.getById( + auctionSalesroomGoods.getAuctionSalesroomId()); + auctionSalesroomGoods.setStatus(AuctionGoodsStatusEnum.ENDED); + auctionSalesroomGoodsMapper.updateById(auctionSalesroomGoods); + List<AuctionBidRecord> auctionBidRecordList = auctionBidRecordMapper.selectList( + Wrappers.lambdaQuery(AuctionBidRecord.class) + .eq(AuctionBidRecord::getAuctionSalesroomId, + auctionSalesroomGoods.getAuctionSalesroomId()) + .eq(AuctionBidRecord::getTargetId, auctionSalesroomGoods.getId()) + .eq(AuctionBidRecord::getAuctionType, + AuctionOrderTypeEnum.AUCTION_ITEMS) + .orderByDesc(AuctionBidRecord::getLastBidAmount)); + if (CollUtils.isNotEmpty(auctionBidRecordList)) { + List<AuctionBidRecord> auctionBidRecords = new ArrayList<>(); + if (auctionBidRecordList.size() >= auctionSalesroomGoods.getSalesroomStock()) { + for (int i = 0; i < auctionSalesroomGoods.getSalesroomStock(); i++) { + AuctionBidRecord auctionBidRecord = auctionBidRecordList.get(i); + auctionBidRecord.setStatus(BidStatusEnum.SUCCESSFUL); + auctionBidRecordMapper.updateById(auctionBidRecord); + auctionBidRecords.add(auctionBidRecord); + } + } else { + for (int i = 0; i < auctionBidRecordList.size(); i++) { + AuctionBidRecord auctionBidRecord = auctionBidRecordList.get(i); + auctionBidRecord.setStatus(BidStatusEnum.SUCCESSFUL); + auctionBidRecordMapper.updateById(auctionBidRecord); + auctionBidRecords.add(auctionBidRecord); + } + // 没有出价记录,回退库存 + GoodsStockUpdDTO goodsStockUpdDTO = new GoodsStockUpdDTO(); + goodsStockUpdDTO.setGoodsSkuId(auctionSalesroomGoods.getGoodsSkuId()); + goodsStockUpdDTO.setAuctionStock( + auctionSalesroomGoods.getSalesroomStock() + - auctionBidRecordList.size()); + goodsSkuClient.updGoodsStock(Lists.newArrayList(goodsStockUpdDTO), + SecurityConstants.INNER); + } + for (AuctionBidRecord auctionBidRecord : auctionBidRecords) { + addOrder(auctionBidRecord.getTargetId(), auctionBidRecord.getMemberId(), + auctionBidRecord.getLastBidAmount(), + auctionSalesroom.getBond()); + } + } else { + // 没有出价记录,回退库存 + GoodsStockUpdDTO goodsStockUpdDTO = new GoodsStockUpdDTO(); + goodsStockUpdDTO.setGoodsSkuId(auctionSalesroomGoods.getGoodsSkuId()); + goodsStockUpdDTO.setAuctionStock( + auctionSalesroomGoods.getSalesroomStock()); + goodsSkuClient.updGoodsStock(Lists.newArrayList(goodsStockUpdDTO), + SecurityConstants.INNER); + } + Map<String, Object> map = new ConcurrentHashMap<>(); + map.put("notification_type", NotificationTypeConstant.AUCTION_SALESROOM_GOODS); + map.put("auctionSalesroomId", + auctionSalesroomGoods.getAuctionSalesroomId().toString()); + map.put("auctionSalesroomGoodsId", auctionSalesroomGoods.getId().toString()); + map.put("AuctionTypeEnum", auctionSalesroomGoods.getStatus()); + map.put("message_type", "stop"); + map.put("type", "2"); + String msg = objectMapper.writeValueAsString(map); + sysUserClient.pushAll(msg, SecurityConstants.INNER); } - } else { - // 没有出价记录,回退库存 - GoodsStockUpdDTO goodsStockUpdDTO = new GoodsStockUpdDTO(); - goodsStockUpdDTO.setGoodsSkuId(auctionSalesroomGoods.getGoodsSkuId()); - goodsStockUpdDTO.setAuctionStock( - auctionSalesroomGoods.getSalesroomStock()); - goodsSkuClient.updGoodsStock(Lists.newArrayList(goodsStockUpdDTO), - SecurityConstants.INNER); + } finally { + if (lock.isLocked() && lock.isHeldByCurrentThread()) { + lock.unlock(); + } } - Map<String, Object> map = new ConcurrentHashMap<>(); - map.put("notification_type", NotificationTypeConstant.AUCTION_SALESROOM_GOODS); - map.put("auctionSalesroomId", auctionSalesroomGoods.getAuctionSalesroomId().toString()); - map.put("auctionSalesroomGoodsId", auctionSalesroomGoods.getId().toString()); - map.put("AuctionTypeEnum", auctionSalesroomGoods.getStatus()); - map.put("message_type", "stop"); - map.put("type", "2"); - String msg = objectMapper.writeValueAsString(map); - sysUserClient.pushAll(msg, SecurityConstants.INNER); } public void addOrder(Long goodsSkuId, Long memberId, BigDecimal lastBidAmount, @@ -1705,7 +1724,7 @@ List<AuctionBidRecord> auctionBidRecordList = auctionBidRecordMapper.selectList( Wrappers.<AuctionBidRecord>lambdaQuery() .eq(AuctionBidRecord::getAuctionSalesroomId, auctionSalesroomId) - .ne(AuctionBidRecord::getStatus, BidStatusEnum.SUCCESSFUL)); + .eq(AuctionBidRecord::getStatus, BidStatusEnum.SUCCESSFUL)); Set<Long> memberIdList = new HashSet<>(); if (CollUtils.isNotEmpty(auctionBidRecordList)) { memberIdList = auctionBidRecordList.stream().map(AuctionBidRecord::getMemberId) diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsGroupPurchaseServiceImpl.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsGroupPurchaseServiceImpl.java index f92fa11..868e9ec 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsGroupPurchaseServiceImpl.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsGroupPurchaseServiceImpl.java @@ -112,7 +112,6 @@ if (count > 0) { throw new ServiceException("添加失败,当前商品在该时间段内有其他团购活动"); } - this.save(goodsGroupPurchase); GoodsSku goodsSku = goodsSkuService.getById(dto.getGoodsSkuId()); if (StringUtils.isNull(goodsSku)) { throw new ServiceException("商品不存在"); @@ -122,6 +121,7 @@ throw new ServiceException(String.format("团购商品【%s】剩余库存不足,请修改团购库存", goodsSku.getSkuName())); } + this.save(goodsGroupPurchase); } else { GoodsGroupPurchase groupPurchase = this.getById(dto.getId()); if (StringUtils.isNull(groupPurchase)) { @@ -348,8 +348,7 @@ return true; } List<GoodsGroupPurchaseInfo> notGroupedList = groupPurchaseInfoList.stream() - .filter(g -> !g.getCurrentNumber() - .equals(g.getGroupSize())).peek(p -> { + .filter(g -> g.getCurrentNumber() < g.getGroupSize()).peek(p -> { p.setGroupStatus(GroupStatusEnum.GROUP_FAILURE.getCode()); }).collect( Collectors.toList()); diff --git a/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsGroupPurchaseMapper.xml b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsGroupPurchaseMapper.xml index 6e3204f..c10e6c0 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsGroupPurchaseMapper.xml +++ b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsGroupPurchaseMapper.xml @@ -45,6 +45,7 @@ AND tgs.sku_name LIKE CONCAT('%',#{goodsSkuName},'%') </if> </where> + GROUP BY tgp.id ORDER BY tgp.create_time DESC </select> diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberPointsServiceImpl.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberPointsServiceImpl.java index 7e9434f..bc99801 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberPointsServiceImpl.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberPointsServiceImpl.java @@ -128,6 +128,7 @@ points.setMemberId(memberPointsDTO.getMemberId()); points.setPointsType(memberPointsDTO.getPointsType()); points.setPoints(memberPointsDTO.getPoints()); + points.setPointsStatus(memberPointsDTO.getPointsStatus()); this.save(points); } } diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java index caeef82..6cf205f 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java @@ -928,6 +928,13 @@ orderVO.setOrderShuoMin(memberPointsPoints.getConfigValue()); CustomConfig ReturnCycle = sysUserClient.getconfig("RETURN_CYCLE").getData(); orderVO.setOrderZq(Integer.valueOf(ReturnCycle.getConfigValue())); + // 查询售后记录 + Optional<OrderReturnRequest> orderReturnRequestOpt = orderReturnRequestService.lambdaQuery() + .eq(OrderReturnRequest::getOrderId, order.getId()).oneOpt(); + if (orderReturnRequestOpt.isPresent()) { + OrderReturnRequest orderReturnRequest = orderReturnRequestOpt.get(); + orderVO.setStatus(orderReturnRequest.getStatus()); + } return orderVO; } @@ -1324,45 +1331,51 @@ Order byId1 = this.getById(goodsGroupPurchaseeVO1.getId()); GoodsGroupPurchase data = goodsSkuClient.getGoodsSeckiGoodsGroupPurchaseOne(byId1.getGoodsSkuId(), SecurityConstants.INNER).getData(); - BeanUtils.copyProperties(data,goodsGroupPurchaseeVO1); - GoodsSku byId = goodsSkuClient.getGoodsSkuOne(data.getGoodsSkuId(), SecurityConstants.INNER).getData(); - goodsGroupPurchaseeVO1.setGoodsSkuName(byId.getSkuName()); - goodsGroupPurchaseeVO1.setCoverPic(byId.getCoverPic()); - goodsGroupPurchaseeVO1.setPrice(byId.getPrice()); - goodsGroupPurchaseeVO1.setYears(String.valueOf(byId.getYears().getYear())); - goodsGroupPurchaseeVO1.setIsGoodsGroupPurchase(2); - if (byId1.getGroupNo()!=null){ - GoodsGroupPurchaseInfo one1 = goodsSkuClient.getGoodsSeckiGoodsGroupPurchaseInfo2(byId1.getGroupNo(), SecurityConstants.INNER).getData(); - if (one1!=null) { + if (Objects.nonNull(data)) { + BeanUtils.copyProperties(data, goodsGroupPurchaseeVO1); + GoodsSku byId = goodsSkuClient.getGoodsSkuOne(data.getGoodsSkuId(), + SecurityConstants.INNER).getData(); + goodsGroupPurchaseeVO1.setGoodsSkuName(byId.getSkuName()); + goodsGroupPurchaseeVO1.setCoverPic(byId.getCoverPic()); + goodsGroupPurchaseeVO1.setPrice(byId.getPrice()); + goodsGroupPurchaseeVO1.setYears(String.valueOf(byId.getYears().getYear())); + goodsGroupPurchaseeVO1.setIsGoodsGroupPurchase(2); + if (byId1.getGroupNo() != null) { + GoodsGroupPurchaseInfo one1 = goodsSkuClient.getGoodsSeckiGoodsGroupPurchaseInfo2( + byId1.getGroupNo(), SecurityConstants.INNER).getData(); + if (one1 != null) { goodsGroupPurchaseeVO1.setCurrentNumber(one1.getCurrentNumber()); if (one1.getGroupStatus() == 0) { if (one1.getGroupSize() - one1.getCurrentNumber() < 5) { goodsGroupPurchaseeVO1.setGroupStatus(GroupStatusEnum.MS_FAILURE); } else { - goodsGroupPurchaseeVO1.setGroupStatus(GroupStatusEnum.TO_FORM_A_GROUP); + goodsGroupPurchaseeVO1.setGroupStatus( + GroupStatusEnum.TO_FORM_A_GROUP); } } if (one1.getGroupStatus() == 1) { - goodsGroupPurchaseeVO1.setGroupStatus(GroupStatusEnum.FORMED_INTO_A_GROUP); + goodsGroupPurchaseeVO1.setGroupStatus( + GroupStatusEnum.FORMED_INTO_A_GROUP); } if (one1.getGroupStatus() == 2) { goodsGroupPurchaseeVO1.setGroupStatus(GroupStatusEnum.GROUP_FAILURE); } - }else{ - if (data.getGroupStatus().getCode()==1){ + } else { + if (data.getGroupStatus().getCode() == 1) { goodsGroupPurchaseeVO1.setGroupStatus(GroupStatusEnum.TO_FORM_A_GROUP); } - if (data.getGroupStatus().getCode()==2){ - goodsGroupPurchaseeVO1.setGroupStatus(GroupStatusEnum.FORMED_INTO_A_GROUP); + if (data.getGroupStatus().getCode() == 2) { + goodsGroupPurchaseeVO1.setGroupStatus( + GroupStatusEnum.FORMED_INTO_A_GROUP); } - if (data.getGroupStatus().getCode()==3){ + if (data.getGroupStatus().getCode() == 3) { goodsGroupPurchaseeVO1.setGroupStatus(GroupStatusEnum.GROUP_FAILURE); } + } + } } - - } @@ -1445,6 +1458,7 @@ if (CollUtils.isNotEmpty(orderIdList)) { List<OrderReturnRequest> orderReturnRequestList = orderReturnRequestService.lambdaQuery() .in(OrderReturnRequest::getOrderId, orderIdList) + .eq(OrderReturnRequest::getStatus, ReturnRequestStatusEnum.COMPLETED) .eq(OrderReturnRequest::getAuditStatus, AuditStatusEnum.PASSED).list(); List<Long> orderReturnRequestPassedIds = orderReturnRequestList.stream() .map(OrderReturnRequest::getOrderId) @@ -1638,6 +1652,10 @@ order.setOrderStatus(OrderStatusEnum.FINISHED); order.setReceiveTime(LocalDateTime.now()); this.updateById(order); + // 拍卖订单退保证金 + if (order.getOrderFrom() == OrderFromEnum.AUCTION_ORDERS) { + refundBond(id); + } } } @@ -1780,16 +1798,16 @@ if (order.getAuctionOrderType() == AuctionOrderTypeEnum.AUCTION_ITEMS) { orderAuctionBond = orderAuctionBondMapper.selectOne( Wrappers.lambdaQuery(OrderAuctionBond.class) - .eq(OrderAuctionBond::getOrderId, id) .eq(OrderAuctionBond::getAuctionSalesroomId, order.getAuctionSalesroomId()) + .eq(OrderAuctionBond::getMemberId, order.getMemberId()) .eq(OrderAuctionBond::getBoundStatus, BondStatusEnum.PAID)); } else { orderAuctionBond = orderAuctionBondMapper.selectOne( Wrappers.lambdaQuery(OrderAuctionBond.class) - .eq(OrderAuctionBond::getOrderId, id) .eq(OrderAuctionBond::getAuctionGoodsId, order.getGoodsSkuId()) + .eq(OrderAuctionBond::getMemberId, order.getMemberId()) .eq(OrderAuctionBond::getBoundStatus, BondStatusEnum.PAID)); } if (StringUtils.isNotNull(orderAuctionBond)) { @@ -1802,7 +1820,7 @@ paylog.setState(3);// 已退款 orderAuctionBond.setBoundStatus(BondStatusEnum.REFUNDED); iPaylogService.updateById(paylog); - this.updateById(order); + orderAuctionBondMapper.updateById(orderAuctionBond); } } } -- Gitblit v1.7.1