From 5ae1c4d6b2220cdfa7db584177d5adc5766bb17f Mon Sep 17 00:00:00 2001 From: Wonder Date: Fri, 31 Oct 2025 10:20:59 +0800 Subject: [PATCH] =?UTF-8?q?=20=E2=9C=A8Feat:=20=E5=AE=9E=E7=8E=B0MovieDay?= =?UTF-8?q?=E5=8D=A1=E7=89=87=E5=9B=9E=E4=BC=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hezhaohui/lark/handler/EventListener.java | 22 ++++++++++--------- .../hezhaohui/lark/service/MovieService.java | 20 +++++++++++++---- 2 files changed, 28 insertions(+), 14 deletions(-) diff --git a/lark/src/main/java/cn/hezhaohui/lark/handler/EventListener.java b/lark/src/main/java/cn/hezhaohui/lark/handler/EventListener.java index 92fc31f..64b7cd9 100644 --- a/lark/src/main/java/cn/hezhaohui/lark/handler/EventListener.java +++ b/lark/src/main/java/cn/hezhaohui/lark/handler/EventListener.java @@ -11,6 +11,7 @@ import cn.hezhaohui.pojo.vo.MovieVO; import com.lark.oapi.core.utils.Jsons; import com.lark.oapi.event.EventDispatcher; import com.lark.oapi.event.cardcallback.P2CardActionTriggerHandler; +import com.lark.oapi.event.cardcallback.model.CallBackCard; import com.lark.oapi.event.cardcallback.model.CallBackToast; import com.lark.oapi.event.cardcallback.model.P2CardActionTrigger; import com.lark.oapi.event.cardcallback.model.P2CardActionTriggerResponse; @@ -45,16 +46,7 @@ public class EventListener { LarkUtil.sendCard(CardEnum.CARD_WEATHER, weather); } else if (eventKey.equals("movie")) { MovieService movieService = BeanUtil.getBean(MovieService.class); - List movies = movieService.listMovies(); - List> movieList = new ArrayList<>(); - for (MovieVO movie : movies) { - Map movieInfo = new HashMap<>(); - movieInfo.put("movie_title", movie.getName()); - movieInfo.put("submit_time", movie.getDate()); - movieList.add(movieInfo); - } - Map data = new HashMap<>(); - data.put("recent_movie", movieList); + Map data = movieService.getMovies(); LarkUtil.sendCard(CardEnum.CARD_MOVIE, data); } } @@ -75,6 +67,16 @@ public class EventListener { toast.setType("success"); toast.setContent("Successful Operation!!!"); response.setToast(toast); + + CallBackCard card = new CallBackCard(); + card.setType("template"); + Map movies = movieService.getMovies(); + Map data = new HashMap<>(); + data.put("template_id", CardEnum.CARD_MOVIE.getId()); + data.put("template_version_name", CardEnum.CARD_MOVIE.getVersionName()); + data.put("template_variable", movies); + card.setData(data); + response.setCard(card); return response; } }) diff --git a/lark/src/main/java/cn/hezhaohui/lark/service/MovieService.java b/lark/src/main/java/cn/hezhaohui/lark/service/MovieService.java index 0a863fc..58a8301 100644 --- a/lark/src/main/java/cn/hezhaohui/lark/service/MovieService.java +++ b/lark/src/main/java/cn/hezhaohui/lark/service/MovieService.java @@ -7,9 +7,7 @@ import jakarta.annotation.Resource; import org.springframework.stereotype.Service; import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; +import java.util.*; @Service public class MovieService { @@ -17,7 +15,21 @@ public class MovieService { @Resource private MovieClient movieClient; - public List listMovies() { + public Map getMovies() { + List input = this.listMovies(); + List output = new ArrayList<>(); + for (MovieVO movieVO : input) { + Map movieInfo = new HashMap<>(); + movieInfo.put("movie_title", movieVO.getName()); + movieInfo.put("submit_time", movieVO.getDate()); + output.add(movieInfo); + } + Map data = new HashMap<>(); + data.put("recent_movie", output); + return data; + } + + private List listMovies() { List movieDTOS = movieClient.listMovies(); List movieVOS = new ArrayList<>(); for (MovieDTO movieDTO : movieDTOS) {