Browse Source

bug修改

zouxuan 1 year ago
parent
commit
0bf76b4fd0

+ 2 - 2
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ClassGroupDao.java

@@ -325,10 +325,10 @@ public interface ClassGroupDao extends BaseDAO<Integer, ClassGroup> {
     /**
      * 根据老师编号列表获取小课数量
      *
-     * @param teacherIds
+     * @param teachers
      * @return
      */
-    List<Map<Integer, Integer>> countTeacherVipNum(String teacherIds);
+    List<Map<Integer, Integer>> countTeacherVipNum(@Param("teachers") Set<Integer> teachers);
 
     /**
      * @return java.util.List<com.ym.mec.biz.dal.dto.TeacherClassGroupDto>

+ 3 - 2
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/DemoGroupDao.java

@@ -11,6 +11,7 @@ import org.apache.ibatis.annotations.Param;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 
 public interface DemoGroupDao extends BaseDAO<Long, DemoGroup> {
 
@@ -111,10 +112,10 @@ public interface DemoGroupDao extends BaseDAO<Long, DemoGroup> {
 
     /**
      * 根据教师编号列表获取试听课数量map
-     * @param teacherIds
+     * @param teachers
      * @return
      */
-    List<Map<Integer, Integer>> countTeacherDemoGroupNum(String teacherIds);
+    List<Map<Integer, Integer>> countTeacherDemoGroupNum(@Param("teachers") Set<Integer> teachers);
 
     /**
      * 查询vip课程数

+ 15 - 20
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherServiceImpl.java

@@ -646,27 +646,22 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher> implem
         PageInfo<Teacher> pageInfo = queryPage(queryInfo);
         List<Teacher> rows = pageInfo.getRows();
         if (rows != null && rows.size() > 0) {
-            if(rows.size() < 30){
-                Set<Integer> teachers = rows.stream().map(e -> e.getId()).collect(Collectors.toSet());
-                String teacherIds = StringUtils.join(teachers, ",");
-                //获取小课数量
-                Map<Integer, Integer> vipNumMap = JSONObject.parseObject(JSONObject.toJSONString(MapUtil.convertIntegerMap(classGroupDao.countTeacherVipNum(teacherIds))), HashMap.class);
-                //获取试听课数量
-                Map<Integer, Integer> demoNumMap = JSONObject.parseObject(JSONObject.toJSONString(MapUtil.convertIntegerMap(demoGroupDao.countTeacherDemoGroupNum(teacherIds))), HashMap.class);
-
-                Set<Integer> organIds = rows.stream().map(e -> e.getTeacherOrganId()).collect(Collectors.toSet());
-                Map<Integer, String> organNames = MapUtil.convertMybatisMap(organizationDao.findOrganNameMapList(organIds));
-                for (Teacher e : rows) {
-                    e.setSubjectName(subjectDao.findBySubIds(e.getSubjectId()));
-                    e.setOrganName(organNames.get(e.getTeacherOrganId()));
-                    if (StringUtils.isNotEmpty(e.getSplitSubjectName())) {
-                        e.setSubjectName(Arrays.asList(e.getSplitSubjectName().split(",")));
-                    }
-                    Integer num = vipNumMap.get(e.getId());
-                    e.setVipNum(num == null ? 0 : num);
-                    Integer demoNum = demoNumMap.get(e.getId());
-                    e.setDemoNum(demoNum == null ? 0 : demoNum);
+            Set<Integer> teachers = rows.stream().map(e -> e.getId()).collect(Collectors.toSet());
+            //获取小课数量
+            Map<Integer, Integer> vipNumMap = JSONObject.parseObject(JSONObject.toJSONString(MapUtil.convertIntegerMap(classGroupDao.countTeacherVipNum(teachers))), HashMap.class);
+            //获取试听课数量
+            Map<Integer, Integer> demoNumMap = JSONObject.parseObject(JSONObject.toJSONString(MapUtil.convertIntegerMap(demoGroupDao.countTeacherDemoGroupNum(teachers))), HashMap.class);
+
+            Map<Integer, String> organNames = getMap("organization", "id_", "name_", false, 1, Integer.class, String.class);
+            for (Teacher e : rows) {
+                e.setOrganName(organNames.get(e.getTeacherOrganId()));
+                if (StringUtils.isNotEmpty(e.getSplitSubjectName())) {
+                    e.setSubjectName(Arrays.asList(e.getSplitSubjectName().split(",")));
                 }
+                Integer num = vipNumMap.get(e.getId());
+                e.setVipNum(num == null ? 0 : num);
+                Integer demoNum = demoNumMap.get(e.getId());
+                e.setDemoNum(demoNum == null ? 0 : demoNum);
             }
         }
         return pageInfo;

+ 5 - 1
mec-biz/src/main/resources/config/mybatis/ClassGroupMapper.xml

@@ -652,7 +652,11 @@
     </select>
     <select id="countTeacherVipNum" resultType="java.util.Map">
         SELECT vg.user_id_ `key`,COUNT(vg.id_) `value` FROM vip_group vg
-        WHERE FIND_IN_SET(vg.user_id_,#{teacherIds}) GROUP BY user_id_
+        WHERE vg.user_id_ IN
+        <foreach collection="teachers" item="teacherId" open="(" separator="," close=")">
+            #{teacherId}
+        </foreach>
+        GROUP BY user_id_
     </select>
 
     <resultMap id="TeacherClassGroupDto" type="com.ym.mec.biz.dal.dto.TeacherClassGroupDto">

+ 5 - 1
mec-biz/src/main/resources/config/mybatis/DemoGroupMapper.xml

@@ -297,7 +297,11 @@
 	</select>
     <select id="countTeacherDemoGroupNum" resultType="java.util.Map">
 		SELECT dg.user_id_ `key`,COUNT(dg.id_) `value` FROM demo_group dg
-        WHERE FIND_IN_SET(dg.user_id_,#{teacherIds}) GROUP BY user_id_
+        WHERE dg.user_id_ IN
+        <foreach collection="teachers" item="teacherId" open="(" separator="," close=")">
+            #{teacherId}
+        </foreach>
+        GROUP BY user_id_
 	</select>
 
 	<select id="queryDemoGroupNum" resultType="map">