From c90a8ac772937f8f084356ea1f04c5dba1d9e5d5 Mon Sep 17 00:00:00 2001 From: luodangjia <luodangjia> Date: 星期五, 24 一月 2025 11:15:33 +0800 Subject: [PATCH] 12.18 --- ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/OrderActivityInfoController.java | 30 ++++++++++++++++++------------ 1 files changed, 18 insertions(+), 12 deletions(-) diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/OrderActivityInfoController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/OrderActivityInfoController.java index ef649e0..0060cb9 100644 --- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/OrderActivityInfoController.java +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/OrderActivityInfoController.java @@ -62,9 +62,10 @@ if (org.springframework.util.StringUtils.hasLength(orderActivityInfo.getVipIds())){ List<String> vipIds = new ArrayList<>(Arrays.asList(orderActivityInfo.getVipIds().split(","))); List<OrderActivityInfo> list = orderActivityInfoService.lambdaQuery() - .le(OrderActivityInfo::getStartTime, orderActivityInfo.getStartTime()) + .between(OrderActivityInfo::getStartTime, orderActivityInfo.getStartTime(), orderActivityInfo.getEndTime()) .or() - .ge(OrderActivityInfo::getEndTime, orderActivityInfo.getEndTime()).list(); + .between(OrderActivityInfo::getEndTime, orderActivityInfo.getStartTime(), orderActivityInfo.getEndTime()) + .list(); if (!list.isEmpty()){ for (OrderActivityInfo activityInfo : list) { List<String> vips = Arrays.asList(activityInfo.getVipIds().split(",")); @@ -132,11 +133,16 @@ if (org.springframework.util.StringUtils.hasLength(orderActivityInfo.getVipIds())){ List<String> vipIds = new ArrayList<>(Arrays.asList(orderActivityInfo.getVipIds().split(","))); List<OrderActivityInfo> list = orderActivityInfoService.lambdaQuery() - .le(OrderActivityInfo::getStartTime, orderActivityInfo.getStartTime()) + .between(OrderActivityInfo::getStartTime, orderActivityInfo.getStartTime(), orderActivityInfo.getEndTime()) .or() - .ge(OrderActivityInfo::getEndTime, orderActivityInfo.getEndTime()).list(); + .between(OrderActivityInfo::getEndTime, orderActivityInfo.getStartTime(), orderActivityInfo.getEndTime()) + .list(); + // 遍历集合 通过startTime和endTime 判断是否与当前活动时间重叠 if (!list.isEmpty()){ for (OrderActivityInfo activityInfo : list) { + if(activityInfo.getId().equals(orderActivityInfo.getId())){ + continue; + } List<String> vips = Arrays.asList(activityInfo.getVipIds().split(",")); if (!vipIds.isEmpty()){ StringBuilder message = new StringBuilder(); @@ -187,16 +193,16 @@ @GetMapping("/list") @ApiOperation(value = "订单优惠活动-获取活动列表", tags = {"管理后台-活动管理"}) public R<Page<OrderActivityInfo>> list(@ApiParam("页码") @RequestParam Integer pageNum, - @ApiParam("每一页数据大小") Integer pageSize, - OrderActivityInfo orderActivityInfo){ + @ApiParam("每一页数据大小") Integer pageSize, String id, String activityName, Integer status, Integer isShelf){ Page<OrderActivityInfo> page = orderActivityInfoService.page(Page.of(pageNum, pageSize), new LambdaQueryWrapper<OrderActivityInfo>() - .like(orderActivityInfo.getId() != null, OrderActivityInfo::getId, orderActivityInfo.getId()) - .like(StringUtils.isNotEmpty(orderActivityInfo.getActivityName()), OrderActivityInfo::getActivityName, orderActivityInfo.getActivityName()) - .gt(orderActivityInfo.getStatus() != null && orderActivityInfo.getStatus() == 0, OrderActivityInfo::getStartTime, LocalDateTime.now()) - .ge(orderActivityInfo.getStatus() != null && orderActivityInfo.getStatus() == 1, OrderActivityInfo::getEndTime, LocalDateTime.now()) - .lt(orderActivityInfo.getStatus() != null && orderActivityInfo.getStatus() == 1, OrderActivityInfo::getStartTime, LocalDateTime.now()) - .eq(orderActivityInfo.getIsShelf() != null, OrderActivityInfo::getIsShelf, orderActivityInfo.getIsShelf()).orderByDesc(OrderActivityInfo::getCreateTime) + .like(StringUtils.isNotEmpty(id), OrderActivityInfo::getId, id) + .like(StringUtils.isNotEmpty(activityName), OrderActivityInfo::getActivityName, activityName) + .gt(status != null && status == 0, OrderActivityInfo::getStartTime, LocalDateTime.now()) + .ge(status != null && status == 1, OrderActivityInfo::getEndTime, LocalDateTime.now()) + .lt(status != null && status == 1, OrderActivityInfo::getStartTime, LocalDateTime.now()) + .lt(status != null && status == 2, OrderActivityInfo::getEndTime, LocalDateTime.now()) + .eq(isShelf != null, OrderActivityInfo::getIsShelf, isShelf).orderByDesc(OrderActivityInfo::getCreateTime) .orderByDesc(OrderActivityInfo::getCreateTime)) ; page.getRecords().forEach(item -> { -- Gitblit v1.7.1