From 6f105527515f86f84a05937499bc084877186e73 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期一, 24 十一月 2025 10:19:53 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/ConvenienceController.java |   63 +++++++++++++++++++++++++------
 1 files changed, 51 insertions(+), 12 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 01629a5..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;
@@ -126,7 +126,10 @@
             List<String> activityIds = activityList.stream().map(TCommunityActivity::getId).collect(Collectors.toList());
             List<TCommunityActivityRegistration> activityRegistrationList = tCommunityActivityRegistrationService.list(new LambdaQueryWrapper<TCommunityActivityRegistration>().in(TCommunityActivityRegistration::getActivityId, activityIds).eq(TCommunityActivityRegistration::getAppUserId, userId));
             for (TCommunityActivity tCommunityActivity : activityList) {
-                TCommunityActivityRegistration tCommunityActivityRegistration = activityRegistrationList.stream().filter(e -> e.getActivityId().equals(tCommunityActivity.getId())).findFirst().orElse(null);
+                List<TCommunityActivityRegistration> tCommunityActivityRegistrations = activityRegistrationList.stream().filter(e -> e.getActivityId().equals(tCommunityActivity.getId())).collect(Collectors.toList());
+                tCommunityActivity.setUserNum(tCommunityActivityRegistrations.size());
+                String finalUserId = userId;
+                TCommunityActivityRegistration tCommunityActivityRegistration = tCommunityActivityRegistrations.stream().filter(e -> e.getAppUserId().equals(finalUserId)).findFirst().orElse(null);
                 if (tCommunityActivityRegistration != null) {
                     tCommunityActivity.setState(2);
                 }
@@ -202,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);
+                        }
                     }
 
                 }
@@ -223,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);
     }
 
 
@@ -244,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