xuhy
2025-11-24 6f105527515f86f84a05937499bc084877186e73
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) {