From db48940346a05c419ce59575e44694755297106f Mon Sep 17 00:00:00 2001 From: wujingtao Date: Tue, 30 Nov 2021 18:31:32 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AE=9A=E6=97=B6=E6=B6=88?= =?UTF-8?q?=E6=81=AF=E9=80=BB=E8=BE=91=EF=BC=8C=E9=99=90=E5=88=B6=E6=AF=8F?= =?UTF-8?q?=E6=AC=A1=E6=9F=A5=E8=AF=A2=E6=9D=A1=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/controller/WwRemindController.java | 6 ---- .../dao/AutoWaitForMessageRepository.java | 4 ++- .../module/service/DelayRemindService.java | 7 ++-- .../service/impl/DelayRemindServiceImpl.java | 34 +++++++++++++++---- .../src/main/resources/application.yml | 3 ++ 5 files changed, 36 insertions(+), 18 deletions(-) diff --git a/service/trade-service-wwsend/trade-service-wwsend-task/src/main/java/com/hchbox/module/controller/WwRemindController.java b/service/trade-service-wwsend/trade-service-wwsend-task/src/main/java/com/hchbox/module/controller/WwRemindController.java index 1e2abf8..390460d 100644 --- a/service/trade-service-wwsend/trade-service-wwsend-task/src/main/java/com/hchbox/module/controller/WwRemindController.java +++ b/service/trade-service-wwsend/trade-service-wwsend-task/src/main/java/com/hchbox/module/controller/WwRemindController.java @@ -70,10 +70,4 @@ public class WwRemindController { log.info("===========sellerNick:{} 查询消息======", sellerNick); return new CommonResult<>().success(delayRemindService.selectDelayRemind(sellerNick)); } - - @GetMapping("/test") - @ApiOperation("接受消息") - public String test() { - return "测试成功"; - } } diff --git a/service/trade-service-wwsend/trade-service-wwsend-task/src/main/java/com/hchbox/module/dao/AutoWaitForMessageRepository.java b/service/trade-service-wwsend/trade-service-wwsend-task/src/main/java/com/hchbox/module/dao/AutoWaitForMessageRepository.java index 5580ea0..4681d11 100644 --- a/service/trade-service-wwsend/trade-service-wwsend-task/src/main/java/com/hchbox/module/dao/AutoWaitForMessageRepository.java +++ b/service/trade-service-wwsend/trade-service-wwsend-task/src/main/java/com/hchbox/module/dao/AutoWaitForMessageRepository.java @@ -19,9 +19,11 @@ public interface AutoWaitForMessageRepository extends JpaRepository findAllBySender(String sellerNick); + @Query(value = "select * from auto_wait_for_message where sender = ?1 limit 0 , ?2", nativeQuery = true) + List findAllBySender(String sellerNick, Integer num); /** * 查询过期消息 diff --git a/service/trade-service-wwsend/trade-service-wwsend-task/src/main/java/com/hchbox/module/service/DelayRemindService.java b/service/trade-service-wwsend/trade-service-wwsend-task/src/main/java/com/hchbox/module/service/DelayRemindService.java index e7fd1a8..f12c625 100644 --- a/service/trade-service-wwsend/trade-service-wwsend-task/src/main/java/com/hchbox/module/service/DelayRemindService.java +++ b/service/trade-service-wwsend/trade-service-wwsend-task/src/main/java/com/hchbox/module/service/DelayRemindService.java @@ -1,8 +1,5 @@ package com.hchbox.module.service; - -import com.hchbox.module.entity.AutoWaitMessage; - -import java.util.List; +import java.util.Map; /** * @author wujingtao @@ -15,5 +12,5 @@ public interface DelayRemindService { * @param sellerNick * @return */ - List selectDelayRemind(String sellerNick); + Map selectDelayRemind(String sellerNick); } diff --git a/service/trade-service-wwsend/trade-service-wwsend-task/src/main/java/com/hchbox/module/service/impl/DelayRemindServiceImpl.java b/service/trade-service-wwsend/trade-service-wwsend-task/src/main/java/com/hchbox/module/service/impl/DelayRemindServiceImpl.java index 03c7a65..3caf0f4 100644 --- a/service/trade-service-wwsend/trade-service-wwsend-task/src/main/java/com/hchbox/module/service/impl/DelayRemindServiceImpl.java +++ b/service/trade-service-wwsend/trade-service-wwsend-task/src/main/java/com/hchbox/module/service/impl/DelayRemindServiceImpl.java @@ -5,34 +5,56 @@ import com.hchbox.exception.TaoMiCommException; import com.hchbox.module.dao.AutoWaitForMessageRepository; import com.hchbox.module.entity.AutoWaitMessage; import com.hchbox.module.service.DelayRemindService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import javax.annotation.Resource; -import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** * @author wujingtao * @date 2021/09/29 */ @Service +@Slf4j public class DelayRemindServiceImpl implements DelayRemindService { @Resource private AutoWaitForMessageRepository autoWaitForMessageRepository; + @Value("${timing.task.maxNum}") + private int maxNum; + /** + * 前段定时来查询消息,每次最多查询2000条,false表示还未查完,true表示已经查完了 + * + * @param sellerNick + * @return + */ @Override - public List selectDelayRemind(String sellerNick) { + public Map selectDelayRemind(String sellerNick) { + HashMap map = new HashMap<>(16); List list; try { - list = autoWaitForMessageRepository.findAllBySender(sellerNick); + list = autoWaitForMessageRepository.findAllBySender(sellerNick, maxNum); + map.put("data", list); if (CollectionUtil.isNotEmpty(list)) { - for (AutoWaitMessage info : list) { - autoWaitForMessageRepository.deleteById(info.getTaskId()); + if (list.size() >= maxNum) { + map.put("isOver", false); + } else { + map.put("isOver", true); } + autoWaitForMessageRepository.deleteInBatch(list); + } else { + map.put("isOver", true); } + } catch (Exception e) { + log.error("操作定时任务消息失败.{}", e.getMessage()); throw new TaoMiCommException("请求发送消息失败"); } - return list; + log.info("查询出來的消息条数:{}", list.size()); + return map; } } diff --git a/service/trade-service-wwsend/trade-service-wwsend-task/src/main/resources/application.yml b/service/trade-service-wwsend/trade-service-wwsend-task/src/main/resources/application.yml index 49cffd9..9ecf81b 100644 --- a/service/trade-service-wwsend/trade-service-wwsend-task/src/main/resources/application.yml +++ b/service/trade-service-wwsend/trade-service-wwsend-task/src/main/resources/application.yml @@ -47,6 +47,9 @@ hystrix: snowflake: workerId: 9 datacenterId: 9 +timing: + task: + maxNum: 2000 hchbox: mi: appKey: 23042177