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