From 4f78db00a0aa292655e216c507589df8dd65d7b7 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期三, 12 十一月 2025 17:10:41 +0800
Subject: [PATCH] 管理后台导入,问卷调查

---
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TQuestionnaireServiceImpl.java |   41 +++++++++++++++++++++++++++++++++++++++++
 1 files changed, 41 insertions(+), 0 deletions(-)

diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TQuestionnaireServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TQuestionnaireServiceImpl.java
index 0cfc9dd..89def6b 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TQuestionnaireServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TQuestionnaireServiceImpl.java
@@ -1,10 +1,24 @@
 package com.ruoyi.system.service.impl;
 
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.basic.PageInfo;
 import com.ruoyi.system.mapper.TQuestionnaireMapper;
+import com.ruoyi.system.mapper.TQuestionnaireRecordMapper;
+import com.ruoyi.system.mapper.TQuestionnaireStemMapper;
+import com.ruoyi.system.model.TAssistedDining;
 import com.ruoyi.system.model.TQuestionnaire;
+import com.ruoyi.system.model.TQuestionnaireRecord;
+import com.ruoyi.system.model.TQuestionnaireStem;
+import com.ruoyi.system.query.TQuestionnaireQuery;
 import com.ruoyi.system.service.TQuestionnaireService;
+import com.ruoyi.system.vo.TQuestionnaireVO;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -17,4 +31,31 @@
 @Service
 public class TQuestionnaireServiceImpl extends ServiceImpl<TQuestionnaireMapper, TQuestionnaire> implements TQuestionnaireService {
 
+    @Autowired
+    private TQuestionnaireStemMapper questionnaireStemMapper;
+    @Autowired
+    private TQuestionnaireRecordMapper questionnaireRecordMapper;
+
+    @Override
+    public PageInfo<TQuestionnaireVO> pageList(TQuestionnaireQuery query) {
+        PageInfo<TQuestionnaireVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
+        List<TQuestionnaireVO> list = this.baseMapper.pageList(query,pageInfo);
+
+        if(CollectionUtils.isEmpty(list)){
+            return pageInfo;
+        }
+        List<String> ids = list.stream().map(TQuestionnaireVO::getId).collect(Collectors.toList());
+        List<TQuestionnaireStem> questionnaireStemList = questionnaireStemMapper.selectList(Wrappers.lambdaQuery(TQuestionnaireStem.class)
+                .in(TQuestionnaireStem::getQuestionnaireId, ids));
+        List<TQuestionnaireRecord> questionnaireRecordList = questionnaireRecordMapper.selectList(Wrappers.lambdaQuery(TQuestionnaireRecord.class)
+                .in(TQuestionnaireRecord::getQuestionnaireId, ids));
+        for (TQuestionnaireVO questionnaireVO : list) {
+            List<TQuestionnaireStem> questionnaireStems = questionnaireStemList.stream().filter(questionnaireStem -> questionnaireVO.getId().equals(questionnaireStem.getQuestionnaireId())).collect(Collectors.toList());
+            questionnaireVO.setOptionNum(questionnaireStems.size());
+            List<TQuestionnaireRecord> questionnaireRecords = questionnaireRecordList.stream().filter(questionnaireRecord -> questionnaireVO.getId().equals(questionnaireRecord.getQuestionnaireId())).collect(Collectors.toList());
+            questionnaireVO.setTotalNum(questionnaireRecords.size());
+        }
+        pageInfo.setRecords(list);
+        return pageInfo;
+    }
 }

--
Gitblit v1.7.1