From 09785aed837be00cc3e03c0fdc9f5fe915f776e2 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期五, 21 十一月 2025 16:04:26 +0800
Subject: [PATCH] 小程序接口

---
 ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/ConvenienceController.java |   58 +++++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 47 insertions(+), 11 deletions(-)

diff --git a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/ConvenienceController.java b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/ConvenienceController.java
index eac60b1..2b8b2b6 100644
--- a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/ConvenienceController.java
+++ b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/ConvenienceController.java
@@ -40,7 +40,7 @@
     private final TCommunityActivityRegistrationService tCommunityActivityRegistrationService;
     private final TDeliberationVoteService tDeliberationVoteService;
     private final TDeliberationVoteOptionService tDeliberationVoteOptionService;
-    private final TAppealServicesService tAppealServicesService ;
+    private final TAppealServicesService tAppealServicesService;
 
     public ConvenienceController(THtmlConfigService tHtmlConfigService, TServiceGuideFileService tServiceGuideFileService, TConvenientInformationService tConvenientInformationService, TMicroWishService tMicroWishService, TokenService tokenService, TCommunityActivityService tCommunityActivityService, TCommunityActivityRegistrationService tCommunityActivityRegistrationService, TDeliberationVoteService tDeliberationVoteService, TDeliberationVoteOptionService tDeliberationVoteOptionService, TAppealServicesService tAppealServicesService) {
         this.tHtmlConfigService = tHtmlConfigService;
@@ -205,19 +205,23 @@
         Page<TDeliberationVote> page = new Page<>(query.getPageNum(), query.getPageSize());
         Page<TDeliberationVote> tDeliberationVotePage = tDeliberationVoteService.page(page, new LambdaQueryWrapper<TDeliberationVote>().eq(TDeliberationVote::getStatus, query.getStatus()).orderByDesc(BaseModel::getCreateTime));
         List<TDeliberationVote> tDeliberationVoteList = tDeliberationVotePage.getRecords();
-        if(!tDeliberationVoteList.isEmpty()){
+        if (!tDeliberationVoteList.isEmpty()) {
             List<String> voteIds = tDeliberationVoteList.stream().map(TDeliberationVote::getId).collect(Collectors.toList());
             List<TDeliberationVoteOption> tDeliberationVoteOptionList = tDeliberationVoteOptionService.list(new LambdaQueryWrapper<TDeliberationVoteOption>().in(TDeliberationVoteOption::getVoteId, voteIds));
             for (TDeliberationVote tDeliberationVote : tDeliberationVoteList) {
                 List<TDeliberationVoteOption> options = tDeliberationVoteOptionList.stream().filter(e -> e.getVoteId().equals(tDeliberationVote.getId())).collect(Collectors.toList());
                 for (TDeliberationVoteOption option : options) {
 
-                    String[] split = option.getVoteCount().split(",");
-                    // split转为数组
-                    List<String> list = Arrays.asList(split);
-                    option.setVoteCountNum(list.size());
-                    if(tDeliberationVote.getVoteState()==1 && userId!=null &&  list.contains(userId)){
-                        tDeliberationVote.setVoteState(2);
+                    if (option.getVoteCount() != null) {
+
+
+                        String[] split = option.getVoteCount().split(",");
+                        // split转为数组
+                        List<String> list = Arrays.asList(split);
+                        option.setVoteCountNum(list.size());
+                        if (tDeliberationVote.getVoteState() == 1 && userId != null && list.contains(userId)) {
+                            tDeliberationVote.setVoteState(2);
+                        }
                     }
 
                 }
@@ -226,6 +230,35 @@
         }
         tDeliberationVotePage.setRecords(tDeliberationVoteList);
         return R.ok(tDeliberationVotePage);
+    }
+
+    @ApiOperation(value = "议事投票--详情", response = TDeliberationVote.class)
+    @GetMapping("/getDeliberationVoteDetail/{id}")
+    public R<TDeliberationVote> getDeliberationVoteDetail(@PathVariable String id) {
+        String userId = null;
+        try {
+            userId = tokenService.getLoginUserApplet().getUserId();
+        } catch (Exception e) {
+        }
+        TDeliberationVote tDeliberationVote = tDeliberationVoteService.getById(id);
+        if (tDeliberationVote != null) {
+            List<TDeliberationVoteOption> tDeliberationVoteOptionList = tDeliberationVoteOptionService.list(new LambdaQueryWrapper<TDeliberationVoteOption>().eq(TDeliberationVoteOption::getVoteId, id));
+            List<TDeliberationVoteOption> options = tDeliberationVoteOptionList.stream().filter(e -> e.getVoteId().equals(tDeliberationVote.getId())).collect(Collectors.toList());
+            for (TDeliberationVoteOption option : options) {
+                if (option.getVoteCount() != null) {
+                    String[] split = option.getVoteCount().split(",");
+                    // split转为数组
+                    List<String> list = Arrays.asList(split);
+                    option.setVoteCountNum(list.size());
+                    if (tDeliberationVote.getVoteState() == 1 && userId != null && list.contains(userId)) {
+                        tDeliberationVote.setVoteState(2);
+                    }
+                }
+
+            }
+            tDeliberationVote.setOptions(options);
+        }
+        return R.ok(tDeliberationVote);
     }
 
 
@@ -247,10 +280,13 @@
         List<TDeliberationVoteOption> list = tDeliberationVoteOptionService.list(new LambdaQueryWrapper<TDeliberationVoteOption>().eq(TDeliberationVoteOption::getVoteId, dto.getVoteId()));
         for (TDeliberationVoteOption tDeliberationVoteOption : list) {
             String voteCount = tDeliberationVoteOption.getVoteCount();
-            String[] split = voteCount.split(",");
-            if (Arrays.asList(split).contains(userId)) {
-                return R.fail("你已经投票");
+            if(voteCount != null){
+                String[] split = voteCount.split(",");
+                if (Arrays.asList(split).contains(userId)) {
+                    return R.fail("你已经投票");
+                }
             }
+
         }
         TDeliberationVoteOption tDeliberationVoteOption = list.stream().filter(e -> e.getOptionContent().equals(dto.getOptionContent())).findFirst().orElse(null);
         if (tDeliberationVoteOption == null) {

--
Gitblit v1.7.1