Browse Source

sql优化

zouxuan 1 year ago
parent
commit
1c8ec5c7c0

+ 2 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentExtracurricularExercisesSituationServiceImpl.java

@@ -114,7 +114,8 @@ public class StudentExtracurricularExercisesSituationServiceImpl extends BaseSer
 		Map<String, Object> params = new HashMap<>();
 		MapUtil.populateMap(params, queryInfo);
 		if (StringUtils.isNotEmpty(queryInfo.getOrganId())){
-
+			List<Integer> organIds = Arrays.stream(queryInfo.getOrganId().split(",")).map(e -> Integer.valueOf(e)).collect(Collectors.toList());
+			params.put("organIds",organIds);
 		}
 
 		List<StudentExercisesSituationDto> dataList = null;

+ 10 - 4
mec-biz/src/main/resources/config/mybatis/StudentExtracurricularExercisesSituationMapper.xml

@@ -311,8 +311,11 @@
         <if test="search!=null">
             AND (stu.id_=#{search} OR stu.username_ LIKE CONCAT('%', #{search}, '%'))
         </if>
-        <if test="organId != null and organId != ''">
-            AND FIND_IN_SET(t.organ_id_,#{organId})
+        <if test="organIds != null and organIds.size > 0">
+            AND t.organ_id_ IN
+            <foreach collection="organIds" item="organId" open="(" close=")" separator=",">
+                #{organId}
+            </foreach>
         </if>
         <if test="existVipCourse!=null and existVipCourse==1">
             AND EXISTS (SELECT cssp.id_ FROM course_schedule_student_payment cssp LEFT JOIN course_schedule cs ON
@@ -421,8 +424,11 @@
         <if test="search!=null">
             AND (stu.id_=#{search} OR stu.username_ LIKE CONCAT('%', #{search}, '%'))
         </if>
-        <if test="organId != null and organId != ''">
-            AND FIND_IN_SET(t.organ_id_, #{organId})
+        <if test="organIds != null and organIds.size > 0">
+            AND t.organ_id_ IN
+            <foreach collection="organIds" item="organId" open="(" close=")" separator=",">
+                #{organId}
+            </foreach>
         </if>
         <if test="existVipCourse!=null and existVipCourse==1">
             AND EXISTS (SELECT cssp.id_ FROM course_schedule_student_payment cssp LEFT JOIN course_schedule cs ON