wangliang 2 жил өмнө
parent
commit
12c168e3f8

+ 8 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/mapper/SysUserMapper.java

@@ -135,4 +135,12 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
     List<SysUserResult> findCourseSysUserResultList(@Param("schoolId") Long schoolId, @Param("courseCode") String courseCode);
 
     List<UserRoleDto> findByRoleTypeAndOrgId(@Param("roleType") String roleType, @Param("orgId") Long orgId);
+
+    /**
+     * 查找内置老师
+     *
+     * @param teachIdSet
+     * @return
+     */
+    List<SysUserResult> findCourseSysUserResultByTeachIdSet(@Param("teachIdSet") Set<Long> teachIdSet);
 }

+ 8 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/SysUserService.java

@@ -285,5 +285,13 @@ public interface SysUserService extends IService<SysUser> {
      */
     List<SysUserResult> findCourseSysUserResultList(Long schoolId, String courseCode);
 
+    /**
+     * 查找内置老师
+     *
+     * @param teachIdSet
+     * @return
+     */
+    List<SysUserResult> findCourseSysUserResultByTeachIdSet(Set<Long> teachIdSet);
+
     List<UserRoleDto> listSecretary();
 }

+ 4 - 8
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/BasicCourseServiceImpl.java

@@ -157,12 +157,8 @@ public class BasicCourseServiceImpl extends ServiceImpl<BasicCourseMapper, Basic
 
             List<BasicTeachCourse> basicTeachCourseList = basicTeachCourseService.list(new QueryWrapper<BasicTeachCourse>().lambda().eq(BasicTeachCourse::getCourseId, courseId));
             if (!CollectionUtils.isEmpty(basicTeachCourseList)) {
-                List<SysUserResult> sysUserResultList = new ArrayList<>();
                 Set<Long> teachIdSet = basicTeachCourseList.stream().map(s -> s.getUserId()).collect(Collectors.toSet());
-                List<SysUser> sysUserList = sysUserService.list(new QueryWrapper<SysUser>().lambda().in(SysUser::getId, teachIdSet));
-                for (SysUser sysUser : sysUserList) {
-                    sysUserResultList.add(new SysUserResult(sysUser));
-                }
+                List<SysUserResult> sysUserResultList = sysUserService.findCourseSysUserResultByTeachIdSet(teachIdSet);
                 basicCourseResult.setTeachList(sysUserResultList);
             }
         }
@@ -446,9 +442,9 @@ public class BasicCourseServiceImpl extends ServiceImpl<BasicCourseMapper, Basic
             List<BasicTeachCourse> basicTeachCourseList = basicTeachCourseService.list(new QueryWrapper<BasicTeachCourse>().lambda().eq(BasicTeachCourse::getCourseId, courseId));
             Set<Long> teachIdSet = basicTeachCourseList.stream().map(BasicTeachCourse::getUserId).collect(Collectors.toSet());
             if (!CollectionUtils.isEmpty(teachIdSet)) {
-                List<SysUser> sysUserList = sysUserService.list(new QueryWrapper<SysUser>().lambda().in(SysUser::getId, teachIdSet));
-                if (!sysUserList.isEmpty()) {
-                    List<String> teachNameList = sysUserList.stream().map(SysUser::getRealName).collect(Collectors.toList());
+                List<SysUserResult> sysUserResultList = sysUserService.findCourseSysUserResultByTeachIdSet(teachIdSet);
+                if (!CollectionUtils.isEmpty(sysUserResultList)) {
+                    List<String> teachNameList = sysUserResultList.stream().map(s -> s.getRealName() + "(" + s.getOrgName() + ")").collect(Collectors.toList());
                     basicCourseExportDto.setTeachName(String.join(",", teachNameList));
                 }
             }

+ 11 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/SysUserServiceImpl.java

@@ -1155,6 +1155,17 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         return sysUserMapper.findCourseSysUserResultList(schoolId, courseCode);
     }
 
+    /**
+     * 查找内置老师
+     *
+     * @param teachIdSet
+     * @return
+     */
+    @Override
+    public List<SysUserResult> findCourseSysUserResultByTeachIdSet(Set<Long> teachIdSet) {
+        return sysUserMapper.findCourseSysUserResultByTeachIdSet(teachIdSet);
+    }
+
     @Override
     public List<UserRoleDto> listSecretary() {
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();

+ 34 - 0
teachcloud-common/src/main/resources/mapper/SysUserMapper.xml

@@ -511,4 +511,38 @@
             su.org_id = #{orgId}
           AND sr.type = #{roleType}
     </select>
+
+    <select id="findCourseSysUserResultByTeachIdSet" resultType="com.qmth.teachcloud.common.bean.result.SysUserResult">
+        select
+        su.id as id,
+        su.login_name as loginName,
+        su.real_name as realName,
+        su.real_name as name,
+        su.mobile_number as mobileNumber,
+        so.id as orgId,
+        so.name as orgName,
+        so.code as orgCode
+        from
+        sys_user su
+        join sys_org so on
+        so.id = su.org_id
+        <where>
+            <if test="teachIdSet != null and teachIdSet != '' and teachIdSet.size > 0">
+                and su.id in
+                <foreach collection="teachIdSet" item="teachId" index="index" open="(" separator="," close=")">
+                    #{teachId}
+                </foreach>
+            </if>
+        </where>
+        group by
+        su.id,
+        su.login_name,
+        su.real_name,
+        su.mobile_number,
+        so.id,
+        so.name,
+        so.code
+        order by
+        su.login_name
+    </select>
 </mapper>