mitao
2024-07-29 f9562fc61410d6c66e6973cb63a659557059d114
修改bug
9个文件已修改
77 ■■■■■ 已修改文件
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/MemberPoints.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MemberPointsDTO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/management/dto/GoodsSkuQuery.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsGroupPurchaseServiceImpl.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSeckillServiceImpl.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSkuServiceImpl.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/pom.xml 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/vo/MgtOrderReturnRequestVO.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderReturnRequestServiceImpl.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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 是减积分")
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 是减积分")
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;
}
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("添加失败,当前商品在该时间段内有其他团购活动");
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));
    }
    /**
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);
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>
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;
}
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);