diff --git a/src/main/java/com/sztzjy/fund_investment/controller/TopicController.java b/src/main/java/com/sztzjy/fund_investment/controller/TopicController.java
index 17503df..9afb801 100644
--- a/src/main/java/com/sztzjy/fund_investment/controller/TopicController.java
+++ b/src/main/java/com/sztzjy/fund_investment/controller/TopicController.java
@@ -67,8 +67,8 @@ public class TopicController {
     @ApiOperation("知识测评,项目估值,项目尽调,答题页面返回随机6条数据")
     @AnonymousAccess
     public ResultEntity<List<TopicsWithBLOBs>> getRandomTopic(@ApiParam("题目来源模块:知识测评题库,项目尽调题库,项目估值题库") @RequestParam String module,
-                                                              @RequestParam String flowId) {
-        return new ResultEntity<List<TopicsWithBLOBs>>(topicService.getRandomTopic(module, flowId));
+                                                              @RequestParam String flowId,String schoolId) {
+        return new ResultEntity<List<TopicsWithBLOBs>>(topicService.getRandomTopic(module, flowId,schoolId));
     }
 
 
@@ -79,8 +79,8 @@ public class TopicController {
     @PostMapping("getIPOTopicTwo")
     @ApiOperation("IPO页面弹窗2使用返回随机6条数据")
     @AnonymousAccess
-    public ResultEntity<List<TopicsWithBLOBs>> getIPOTopicTwo(@RequestParam String flowId) {
-        return new ResultEntity<List<TopicsWithBLOBs>>(topicService.getIPOTopicTwo(flowId));
+    public ResultEntity<List<TopicsWithBLOBs>> getIPOTopicTwo(@RequestParam String flowId,@RequestParam String schoolId) {
+        return new ResultEntity<List<TopicsWithBLOBs>>(topicService.getIPOTopicTwo(flowId,schoolId));
     }
 
 
diff --git a/src/main/java/com/sztzjy/fund_investment/entity/query/TopicQuery.java b/src/main/java/com/sztzjy/fund_investment/entity/query/TopicQuery.java
new file mode 100644
index 0000000..9688e3b
--- /dev/null
+++ b/src/main/java/com/sztzjy/fund_investment/entity/query/TopicQuery.java
@@ -0,0 +1,14 @@
+package com.sztzjy.fund_investment.entity.query;
+
+import lombok.Data;
+
+/**
+ * @Author xcj
+ * @Date 2023/12/18
+ */
+@Data
+public class TopicQuery {
+    private String module;
+    private String schoolId;
+    private int count;
+}
diff --git a/src/main/java/com/sztzjy/fund_investment/mapper/TopicsMapper.java b/src/main/java/com/sztzjy/fund_investment/mapper/TopicsMapper.java
index e04699e..009a57e 100644
--- a/src/main/java/com/sztzjy/fund_investment/mapper/TopicsMapper.java
+++ b/src/main/java/com/sztzjy/fund_investment/mapper/TopicsMapper.java
@@ -6,6 +6,7 @@ import com.sztzjy.fund_investment.entity.TopicsWithBLOBs;
 
 import java.util.List;
 
+import com.sztzjy.fund_investment.entity.query.TopicQuery;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
@@ -42,4 +43,6 @@ public interface TopicsMapper {
     void insertBatch(List<Topics> list);
 
     List<TopicsWithBLOBs> getTopicsByCondition(@Param("schoolId") String schoolId, @Param("module") String module, @Param("topicContent") String topicContent);
+
+    List<TopicsWithBLOBs> selectRandomTopics(@Param("query") TopicQuery query);
 }
\ No newline at end of file
diff --git a/src/main/java/com/sztzjy/fund_investment/service/TopicService.java b/src/main/java/com/sztzjy/fund_investment/service/TopicService.java
index 57a3b67..e444057 100644
--- a/src/main/java/com/sztzjy/fund_investment/service/TopicService.java
+++ b/src/main/java/com/sztzjy/fund_investment/service/TopicService.java
@@ -13,13 +13,13 @@ import java.util.List;
  * @Date 2023/11/15
  */
 public interface TopicService {
-    ResultEntity<List<String>> getRightScore(List<TopicsWithBLOBs> topics,String flowId);
+    ResultEntity<List<String>> getRightScore(List<TopicsWithBLOBs> topics, String flowId);
 
-    List<TopicsWithBLOBs> getIPOTopicTwo(String flowId);
+    List<TopicsWithBLOBs> getIPOTopicTwo(String flowId, String schoolId);
 
-    List<TopicsWithBLOBs> getRandomTopic(String module,String flowId);
+    List<TopicsWithBLOBs> getRandomTopic(String module, String flowId, String schoolId);
 
-    List<TopicRecord> getTopicRecord(String flowId,String module);
+    List<TopicRecord> getTopicRecord(String flowId, String module);
 
-    int importFile(MultipartFile file,String schoolId,String module);
+    int importFile(MultipartFile file, String schoolId, String module);
 }
diff --git a/src/main/java/com/sztzjy/fund_investment/service/serviceImpl/TopicServiceImpl.java b/src/main/java/com/sztzjy/fund_investment/service/serviceImpl/TopicServiceImpl.java
index ba7ef04..c4602af 100644
--- a/src/main/java/com/sztzjy/fund_investment/service/serviceImpl/TopicServiceImpl.java
+++ b/src/main/java/com/sztzjy/fund_investment/service/serviceImpl/TopicServiceImpl.java
@@ -3,6 +3,7 @@ package com.sztzjy.fund_investment.service.serviceImpl;
 import cn.hutool.core.util.IdUtil;
 import com.sztzjy.fund_investment.config.Constant;
 import com.sztzjy.fund_investment.entity.*;
+import com.sztzjy.fund_investment.entity.query.TopicQuery;
 import com.sztzjy.fund_investment.mapper.PerformanceScoreMapper;
 import com.sztzjy.fund_investment.mapper.TopicRecordMapper;
 import com.sztzjy.fund_investment.mapper.TopicsMapper;
@@ -148,9 +149,9 @@ public class TopicServiceImpl implements TopicService {
     @Override
     public ResultEntity<List<String>> getRightScore(List<TopicsWithBLOBs> topics, String flowId) {
         String module1 = topics.get(0).getModule();
-        List<TopicRecord> topicRecord1 = getTopicRecord(flowId,module1);
-        if (!topicRecord1.isEmpty()){
-            return new ResultEntity<List<String>>(HttpStatus.BAD_REQUEST,"请勿重复提交!");
+        List<TopicRecord> topicRecord1 = getTopicRecord(flowId, module1);
+        if (!topicRecord1.isEmpty()) {
+            return new ResultEntity<List<String>>(HttpStatus.BAD_REQUEST, "请勿重复提交!");
         }
         int score = 0;
         List<String> list = new ArrayList<>();
@@ -284,14 +285,16 @@ public class TopicServiceImpl implements TopicService {
 //    }
 
     @Override
-    public List<TopicsWithBLOBs> getRandomTopic(String module, String flowId) {
+    public List<TopicsWithBLOBs> getRandomTopic(String module, String flowId, String schoolId) {
         List<TopicRecord> topicRecord = getTopicRecord(flowId, module);
         if (!topicRecord.isEmpty()) {
             return null;
         }
-        TopicsExample topicsExample = new TopicsExample();
-        topicsExample.createCriteria().andModuleEqualTo(module);
-        List<TopicsWithBLOBs> topics = topicsMapper.selectByExampleWithBLOBs(topicsExample);
+        TopicQuery topicQuery = new TopicQuery();
+        topicQuery.setCount(6);
+        topicQuery.setModule(module);
+        topicQuery.setSchoolId(schoolId);
+        List<TopicsWithBLOBs> topics = topicsMapper.selectRandomTopics(topicQuery);
         //随机取6道题目
         Collections.shuffle(topics);
         int size = Math.min(6, topics.size());
@@ -320,15 +323,23 @@ public class TopicServiceImpl implements TopicService {
      * @Date 2023/11/21 IPO上市板块题目,IPO上市条件题目
      */
     @Override
-    public List<TopicsWithBLOBs> getIPOTopicTwo(String flow) {
+    public List<TopicsWithBLOBs> getIPOTopicTwo(String flow, String schoolId) {
         List<TopicRecord> IPOBKList = getTopicRecord(flow, Constant.IPOBK);
         List<TopicRecord> IPOTJList = getTopicRecord(flow, Constant.IPOTJ);
         if (!(IPOBKList.isEmpty()) || !(IPOTJList.isEmpty())) {
             return null;
         }
         int topicCountPerModule = 3;
-        List<TopicsWithBLOBs> topics = getRandomTopicsByModule(Constant.IPOBK, topicCountPerModule);
-        List<TopicsWithBLOBs> topics1 = getRandomTopicsByModule(Constant.IPOTJ, topicCountPerModule);
+        TopicQuery topicQuery = new TopicQuery();
+        topicQuery.setCount(3);
+        topicQuery.setModule(Constant.IPOBK);
+        topicQuery.setSchoolId(schoolId);
+        List<TopicsWithBLOBs> topics = topicsMapper.selectRandomTopics(topicQuery);
+        TopicQuery topicQuery1 = new TopicQuery();
+        topicQuery1.setCount(3);
+        topicQuery1.setModule(Constant.IPOTJ);
+        topicQuery1.setSchoolId(schoolId);
+        List<TopicsWithBLOBs> topics1 = topicsMapper.selectRandomTopics(topicQuery1);
         topics.addAll(topics1);
 //        List<TopicsDto> list = toTopicsDtoList(topics);
 //        list.addAll(toTopicsDtoList(topics1));
@@ -340,14 +351,7 @@ public class TopicServiceImpl implements TopicService {
      * @author xcj
      * @Date 2023/11/21
      */
-    private List<TopicsWithBLOBs> getRandomTopicsByModule(String module, int count) {
-        TopicsExample topicsExample = new TopicsExample();
-        topicsExample.createCriteria().andModuleEqualTo(module);
-        List<TopicsWithBLOBs> topics = topicsMapper.selectByExampleWithBLOBs(topicsExample);
-        Collections.shuffle(topics);
-        int size = Math.min(count, topics.size());
-        return topics.subList(0, size);
-    }
+
 
 
     /* 选项转Map,对象转Dto返回
diff --git a/src/main/resources/mappers/TopicsMapper.xml b/src/main/resources/mappers/TopicsMapper.xml
index 567aa6e..efff3fd 100644
--- a/src/main/resources/mappers/TopicsMapper.xml
+++ b/src/main/resources/mappers/TopicsMapper.xml
@@ -90,6 +90,13 @@
         , analysis
     </sql>
 
+    <select id="selectRandomTopics" parameterType="map" resultMap="ResultMapWithBLOBs">
+        SELECT * FROM sys_topics
+        WHERE module = #{query.module,jdbcType=VARCHAR}
+        AND school_id IN ('999',#{query.schoolId,jdbcType=VARCHAR})
+        ORDER BY RAND()
+        LIMIT #{query.count}
+    </select>
 
     <select id="getTopicsByCondition" parameterType="java.lang.String" resultMap="ResultMapWithBLOBs">
         select