From f9562fc61410d6c66e6973cb63a659557059d114 Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期一, 29 七月 2024 20:54:00 +0800 Subject: [PATCH] 修改bug --- ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MemberPointsDTO.java | 2 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/MemberPoints.java | 2 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/management/dto/GoodsSkuQuery.java | 4 +- ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderReturnRequestServiceImpl.java | 28 +++++++++++++- ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsGroupPurchaseServiceImpl.java | 5 -- ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSkuServiceImpl.java | 3 + ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/vo/MgtOrderReturnRequestVO.java | 4 ++ ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSeckillServiceImpl.java | 23 +++++------ ruoyi-modules/ruoyi-order/pom.xml | 6 ++ 9 files changed, 52 insertions(+), 25 deletions(-) diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/MemberPoints.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/MemberPoints.java index 391364a..9b5e004 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/MemberPoints.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/MemberPoints.java @@ -38,7 +38,7 @@ @ApiModelProperty(value = "积分") private Integer points; - @ApiModelProperty(value = "积分类型 1支付订单") + @ApiModelProperty(value = "积分类型 1支付订单 2订单退款") private Integer pointsType; @ApiModelProperty(value = "积分状态 1是加积分,2 是减积分") diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MemberPointsDTO.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MemberPointsDTO.java index d46cd95..0b362cd 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MemberPointsDTO.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MemberPointsDTO.java @@ -10,7 +10,7 @@ @ApiModelProperty(value = "积分") private Integer points; - @ApiModelProperty(value = "积分类型 1支付订单") + @ApiModelProperty(value = "积分类型 1支付订单 2订单退款") private Integer pointsType; @ApiModelProperty(value = "积分状态 1是加积分,2 是减积分") diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/management/dto/GoodsSkuQuery.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/management/dto/GoodsSkuQuery.java index ccb5f82..716bbd7 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/management/dto/GoodsSkuQuery.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/management/dto/GoodsSkuQuery.java @@ -26,8 +26,8 @@ @ApiModelProperty(value = "上架状态 上架中 已下架", notes = "参数传文字") private ListingStatusEnum listingStatus; - @ApiModelProperty(value = "查询类型 1=仅上架商品 2=全部") + @ApiModelProperty(value = "查询类型 1=仅上架商品 2=全部且库存不为0 3=全部") @NotNull(message = "查询类型不能为空") - @Range(min = 1, max = 2, message = "查询类型必须为1或2") + @Range(min = 1, max = 3, message = "查询类型必须为1、2或3") private Integer queryType; } 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 cdd540b..3a3b300 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 @@ -106,10 +106,7 @@ } LambdaQueryWrapper<GoodsGroupPurchase> queryWrapper = Wrappers.lambdaQuery(); queryWrapper.eq(GoodsGroupPurchase::getGoodsSkuId, dto.getGoodsSkuId()); - queryWrapper.eq(GoodsGroupPurchase::getListingStatus, - ListingStatusEnum.ON_SHELVES.getCode()); - queryWrapper.le(GoodsGroupPurchase::getStartTime, dto.getStartTime()); - queryWrapper.ge(GoodsGroupPurchase::getEndTime, dto.getStartTime()); + queryWrapper.ne(GoodsGroupPurchase::getStartStatus, StartStatusEnum.ENDED); long count = this.count(queryWrapper); if (count > 0) { throw new ServiceException("添加失败,当前商品在该时间段内有其他团购活动"); diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSeckillServiceImpl.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSeckillServiceImpl.java index 4df64e6..c4b9f54 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSeckillServiceImpl.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSeckillServiceImpl.java @@ -52,7 +52,6 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; -import java.util.Objects; import java.util.Optional; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; @@ -104,28 +103,25 @@ goodsSeckill.setStartStatus(StartStatusEnum.NOT_STARTED); } // 查询该时间范围内,是否已经存在该秒杀商品 + List<Long> skuIds = goodsSeckills.stream().map(GoodsSeckill::getGoodsSkuId) + .collect(Collectors.toList()); List<GoodsSeckill> list = this.lambdaQuery() .ne(GoodsSeckill::getStartStatus, StartStatusEnum.ENDED) - .eq(GoodsSeckill::getListingStatus, ListingStatusEnum.ON_SHELVES) - .le(GoodsSeckill::getStartTime, dto.getStartTime()) - .ge(GoodsSeckill::getEndTime, dto.getStartTime()).list(); + .in(GoodsSeckill::getGoodsSkuId, skuIds).list(); Set<Long> existGoodsSkuIdSet = list.stream().map(GoodsSeckill::getGoodsSkuId) .collect(Collectors.toSet()); if (!existGoodsSkuIdSet.isEmpty()) { List<GoodsSku> goodsSkuList = goodsSkuService.listByIds(existGoodsSkuIdSet); Map<Long, String> goodsSkuMap = goodsSkuList.stream() .collect(Collectors.toMap(GoodsSku::getId, GoodsSku::getSkuName)); - List<GoodsSeckill> collect = goodsSeckills.stream() + Optional<GoodsSeckill> first = goodsSeckills.stream() .filter(goodsSeckill -> existGoodsSkuIdSet.contains( goodsSeckill.getGoodsSkuId())) - .collect(Collectors.toList()); - if (!collect.isEmpty()) { - String goodsSkuNames = collect.stream().map(item -> { - return goodsSkuMap.get(item.getGoodsSkuId()); - }).filter(Objects::nonNull) - .collect(Collectors.joining(",")); + .findFirst(); + if (first.isPresent()) { + String skuName = goodsSkuMap.get(first.get().getGoodsSkuId()); throw new ServiceException( - String.format("添加失败,商品%s在该时间段内有其他秒杀活动", goodsSkuNames)); + String.format("添加失败,商品%s在该时间段内有其他秒杀活动", skuName)); } } this.saveBatch(goodsSeckills); @@ -187,12 +183,13 @@ } GoodsSeckill goodsSeckillUpd = BeanUtils.copyBean(upd, GoodsSeckill.class); goodsSeckillUpd.setListingStatus(ListingStatusEnum.ON_SHELVES); + goodsSeckillUpd.setStartStatus(StartStatusEnum.NOT_STARTED); this.updateById(goodsSeckillUpd); GoodsStockUpdDTO goodsStockUpdDTO = new GoodsStockUpdDTO(); goodsStockUpdDTO.setAuctionStock(upd.getSeckillStock() * -1); goodsStockUpdDTO.setGoodsSkuId(goodsSeckill.getGoodsSkuId()); goodsSkuService.updGoodsStock(Lists.newArrayList(goodsStockUpdDTO)); - asyncMethodService.seckillScheduleTask(Lists.newArrayList(goodsSeckill)); + asyncMethodService.seckillScheduleTask(Lists.newArrayList(goodsSeckillUpd)); } /** diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSkuServiceImpl.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSkuServiceImpl.java index a279095..06ffee2 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSkuServiceImpl.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSkuServiceImpl.java @@ -203,7 +203,8 @@ ), GoodsSku::getListingStatus, query.getListingStatus()) .eq(query.getQueryType().equals(1), GoodsSku::getListingStatus, ListingStatusEnum.ON_SHELVES) - .gt(query.getQueryType().equals(1), GoodsSku::getStock, 0) + .gt(query.getQueryType().equals(1) || query.getQueryType().equals(2), + GoodsSku::getStock, 0) .orderByDesc(GoodsSku::getCreateTime) .page(new Page<>(query.getPageCurr(), query.getPageSize())); return PageDTO.of(page, GoodsSkuVO.class); diff --git a/ruoyi-modules/ruoyi-order/pom.xml b/ruoyi-modules/ruoyi-order/pom.xml index 35a97d5..e74aea6 100644 --- a/ruoyi-modules/ruoyi-order/pom.xml +++ b/ruoyi-modules/ruoyi-order/pom.xml @@ -172,7 +172,11 @@ <groupId>com.ruoyi</groupId> <artifactId>ruoyi-common-seata</artifactId> </dependency> - + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-test</artifactId> + <scope>test</scope> + </dependency> </dependencies> diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/vo/MgtOrderReturnRequestVO.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/vo/MgtOrderReturnRequestVO.java index a8793db..46dbbb4 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/vo/MgtOrderReturnRequestVO.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/vo/MgtOrderReturnRequestVO.java @@ -117,4 +117,8 @@ @ApiModelProperty("物流信息") private Express100VO express100VO; + + @ApiModelProperty("审核时间(平台确认时间)") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private LocalDateTime auditTime; } diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderReturnRequestServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderReturnRequestServiceImpl.java index c563bc6..f197278 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderReturnRequestServiceImpl.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderReturnRequestServiceImpl.java @@ -269,6 +269,30 @@ } } orderReturnRequest.setAuditStatus(AuditStatusEnum.PASSED); + // 扣除订单积分 + Member member = memberClient.getMembeOne(order.getMemberId(), SecurityConstants.INNER) + .getData(); + if (StringUtils.isNotNull(member)) { + MemberPointsDTO memberPointsDTO = new MemberPointsDTO(); + memberPointsDTO.setMemberId(order.getMemberId()); + memberPointsDTO.setPointsType(2); + memberPointsDTO.setPointsStatus(PointStatusEnum.REDUCE); + memberPointsDTO.setPoints(order.getPoints()); + memberClient.addMemberPoints(memberPointsDTO); + + updMembeOneDTO updMembeOneDTO = new updMembeOneDTO(); + updMembeOneDTO.setMemberId(order.getMemberId()); + updMembeOneDTO.setType(2); + updMembeOneDTO.setTotalPoints( + Math.max(member.getTotalPoints() - order.getPoints(), 0)); + memberClient.updMembeOne(updMembeOneDTO, SecurityConstants.INNER); + } + if (Objects.nonNull(order.getCouponId())) { + CouponMemberDTO couponMemberDTO = new CouponMemberDTO(); + couponMemberDTO.setId(order.getCouponId()); + couponMemberDTO.setCouponStatus(CouponUseEnum.UNUSED.getCode()); + promotionClient.updCouponMember(couponMemberDTO, SecurityConstants.INNER); + } } else { orderReturnRequest.setStatus(ReturnRequestStatusEnum.REJECTED); orderReturnRequest.setAuditStatus(AuditStatusEnum.REJECTED); @@ -326,8 +350,8 @@ if (StringUtils.isNotNull(member)) { MemberPointsDTO memberPointsDTO = new MemberPointsDTO(); memberPointsDTO.setMemberId(order.getMemberId()); - memberPointsDTO.setPointsType(1); - memberPointsDTO.setPointsStatus(PointStatusEnum.INCREASE); + memberPointsDTO.setPointsType(2); + memberPointsDTO.setPointsStatus(PointStatusEnum.REDUCE); memberPointsDTO.setPoints(order.getPoints()); memberClient.addMemberPoints(memberPointsDTO); -- Gitblit v1.7.1