From 3bc7fe7b6eb9a6f9b6ed346b6cd3c8f5a4a32e39 Mon Sep 17 00:00:00 2001 From: luofl <1442745593@qq.com> Date: 星期五, 11 四月 2025 09:09:14 +0800 Subject: [PATCH] 1 --- cloud-server-activity/src/main/java/com/dsh/activity/controller/THuiminCardController.java | 59 +++++++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 47 insertions(+), 12 deletions(-) diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/controller/THuiminCardController.java b/cloud-server-activity/src/main/java/com/dsh/activity/controller/THuiminCardController.java index b227540..e41cc81 100644 --- a/cloud-server-activity/src/main/java/com/dsh/activity/controller/THuiminCardController.java +++ b/cloud-server-activity/src/main/java/com/dsh/activity/controller/THuiminCardController.java @@ -27,9 +27,20 @@ private PayHuiminService payHuiminService; - @GetMapping("/queryPage") - public Page<THuiminCard> queryPage(Page<THuiminCard> page, THuiminCard tHuiminCard) { + @PostMapping("/queryPage") + public Page<THuiminCard> queryPage(@RequestBody THuiminCard tHuiminCard) { QueryWrapper<THuiminCard> queryWrapper = new QueryWrapper<>(); + + + Integer objectType = tHuiminCard.getObjectType(); + Integer objectId = tHuiminCard.getObjectId(); + if (objectType == 2){ + queryWrapper.eq("operatorId",objectId); + } + if (objectType == 3){ + queryWrapper.apply("FIND_IN_SET("+objectId+",storeIds)"); + } + if (!StringUtils.isEmpty(tHuiminCard.getHuiMinName())){ queryWrapper.like("huiMinName",tHuiminCard.getHuiMinName()); } @@ -40,19 +51,19 @@ queryWrapper.ge("startTime",tHuiminCard.getStartTime()); queryWrapper.le("endTime",tHuiminCard.getEndTime()); } - Integer flag = tHuiminCard.getFlag(); - if (flag != null){ + Integer huiMinStatus = tHuiminCard.getHuiMinStatus(); + // 惠民卡状态:1未开始 2已开始 3已结束 + if (huiMinStatus != null){ Date now = new Date(); - switch (flag) { + switch (huiMinStatus) { case 1: - queryWrapper.le("startTime", now); + queryWrapper.gt("startTime", now); break; - case 2: - queryWrapper.ge("startTime", now); + case 2: + queryWrapper.apply("(startTime <= now() AND endTime >= now()) OR(startTime IS NULL AND endTime IS NULL)"); + break; + case 3: queryWrapper.le("endTime", now); - break; - case 3: - queryWrapper.lt("endTime", now); break; } } @@ -60,8 +71,14 @@ if (tHuiminCard.getStatus() != null){ queryWrapper.eq("status",tHuiminCard.getStatus()); } + Page<THuiminCard> page = new Page<>(); + page.setCurrent(tHuiminCard.getCurrent()); + page.setSize(tHuiminCard.getSize()); Page<THuiminCard> page1 = tHuiminCardService.page(page, queryWrapper); List<THuiminCard> records = page1.getRecords(); + if (records.isEmpty()){ + return page1; + } List<Integer> cardIds = records.stream().map(THuiminCard::getId).collect(Collectors.toList()); List<TPayHuimin> list = payHuiminService.list(new LambdaQueryWrapper<TPayHuimin>() .in(TPayHuimin::getCardId, cardIds)); @@ -75,6 +92,25 @@ records.forEach(item -> { item.setBuyCount(cardIdCountMap.getOrDefault(item.getId(), 0L).intValue()); + + // 惠民卡状态计算逻辑 + Date startTime = item.getStartTime(); + Date endTime = item.getEndTime(); + + Date now = new Date(); + if (startTime == null || endTime == null) { + // 时间字段未填写时默认状态为「已开始」 + item.setHuiMinStatus(2); + } else { + if (startTime.after(now)) { + item.setHuiMinStatus(1); // 未开始 + } else if (endTime.before(now)) { + item.setHuiMinStatus(3); // 已结束 + } else { + item.setHuiMinStatus(2); // 已开始 + } + } + }); return page1; } @@ -92,7 +128,6 @@ @PostMapping("/updateById") public R<?> updateById(@RequestBody THuiminCard tHuiminCard) { - String unUseTimes = tHuiminCard.getUnUseTimes(); tHuiminCardService.updateById(tHuiminCard); return R.ok(""); } -- Gitblit v1.7.1