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