Browse Source

Merge branch 'feature/1020-tencent-im' of http://git.dayaedu.com/yonge/mec into feature/1020-tencent-im

liujc 1 year ago
parent
commit
329c0b3c2e

+ 4 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/EmployeeDao.java

@@ -233,4 +233,8 @@ public interface EmployeeDao extends BaseDAO<Integer, Employee> {
     int countEmployeeBasicInfo(Map<String, Object> params);
 
     List<SysUserDto> queryEmployeeBasicInfo(Map<String, Object> params);
+
+    List<Employee> queryBaseInfoByPage(Map<String, Object> params);
+
+    int queryBaseInfoByCount(Map<String, Object> params);
 }

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentDao.java

@@ -380,4 +380,7 @@ public interface StudentDao extends com.ym.mec.common.dal.BaseDAO<Integer, Stude
     int countMusicGroupStudents(Map<String, Object> paramMap);
 
     List<Student> listByIds(@Param("studentIds") List<Long> studentIds);
+    List<Student> queryBaseInfoByPage(Map<String, Object> params);
+
+    int queryBaseInfoCount(Map<String, Object> params);
 }

+ 4 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TeacherDao.java

@@ -547,4 +547,8 @@ public interface TeacherDao extends BaseDAO<Integer, Teacher> {
     * @date 2023/5/8 11:59
     */
     List<BasicUserDto> queryUserByPhones(@Param("phones") List<String> phones);
+
+    List<Teacher> queryBaseInfoByPage(Map<String, Object> params);
+
+    int queryBaseInfoByCount(Map<String, Object> params);
 }

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/mapper/SchoolStaffMapper.java

@@ -44,4 +44,7 @@ public interface SchoolStaffMapper extends BaseMapper<SchoolStaff> {
     void delUser(@Param("userId") Long userId);
 
     List<SchoolStaff> getByCoopIdAndType(@Param("cooperationOrganId") Integer cooperationOrganId, @Param("staffType") ESchoolStaffType staffType);
+
+	List<SchoolStaffWrapper.SchoolStaff> selectBaseInfoByPage(@Param("page") IPage<SchoolStaffWrapper.SchoolStaff> page,
+															  @Param("param") SchoolStaffWrapper.SchoolStaffQuery query);
 }

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/EmployeeService.java

@@ -9,6 +9,7 @@ import com.ym.mec.biz.dal.enums.EmployeeOperateEnum;
 import com.ym.mec.biz.dal.page.EmployeeQueryInfo;
 import com.ym.mec.biz.dal.page.UserBasicQueryInfo;
 import com.ym.mec.common.page.PageInfo;
+import com.ym.mec.common.page.QueryInfo;
 import com.ym.mec.common.service.BaseService;
 import java.util.HashMap;
 import java.util.List;
@@ -87,4 +88,6 @@ public interface EmployeeService extends BaseService<Integer, Employee> {
     PageInfo<SysUserDto> queryEmployeeBasicInfo(UserBasicQueryInfo queryInfo);
 
     void resetPassword(Integer userId);
+
+    PageInfo<Employee> queryBaseInfoByPage(QueryInfo queryInfo);
 }

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/SchoolStaffService.java

@@ -98,4 +98,7 @@ public interface SchoolStaffService extends IService<SchoolStaff>  {
      * @param schoolStaffUpdate SchoolStaffWrapper.SchoolStaffUpdate
      */
     void updateAccount(SchoolStaffWrapper.SchoolStaffUpdate schoolStaffUpdate);
+
+    IPage<SchoolStaffWrapper.SchoolStaff> selectBaseInfoByPage(IPage<SchoolStaffWrapper.SchoolStaff> page,
+                                                               SchoolStaffWrapper.SchoolStaffQuery query);
 }

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/StudentService.java

@@ -16,6 +16,7 @@ import com.ym.mec.biz.dal.enums.StudentMusicGroupStatusEnum;
 import com.ym.mec.biz.dal.page.*;
 import com.ym.mec.biz.dal.wrapper.StudentWrapper;
 import com.ym.mec.common.page.PageInfo;
+import com.ym.mec.common.page.QueryInfo;
 import com.ym.mec.common.service.BaseService;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -248,4 +249,6 @@ public interface StudentService extends BaseService<Integer, Student> {
     * @date 2023/5/17 11:25
     */
     void updateStudentMember(Integer userId, Date endTime,String memo,Integer operatorId);
+
+    PageInfo<Student> queryBaseInfoByPage(QueryInfo queryInfo);
 }

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/TeacherService.java

@@ -256,4 +256,6 @@ public interface TeacherService extends BaseService<Integer, Teacher> {
     PageInfo<TeacherMusicStudentOverViewDto> queryTeacherMusicStudentOverViewV2(TeacherServeQueryInfo queryInfo);
 
     Map<Integer,Teacher> getMapByIds(List<Integer> teacherIds);
+
+    PageInfo<Teacher> queryBaseInfoByPage(QueryInfo queryInfo);
 }

+ 22 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/EmployeeServiceImpl.java

@@ -25,6 +25,7 @@ import com.ym.mec.biz.dal.dto.SimpleUserDto;
 import com.ym.mec.biz.dal.enums.im.ClientEnum;
 import com.ym.mec.biz.dal.wrapper.ImGroupMemberWrapper;
 import com.ym.mec.biz.service.im.ImGroupCoreService;
+import com.ym.mec.common.page.QueryInfo;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.joda.time.DateTime;
@@ -772,4 +773,25 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee> impl
         StringBuffer gym = new StringBuffer("gym").append(user.getPhone().substring(7));
         employeeDao.updatePassword(userId, new BCryptPasswordEncoder().encode(gym.toString()));
     }
+
+    @Override
+    public PageInfo<Employee> queryBaseInfoByPage(QueryInfo queryInfo) {
+        PageInfo<Employee> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
+        Map<String, Object> params = new HashMap<>();
+        MapUtil.populateMap(params, queryInfo);
+
+        List<Employee> dataList = new ArrayList<>();
+        int count = queryBaseInfoByCount(params);
+        if (count > 0) {
+            pageInfo.setTotal(count);
+            params.put("offset", pageInfo.getOffset());
+            dataList = employeeDao.queryBaseInfoByPage(params);
+        }
+        pageInfo.setRows(dataList);
+        return pageInfo;
+    }
+
+    private int queryBaseInfoByCount(Map<String, Object> params) {
+        return employeeDao.queryBaseInfoByCount(params);
+    }
 }

+ 27 - 27
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ImGroupServiceImpl.java

@@ -23,15 +23,7 @@ import com.ym.mec.biz.dal.dao.TeacherDao;
 import com.ym.mec.biz.dal.dto.ImGroupDto;
 import com.ym.mec.biz.dal.dto.ImGroupMemberDto;
 import com.ym.mec.biz.dal.dto.NameDto;
-import com.ym.mec.biz.dal.entity.ClassGroupTeacherMapper;
-import com.ym.mec.biz.dal.entity.CooperationOrgan;
-import com.ym.mec.biz.dal.entity.Employee;
-import com.ym.mec.biz.dal.entity.ImGroup;
-import com.ym.mec.biz.dal.entity.ImGroupMember;
-import com.ym.mec.biz.dal.entity.MusicGroup;
-import com.ym.mec.biz.dal.entity.SchoolStaff;
-import com.ym.mec.biz.dal.entity.Student;
-import com.ym.mec.biz.dal.entity.Teacher;
+import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.EFriendRoleType;
 import com.ym.mec.biz.dal.enums.MusicGroupStatusEnum;
 import com.ym.mec.biz.dal.enums.im.ClientEnum;
@@ -944,7 +936,7 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
                 importGroup.setApplyJoinOption("FreeAccess");
                 importGroup.setCreateTime(imGroup.getCreateTime().getTime() / 1000);
                 if (admin != null) {
-                    register(admin.getUserId().toString(), getClientType(admin.getRoleType()));
+                    register(admin.getUserId().toString(), getClientType(admin.getRoleType()),"");
                 }
                 imPluginContext.getPluginService().importGroup(importGroup);
 
@@ -955,7 +947,7 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
                     continue;
                 }
                 for (ImGroupMember member : groupMembers) {
-                    register(member.getUserId().toString(), getClientType(member.getRoleType()));
+                    register(member.getUserId().toString(), getClientType(member.getRoleType()),"");
                 }
                 MessageWrapper.ImportGroupMember importGroupMember = new MessageWrapper.ImportGroupMember();
                 importGroupMember.setGroupId(imGroup.getId());
@@ -984,11 +976,13 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
         }
     }
 
-    private void register(String userId, String clientType) {
+    private void register(String userId, String clientType,String avatar) {
         SysUser user = sysUserService.queryUserById(Integer.valueOf(userId));
-        String avatar = user.getAvatar();
+        if (user == null) {
+            return;
+        }
         if (StringUtils.isEmpty(avatar)) {
-            avatar = "https://daya.ks3-cn-beijing.ksyun.com/202203/T1WgJaE.png";
+            avatar = user.getAvatar();
         }
         try {
             String username = user.getUsername();
@@ -1032,9 +1026,10 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
 
         log.info("------------------------------- import user student ---------------------------");
         List<String[]> student = getStudent(page, rows);
+        SysConfig studentAvatar = sysConfigService.findByParamName(SysConfigService.STUDENT_DEFAULT_AVATAR);
         while (!student.isEmpty()) {
             for (String[] next : student) {
-                register(next[0], next[1]);
+                register(next[0], next[1],studentAvatar.getParanValue());
             }
             count += student.size();
             log.info("import im student success count:{}", count);
@@ -1043,12 +1038,14 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
         }
 
         log.info("------------------------------- import user staff ---------------------------");
+        // USER_DEFAULT_AVATAR
         count = 0;
         page = 1;
+        SysConfig staffAvatar = sysConfigService.findByParamName(SysConfigService.USER_DEFAULT_AVATAR);
         List<String[]> staff = getStaff(page, rows);
         while (!staff.isEmpty()) {
             for (String[] next : staff) {
-                register(next[0], next[1]);
+                register(next[0], next[1],staffAvatar.getParanValue());
             }
             count += staff.size();
             log.info("import im staff success count:{}", count);
@@ -1057,12 +1054,14 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
         }
 
         log.info("------------------------------- import user emps ---------------------------");
+        // TEACHER_DEFAULT_AVATAR
         count = 0;
         page = 1;
+        SysConfig empAvatar = sysConfigService.findByParamName(SysConfigService.TEACHER_DEFAULT_AVATAR);
         List<String[]> emps = getEmp(page, rows);
         while (!emps.isEmpty()) {
             for (String[] next : emps) {
-                register(next[0], next[1]);
+                register(next[0], next[1],empAvatar.getParanValue());
             }
             count += emps.size();
             log.info("import im emps success count:{}", count);
@@ -1073,10 +1072,11 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
         log.info("------------------------------- import user teacher ---------------------------");
         count = 0;
         page = 1;
+        SysConfig teacherAvatar = sysConfigService.findByParamName(SysConfigService.TEACHER_DEFAULT_AVATAR);
         List<String[]> teachers = getTeachers(page, rows);
         while (!teachers.isEmpty()) {
             for (String[] next : teachers) {
-                register(next[0], next[1]);
+                register(next[0], next[1], teacherAvatar.getParanValue());
             }
             count += teachers.size();
             log.info("import im teacher success count:{}", count);
@@ -1097,22 +1097,22 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
         QueryInfo queryInfo = new QueryInfo();
         queryInfo.setPage(page);
         queryInfo.setRows(rows);
-        PageInfo<Employee> employeePageInfo = employeeService.queryPage(queryInfo);
+        PageInfo<Employee> employeePageInfo = employeeService.queryBaseInfoByPage(queryInfo);
         return employeePageInfo.getRows().stream().map(next -> {
             String[] strList = new String[2];
-            strList[0] = next.getId().toString();
-            strList[1] = "EMPLOYEE";
+            strList[0] = next.getUserId().toString();
+            strList[1] = "SYSTEM";
             return strList;
         }).collect(Collectors.toList());
     }
 
     private List<String[]> getStaff(int page, int rows) {
-        Page<SchoolStaffWrapper.SchoolStaff> staffPage = PageUtil.getPage(page, rows);
-        IPage<SchoolStaffWrapper.SchoolStaff> iPage = schoolStaffService.selectPage(staffPage,
+        IPage<SchoolStaffWrapper.SchoolStaff> staffPage = PageUtil.getPage(page, rows);
+        IPage<SchoolStaffWrapper.SchoolStaff> iPage = schoolStaffService.selectBaseInfoByPage(staffPage,
                 new SchoolStaffWrapper.SchoolStaffQuery());
         return iPage.getRecords().stream().map(next -> {
             String[] strList = new String[2];
-            strList[0] = next.getId().toString();
+            strList[0] = next.getUserId().toString();
             strList[1] = "SCHOOL";
             return strList;
         }).collect(Collectors.toList());
@@ -1122,10 +1122,10 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
         QueryInfo queryInfo = new QueryInfo();
         queryInfo.setPage(page);
         queryInfo.setRows(rows);
-        PageInfo<Student> studentPageInfo = studentService.queryPage(queryInfo);
+        PageInfo<Student> studentPageInfo = studentService.queryBaseInfoByPage(queryInfo);
         return studentPageInfo.getRows().stream().map(next -> {
             String[] strList = new String[2];
-            strList[0] = next.getId().toString();
+            strList[0] = next.getUserId().toString();
             strList[1] = "STUDENT";
             return strList;
         }).collect(Collectors.toList());
@@ -1135,7 +1135,7 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
         QueryInfo queryInfo = new QueryInfo();
         queryInfo.setPage(page);
         queryInfo.setRows(rows);
-        PageInfo<Teacher> teacherPageInfo = teacherService.queryPage(queryInfo);
+        PageInfo<Teacher> teacherPageInfo = teacherService.queryBaseInfoByPage(queryInfo);
         return teacherPageInfo.getRows().stream().map(next -> {
             String[] strList = new String[2];
             strList[0] = next.getId().toString();

+ 8 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SchoolStaffServiceImpl.java

@@ -797,4 +797,12 @@ public class SchoolStaffServiceImpl extends ServiceImpl<SchoolStaffMapper, Schoo
         sysUserFeignService.exitByPhone("education", sysUser.getPhone());
         return super.updateById(entity);
     }
+
+
+    @Override
+    public IPage<SchoolStaffWrapper.SchoolStaff> selectBaseInfoByPage(IPage<SchoolStaffWrapper.SchoolStaff> page,
+                                                                      SchoolStaffWrapper.SchoolStaffQuery query) {
+        List<SchoolStaffWrapper.SchoolStaff> schoolStaffs = baseMapper.selectBaseInfoByPage(page, query);
+        return page.setRecords(schoolStaffs);
+    }
 }

+ 24 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentServiceImpl.java

@@ -23,6 +23,7 @@ import com.ym.mec.common.entity.ImResult;
 import com.ym.mec.common.entity.ImUserModel;
 import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.page.PageInfo;
+import com.ym.mec.common.page.QueryInfo;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.common.tenant.TenantContextHolder;
 import com.ym.mec.im.ImFeignService;
@@ -30,6 +31,7 @@ import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
 import com.ym.mec.util.collection.MapUtil;
 import com.ym.mec.util.date.DateUtil;
 import org.apache.commons.lang3.StringUtils;
+import org.apache.poi.ss.formula.functions.T;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -1671,4 +1673,26 @@ public class StudentServiceImpl extends BaseServiceImpl<Integer, Student> implem
         student.setIsNewUser(true);
         studentDao.insert(student);
     }
+
+
+    @Override
+    public PageInfo<Student> queryBaseInfoByPage(QueryInfo queryInfo) {
+        PageInfo<Student> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
+        Map<String, Object> params = new HashMap<>();
+        MapUtil.populateMap(params, queryInfo);
+
+        List<Student> dataList = new ArrayList<>();
+        int count = queryBaseInfoCount(params);
+        if (count > 0) {
+            pageInfo.setTotal(count);
+            params.put("offset", pageInfo.getOffset());
+            dataList = studentDao.queryBaseInfoByPage(params);
+        }
+        pageInfo.setRows(dataList);
+        return pageInfo;
+    }
+
+    private int queryBaseInfoCount(Map<String, Object> params) {
+        return studentDao.queryBaseInfoCount(params);
+    }
 }

+ 21 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherServiceImpl.java

@@ -817,4 +817,25 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher> implem
         return teacherDao.queryOrganList(userId);
     }
 
+    @Override
+    public PageInfo<Teacher> queryBaseInfoByPage(QueryInfo queryInfo) {
+        PageInfo<Teacher> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
+        Map<String, Object> params = new HashMap<>();
+        MapUtil.populateMap(params, queryInfo);
+
+        List<Teacher> dataList = new ArrayList<>();
+        int count = queryBaseInfoByCount(params);
+        if (count > 0) {
+            pageInfo.setTotal(count);
+            params.put("offset", pageInfo.getOffset());
+            dataList = teacherDao.queryBaseInfoByPage(params);
+        }
+        pageInfo.setRows(dataList);
+        return pageInfo;
+    }
+
+    private int queryBaseInfoByCount(Map<String, Object> params) {
+        return teacherDao.queryBaseInfoByCount(params);
+    }
+
 }

+ 4 - 0
mec-biz/src/main/resources/config/mybatis/EmployeeMapper.xml

@@ -458,4 +458,8 @@
         SELECT * FROM employee
         <include refid="global.limit"/>
     </select>
+
+    <select id="queryBaseInfoByCount" resultType="int">
+        SELECT COUNT(*) FROM employee
+    </select>
 </mapper>

+ 17 - 0
mec-biz/src/main/resources/config/mybatis/SchoolStaffMapper.xml

@@ -87,6 +87,23 @@
         </where>
 
     </select>
+
+    <select id="selectBaseInfoByPage" resultType="com.ym.mec.biz.dal.wrapper.SchoolStaffWrapper$SchoolStaff">
+        SELECT t1.id_
+        , t1.organ_id_list_                   as organId
+        , t1.school_id_
+        , t1.user_id_
+        , t1.user_type_
+        , t1.tenant_id_
+        , t1.organ_id_list_
+        , t2.username_ AS username
+        , t2.avatar_
+        , t2.phone_                           AS mobile
+        , t1.status_
+        , t1.create_time_
+        FROM school_staff t1
+        JOIN sys_user t2 ON (t1.user_id_ = t2.id_)
+    </select>
     <!--学校员工身份数统计-->
 
 </mapper>

+ 7 - 1
mec-biz/src/main/resources/config/mybatis/StudentMapper.xml

@@ -1423,8 +1423,14 @@
     </select>
 
     <select id="queryBaseInfoByPage" resultMap="Student" parameterType="map">
-        SELECT s.*,su.username_,su.phone_, FROM student s
+        SELECT s.*,su.username_,su.phone_ FROM student s
         LEFT JOIN sys_user su ON  su.id_ = s.user_id_
         <include refid="global.limit"/>
     </select>
+
+    <!-- 查询当前表的总记录数 -->
+    <select id="queryBaseInfoCount" resultType="int">
+        SELECT COUNT(s.user_id_) FROM student s
+        LEFT JOIN sys_user su ON  su.id_ = s.user_id_
+    </select>
 </mapper>

+ 5 - 0
mec-biz/src/main/resources/config/mybatis/TeacherMapper.xml

@@ -1584,4 +1584,9 @@
         ORDER BY t.id_ DESC
         <include refid="global.limit"/>
     </select>
+
+    <select id="queryBaseInfoByCount" resultType="int">
+        SELECT COUNT(DISTINCT t.id_)
+        FROM teacher t LEFT JOIN sys_user su ON t.id_ = su.id_
+    </select>
 </mapper>