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,7 +1256,6 @@ 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() @@ -1295,7 +1301,6 @@ .filter(c -> c.getStatus().equals(AuctionGoodsStatusEnum.WAITING)) .findFirst(); vo.setNextAuctionSalesroomGoods(first.orElse(null)); } } } return vo; @@ -1454,10 +1459,15 @@ */ @Override public void stopCurrentGoods(Long id) throws JsonProcessingException { AuctionSalesroomGoods auctionSalesroomGoods = auctionSalesroomGoodsMapper.selectById(id); RLock lock = redissonClient.getLock("stopCurrentGoods" + id); lock.lock(10, TimeUnit.SECONDS); try { AuctionSalesroomGoods auctionSalesroomGoods = auctionSalesroomGoodsMapper.selectById( id); if (StringUtils.isNull(auctionSalesroomGoods)) { throw new ServiceException("拍卖商品不存在"); } if (auctionSalesroomGoods.getStatus().equals(AuctionGoodsStatusEnum.IN_PROGRESS)) { AuctionSalesroom auctionSalesroom = this.getById( auctionSalesroomGoods.getAuctionSalesroomId()); auctionSalesroomGoods.setStatus(AuctionGoodsStatusEnum.ENDED); @@ -1467,7 +1477,8 @@ .eq(AuctionBidRecord::getAuctionSalesroomId, auctionSalesroomGoods.getAuctionSalesroomId()) .eq(AuctionBidRecord::getTargetId, auctionSalesroomGoods.getId()) .eq(AuctionBidRecord::getAuctionType, AuctionOrderTypeEnum.AUCTION_ITEMS) .eq(AuctionBidRecord::getAuctionType, AuctionOrderTypeEnum.AUCTION_ITEMS) .orderByDesc(AuctionBidRecord::getLastBidAmount)); if (CollUtils.isNotEmpty(auctionBidRecordList)) { List<AuctionBidRecord> auctionBidRecords = new ArrayList<>(); @@ -1489,7 +1500,8 @@ GoodsStockUpdDTO goodsStockUpdDTO = new GoodsStockUpdDTO(); goodsStockUpdDTO.setGoodsSkuId(auctionSalesroomGoods.getGoodsSkuId()); goodsStockUpdDTO.setAuctionStock( auctionSalesroomGoods.getSalesroomStock() - auctionBidRecordList.size()); auctionSalesroomGoods.getSalesroomStock() - auctionBidRecordList.size()); goodsSkuClient.updGoodsStock(Lists.newArrayList(goodsStockUpdDTO), SecurityConstants.INNER); } @@ -1509,13 +1521,20 @@ } Map<String, Object> map = new ConcurrentHashMap<>(); map.put("notification_type", NotificationTypeConstant.AUCTION_SALESROOM_GOODS); map.put("auctionSalesroomId", auctionSalesroomGoods.getAuctionSalesroomId().toString()); 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); } } finally { if (lock.isLocked() && lock.isHeldByCurrentThread()) { lock.unlock(); } } } 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) 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()); 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> 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); } } 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,26 +1331,31 @@ Order byId1 = this.getById(goodsGroupPurchaseeVO1.getId()); GoodsGroupPurchase data = goodsSkuClient.getGoodsSeckiGoodsGroupPurchaseOne(byId1.getGoodsSkuId(), SecurityConstants.INNER).getData(); if (Objects.nonNull(data)) { BeanUtils.copyProperties(data,goodsGroupPurchaseeVO1); GoodsSku byId = goodsSkuClient.getGoodsSkuOne(data.getGoodsSkuId(), SecurityConstants.INNER).getData(); 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(); 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); @@ -1353,7 +1365,8 @@ goodsGroupPurchaseeVO1.setGroupStatus(GroupStatusEnum.TO_FORM_A_GROUP); } if (data.getGroupStatus().getCode()==2){ goodsGroupPurchaseeVO1.setGroupStatus(GroupStatusEnum.FORMED_INTO_A_GROUP); goodsGroupPurchaseeVO1.setGroupStatus( GroupStatusEnum.FORMED_INTO_A_GROUP); } if (data.getGroupStatus().getCode()==3){ goodsGroupPurchaseeVO1.setGroupStatus(GroupStatusEnum.GROUP_FAILURE); @@ -1362,7 +1375,7 @@ } } } @@ -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); } } }