From ee22986d6f85030a5e0f09d15b8119b99ea2fd08 Mon Sep 17 00:00:00 2001 From: lanyuanxiaoyao Date: Wed, 31 Jan 2024 14:55:29 +0800 Subject: [PATCH] =?UTF-8?q?feat(queue):=20=E9=98=9F=E5=88=97=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E7=BB=9F=E4=B8=80=E6=94=B9=E4=B8=BAquery?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/forest/service/QueueService.java | 10 +- .../queue/controller/DequeController.java | 156 +++++++++--------- .../queue/controller/QueueController.java | 84 +++++----- 3 files changed, 125 insertions(+), 125 deletions(-) diff --git a/service-forest/src/main/java/com/lanyuanxiaoyao/service/forest/service/QueueService.java b/service-forest/src/main/java/com/lanyuanxiaoyao/service/forest/service/QueueService.java index 793dc81..8956c52 100644 --- a/service-forest/src/main/java/com/lanyuanxiaoyao/service/forest/service/QueueService.java +++ b/service-forest/src/main/java/com/lanyuanxiaoyao/service/forest/service/QueueService.java @@ -2,7 +2,7 @@ package com.lanyuanxiaoyao.service.forest.service; import com.dtflys.forest.annotation.BaseRequest; import com.dtflys.forest.annotation.Get; -import com.dtflys.forest.annotation.Var; +import com.dtflys.forest.annotation.Query; import com.eshore.odcp.hudi.connector.entity.compaction.ScheduleJob; import com.lanyuanxiaoyao.service.configuration.entity.queue.QueueItem; import org.eclipse.collections.api.list.ImmutableList; @@ -18,9 +18,9 @@ public interface QueueService { @Get("/names") ImmutableList names(); - @Get("/all/{name}") - ImmutableList> all(@Var("name") String name); + @Get("/all") + ImmutableList> all(@Query("name") String name); - @Get("/size/{name}") - Integer size(@Var("name") String name); + @Get("/size") + Integer size(@Query("name") String name); } diff --git a/service-queue/src/main/java/com/lanyuanxiaoyao/service/queue/controller/DequeController.java b/service-queue/src/main/java/com/lanyuanxiaoyao/service/queue/controller/DequeController.java index 7babfdb..95bdefd 100644 --- a/service-queue/src/main/java/com/lanyuanxiaoyao/service/queue/controller/DequeController.java +++ b/service-queue/src/main/java/com/lanyuanxiaoyao/service/queue/controller/DequeController.java @@ -42,200 +42,200 @@ public class DequeController implements QueueOperator { return Constants.DEQUE_MAP.keys(); } - @GetMapping("/all/{name}") + @GetMapping("/all") @Override - public List> all(@PathVariable("name") String name) { + public List> all(@RequestParam("name") String name) { return makeReturn(name, ArrayList::new); } - @PostMapping("/add_first/{name}") - public void addFirst(@PathVariable("name") String name, @RequestBody QueueItem data) { + @PostMapping("/add_first") + public void addFirst(@RequestParam("name") String name, @RequestBody QueueItem data) { makeVoid(name, deque -> deque.addFirst(data)); } - @PostMapping("/add_last/{name}") - public void addLast(@PathVariable("name") String name, @RequestBody QueueItem data) { + @PostMapping("/add_last") + public void addLast(@RequestParam("name") String name, @RequestBody QueueItem data) { makeVoid(name, deque -> deque.addLast(data)); } - @PostMapping("/offer_first/{name}") - public Boolean offerFirst(@PathVariable("name") String name, @RequestBody QueueItem data) { + @PostMapping("/offer_first") + public Boolean offerFirst(@RequestParam("name") String name, @RequestBody QueueItem data) { return makeReturn(name, deque -> deque.offerFirst(data)); } - @PostMapping("/offer_last/{name}") - public Boolean offerLast(@PathVariable("name") String name, @RequestBody QueueItem data) { + @PostMapping("/offer_last") + public Boolean offerLast(@RequestParam("name") String name, @RequestBody QueueItem data) { return makeReturn(name, deque -> deque.offerLast(data)); } - @GetMapping("/remove_first/{name}") - public QueueItem removeFirst(@PathVariable("name") String name) { + @GetMapping("/remove_first") + public QueueItem removeFirst(@RequestParam("name") String name) { return makeReturn(name, ConcurrentLinkedDeque::removeFirst); } - @GetMapping("/remove_last/{name}") - public QueueItem removeLast(@PathVariable("name") String name) { + @GetMapping("/remove_last") + public QueueItem removeLast(@RequestParam("name") String name) { return makeReturn(name, ConcurrentLinkedDeque::removeLast); } - @GetMapping("/poll_first/{name}") - public QueueItem pollFirst(@PathVariable("name") String name) { + @GetMapping("/poll_first") + public QueueItem pollFirst(@RequestParam("name") String name) { return makeReturn(name, ConcurrentLinkedDeque::pollFirst); } - @GetMapping("/poll_last/{name}") - public QueueItem pollLast(@PathVariable("name") String name) { + @GetMapping("/poll_last") + public QueueItem pollLast(@RequestParam("name") String name) { return makeReturn(name, ConcurrentLinkedDeque::pollLast); } - @GetMapping("/get_first/{name}") - public QueueItem getFirst(@PathVariable("name") String name) { + @GetMapping("/get_first") + public QueueItem getFirst(@RequestParam("name") String name) { return makeReturn(name, ConcurrentLinkedDeque::getFirst); } - @GetMapping("/get_last/{name}") - public QueueItem getLast(@PathVariable("name") String name) { + @GetMapping("/get_last") + public QueueItem getLast(@RequestParam("name") String name) { return makeReturn(name, ConcurrentLinkedDeque::getLast); } - @GetMapping("/peek_first/{name}") - public QueueItem peekFirst(@PathVariable("name") String name) { + @GetMapping("/peek_first") + public QueueItem peekFirst(@RequestParam("name") String name) { return makeReturn(name, ConcurrentLinkedDeque::peekFirst); } - @GetMapping("/peek_last/{name}") - public QueueItem peekLast(@PathVariable("name") String name) { + @GetMapping("/peek_last") + public QueueItem peekLast(@RequestParam("name") String name) { return makeReturn(name, ConcurrentLinkedDeque::peekLast); } - @PostMapping("/remove_first_occurrence/{name}") - public Boolean removeFirstOccurrence(@PathVariable("name") String name, @RequestBody String data) { + @PostMapping("/remove_first_occurrence") + public Boolean removeFirstOccurrence(@RequestParam("name") String name, @RequestBody String data) { return makeReturn(name, deque -> deque.removeFirstOccurrence(data)); } - @GetMapping("/remove_first_occurrence_id/{name}/{id}") - public Boolean removeFirstOccurrenceId(@PathVariable("name") String name, @PathVariable("id") String id) { + @GetMapping("/remove_first_occurrence_id") + public Boolean removeFirstOccurrenceId(@RequestParam("name") String name, @RequestParam("id") String id) { return makeReturn(name, deque -> deque.removeFirstOccurrence(new QueueItem<>(id))); } - @PostMapping("/remove_last_occurrence/{name}") - public Boolean removeLastOccurrence(@PathVariable("name") String name, @RequestBody String data) { + @PostMapping("/remove_last_occurrence") + public Boolean removeLastOccurrence(@RequestParam("name") String name, @RequestBody String data) { return makeReturn(name, deque -> deque.removeLastOccurrence(data)); } - @GetMapping("/remove_last_occurrence_id/{name}/{id}") - public Boolean removeLastOccurrenceId(@PathVariable("name") String name, @PathVariable("id") String id) { + @GetMapping("/remove_last_occurrence_id") + public Boolean removeLastOccurrenceId(@RequestParam("name") String name, @RequestParam("id") String id) { return makeReturn(name, deque -> deque.removeLastOccurrence(new QueueItem<>(id))); } - @PostMapping("/add/{name}") - public Boolean add(@PathVariable("name") String name, @RequestBody QueueItem data) { + @PostMapping("/add") + public Boolean add(@RequestParam("name") String name, @RequestBody QueueItem data) { return makeReturn(name, deque -> deque.add(data)); } - @PostMapping("/offer/{name}") - public Boolean offer(@PathVariable("name") String name, @RequestBody QueueItem data) { + @PostMapping("/offer") + public Boolean offer(@RequestParam("name") String name, @RequestBody QueueItem data) { return makeReturn(name, deque -> deque.offer(data)); } - @GetMapping("/remove/{name}") - public QueueItem remove(@PathVariable("name") String name) { + @GetMapping("/remove") + public QueueItem remove(@RequestParam("name") String name) { return makeReturn(name, ConcurrentLinkedDeque::remove); } - @GetMapping("/poll/{name}") - public QueueItem poll(@PathVariable("name") String name) { + @GetMapping("/poll") + public QueueItem poll(@RequestParam("name") String name) { return makeReturn(name, ConcurrentLinkedDeque::poll); } - @GetMapping("/element/{name}") - public QueueItem element(@PathVariable("name") String name) { + @GetMapping("/element") + public QueueItem element(@RequestParam("name") String name) { return makeReturn(name, ConcurrentLinkedDeque::element); } - @GetMapping("/peek/{name}") - public QueueItem peek(@PathVariable("name") String name) { + @GetMapping("/peek") + public QueueItem peek(@RequestParam("name") String name) { return makeReturn(name, ConcurrentLinkedDeque::peek); } - @PostMapping("/push/{name}") - public void push(@PathVariable("name") String name, @RequestBody QueueItem data) { + @PostMapping("/push") + public void push(@RequestParam("name") String name, @RequestBody QueueItem data) { makeVoid(name, deque -> deque.push(data)); } - @GetMapping("/pop/{name}") - public QueueItem pop(@PathVariable("name") String name) { + @GetMapping("/pop") + public QueueItem pop(@RequestParam("name") String name) { return makeReturn(name, ConcurrentLinkedDeque::pop); } - @PostMapping("/remove/{name}") - public Boolean remove(@PathVariable("name") String name, @RequestBody QueueItem data) { + @PostMapping("/remove") + public Boolean remove(@RequestParam("name") String name, @RequestBody QueueItem data) { return makeReturn(name, deque -> deque.remove(data)); } - @GetMapping("/remove_id/{name}/{id}") - public Boolean removeId(@PathVariable("name") String name, @PathVariable("id") String id) { + @GetMapping("/remove_id") + public Boolean removeId(@RequestParam("name") String name, @RequestParam("id") String id) { return makeReturn(name, deque -> deque.remove(new QueueItem<>(id))); } - @PostMapping("/contains_all/{name}") - public Boolean containsAll(@PathVariable("name") String name, @RequestBody List> data) { + @PostMapping("/contains_all") + public Boolean containsAll(@RequestParam("name") String name, @RequestBody List> data) { return makeReturn(name, deque -> deque.containsAll(data)); } - @PostMapping("/contains_all_id/{name}") - public Boolean containsAllId(@PathVariable("name") String name, @RequestBody List ids) { + @PostMapping("/contains_all_id") + public Boolean containsAllId(@RequestParam("name") String name, @RequestBody List ids) { List> containsItems = ids.stream().map(QueueItem::new).collect(Collectors.toList()); return makeReturn(name, deque -> deque.containsAll(containsItems)); } - @PostMapping("/add_all/{name}") - public Boolean addAll(@PathVariable("name") String name, @RequestBody List> data) { + @PostMapping("/add_all") + public Boolean addAll(@RequestParam("name") String name, @RequestBody List> data) { return makeReturn(name, deque -> deque.addAll(data)); } - @PostMapping("/remove_all/{name}") - public Boolean removeAll(@PathVariable("name") String name, @RequestBody List> data) { + @PostMapping("/remove_all") + public Boolean removeAll(@RequestParam("name") String name, @RequestBody List> data) { return makeReturn(name, deque -> deque.removeAll(data)); } - @PostMapping("/remove_all_id/{name}") - public Boolean removeAllId(@PathVariable("name") String name, @RequestBody List ids) { + @PostMapping("/remove_all_id") + public Boolean removeAllId(@RequestParam("name") String name, @RequestBody List ids) { return makeReturn(name, deque -> deque.removeIf(item -> ids.contains(item.getId()))); } - @GetMapping("/remove_all_id/{name}/{id}") - public Boolean removeAllId(@PathVariable("name") String name, @PathVariable String id) { + @GetMapping("/remove_all_id") + public Boolean removeAllId(@RequestParam("name") String name, @RequestParam String id) { return makeReturn(name, deque -> deque.removeIf(item -> item.getId().equals(id))); } - @PostMapping("/retain_all/{name}") - public Boolean retainAll(@PathVariable("name") String name, @RequestBody List> data) { + @PostMapping("/retain_all") + public Boolean retainAll(@RequestParam("name") String name, @RequestBody List> data) { return makeReturn(name, deque -> deque.retainAll(data)); } - @GetMapping("/clear/{name}") - public void clear(@PathVariable("name") String name) { + @GetMapping("/clear") + public void clear(@RequestParam("name") String name) { makeVoid(name, ConcurrentLinkedDeque::clear); } - @PostMapping("/contains/{name}") - public Boolean contains(@PathVariable("name") String name, @RequestBody QueueItem data) { + @PostMapping("/contains") + public Boolean contains(@RequestParam("name") String name, @RequestBody QueueItem data) { return makeReturn(name, deque -> deque.contains(data)); } - @GetMapping("/contains_id/{name}/{id}") - public Boolean containsId(@PathVariable("name") String name, @PathVariable("id") String id) { + @GetMapping("/contains_id") + public Boolean containsId(@RequestParam("name") String name, @RequestParam("id") String id) { return makeReturn(name, deque -> deque.contains(new QueueItem<>(id))); } - @GetMapping("/size/{name}") - public Integer size(@PathVariable("name") String name) { + @GetMapping("/size") + public Integer size(@RequestParam("name") String name) { return makeReturn(name, ConcurrentLinkedDeque::size); } - @GetMapping("/is_empty/{name}") - public Boolean isEmpty(@PathVariable("name") String name) { + @GetMapping("/is_empty") + public Boolean isEmpty(@RequestParam("name") String name) { return makeReturn(name, ConcurrentLinkedDeque::isEmpty); } } diff --git a/service-queue/src/main/java/com/lanyuanxiaoyao/service/queue/controller/QueueController.java b/service-queue/src/main/java/com/lanyuanxiaoyao/service/queue/controller/QueueController.java index bef9fae..1c1d76d 100644 --- a/service-queue/src/main/java/com/lanyuanxiaoyao/service/queue/controller/QueueController.java +++ b/service-queue/src/main/java/com/lanyuanxiaoyao/service/queue/controller/QueueController.java @@ -40,100 +40,100 @@ public class QueueController implements QueueOperator { return Constants.QUEUE_MAP.keys(); } - @GetMapping("/all/{name}") + @GetMapping("/all") @Override - public List> all(@PathVariable("name") String name) { + public List> all(@RequestParam("name") String name) { return makeReturn(name, ArrayList::new); } - @GetMapping("/size/{name}") - public Integer size(@PathVariable("name") String name) { + @GetMapping("/size") + public Integer size(@RequestParam("name") String name) { return makeReturn(name, PriorityBlockingQueue::size); } - @GetMapping("/is_empty/{name}") - public Boolean isEmpty(@PathVariable("name") String name) { + @GetMapping("/is_empty") + public Boolean isEmpty(@RequestParam("name") String name) { return makeReturn(name, PriorityBlockingQueue::isEmpty); } - @PostMapping("/contains/{name}") - public Boolean contains(@PathVariable("name") String name, @RequestBody QueueItem data) { + @PostMapping("/contains") + public Boolean contains(@RequestParam("name") String name, @RequestBody QueueItem data) { return makeReturn(name, queue -> queue.contains(data)); } - @GetMapping("/contains/{name}/{id}") - public Boolean containsId(@PathVariable("name") String name, @PathVariable("id") String id) { + @GetMapping("/contains") + public Boolean containsId(@RequestParam("name") String name, @RequestParam("id") String id) { return makeReturn(name, queue -> queue.contains(new QueueItem<>(id))); } - @PostMapping("/add/{name}") - public Boolean add(@PathVariable("name") String name, @RequestBody QueueItem data) { + @PostMapping("/add") + public Boolean add(@RequestParam("name") String name, @RequestBody QueueItem data) { return makeReturn(name, queue -> queue.add(data)); } - @PostMapping("/remove/{name}") - public Boolean remove(@PathVariable("name") String name, @RequestBody QueueItem data) { + @PostMapping("/remove") + public Boolean remove(@RequestParam("name") String name, @RequestBody QueueItem data) { return makeReturn(name, queue -> queue.remove(data)); } - @GetMapping("/remove_id/{name}/{id}") - public Boolean remove(@PathVariable("name") String name, @PathVariable("id") String id) { + @GetMapping("/remove_id") + public Boolean remove(@RequestParam("name") String name, @RequestParam("id") String id) { return makeReturn(name, queue -> queue.remove(new QueueItem<>(id))); } - @PostMapping("/contains_all/{name}") - public Boolean containsAll(@PathVariable("name") String name, @RequestBody List> data) { + @PostMapping("/contains_all") + public Boolean containsAll(@RequestParam("name") String name, @RequestBody List> data) { return makeReturn(name, queue -> queue.containsAll(data)); } - @PostMapping("/contains_all_id/{name}") - public Boolean containsAllId(@PathVariable("name") String name, @RequestBody List ids) { + @PostMapping("/contains_all_id") + public Boolean containsAllId(@RequestParam("name") String name, @RequestBody List ids) { List> containsItems = ids.stream().map(QueueItem::new).collect(Collectors.toList()); return makeReturn(name, queue -> queue.containsAll(containsItems)); } - @PostMapping("/add_all/{name}") - public Boolean addAll(@PathVariable("name") String name, @RequestBody List> data) { + @PostMapping("/add_all") + public Boolean addAll(@RequestParam("name") String name, @RequestBody List> data) { return makeReturn(name, queue -> queue.addAll(data)); } - @PostMapping("/remove_all/{name}") - public Boolean removeAll(@PathVariable("name") String name, @RequestBody List> data) { + @PostMapping("/remove_all") + public Boolean removeAll(@RequestParam("name") String name, @RequestBody List> data) { return makeReturn(name, queue -> queue.removeAll(data)); } - @PostMapping("/remove_all_id/{name}") - public Boolean removeAllId(@PathVariable("name") String name, @RequestBody List ids) { + @PostMapping("/remove_all_id") + public Boolean removeAllId(@RequestParam("name") String name, @RequestBody List ids) { return makeReturn(name, queue -> queue.removeIf(item -> ids.contains(item.getId()))); } - @GetMapping("/remove_all_id/{name}/{id}") - public Boolean removeAllId(@PathVariable("name") String name, @PathVariable("id") String id) { + @GetMapping("/remove_all_id") + public Boolean removeAllId(@RequestParam("name") String name, @RequestParam("id") String id) { return makeReturn(name, queue -> queue.removeIf(item -> item.getId().equals(id))); } - @PostMapping("/retain_all/{name}") - public Boolean retainAll(@PathVariable("name") String name, @RequestBody List> data) { + @PostMapping("/retain_all") + public Boolean retainAll(@RequestParam("name") String name, @RequestBody List> data) { return makeReturn(name, queue -> queue.retainAll(data)); } - @GetMapping("/clear/{name}") - public void clear(@PathVariable("name") String name) { + @GetMapping("/clear") + public void clear(@RequestParam("name") String name) { makeVoid(name, PriorityBlockingQueue::clear); } - @PostMapping("/offer/{name}") - public Boolean offer(@PathVariable("name") String name, @RequestBody QueueItem data) { + @PostMapping("/offer") + public Boolean offer(@RequestParam("name") String name, @RequestBody QueueItem data) { return makeReturn(name, queue -> queue.offer(data)); } - @GetMapping("/remove/{name}") - public QueueItem remove(@PathVariable("name") String name) { + @GetMapping("/remove") + public QueueItem remove(@RequestParam("name") String name) { return makeReturn(name, PriorityBlockingQueue::remove); } - @GetMapping("/poll/{name}") - public QueueItem poll(@PathVariable("name") String name) { + @GetMapping("/poll") + public QueueItem poll(@RequestParam("name") String name) { return makeReturn(name, queue -> { try { return queue.poll(Constants.POLL_TIMEOUT, Constants.TIMEOUT_UNIT); @@ -143,13 +143,13 @@ public class QueueController implements QueueOperator { }); } - @GetMapping("/element/{name}") - public QueueItem element(@PathVariable("name") String name) { + @GetMapping("/element") + public QueueItem element(@RequestParam("name") String name) { return makeReturn(name, PriorityBlockingQueue::element); } - @GetMapping("/peek/{name}") - public QueueItem peek(@PathVariable("name") String name) { + @GetMapping("/peek") + public QueueItem peek(@RequestParam("name") String name) { return makeReturn(name, PriorityBlockingQueue::peek); } }