瀏覽代碼

Merge remote-tracking branch 'origin/zouxuan_saas_2022_0606' into zouxuan_saas_2022_0606

liweifan 3 年之前
父節點
當前提交
29f51a65a8
共有 45 個文件被更改,包括 803 次插入305 次删除
  1. 1 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CloudTeacherOrderDao.java
  2. 4 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/EmployeeDao.java
  3. 5 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ImGroupMemberDao.java
  4. 5 7
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentDao.java
  5. 4 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TeacherDao.java
  6. 53 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/ImGroupDto.java
  7. 62 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/SysUserDto.java
  8. 2 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/ImGroup.java
  9. 21 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/ImSendGroupMessage.java
  10. 29 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/GroupMemberQueryInfo.java
  11. 11 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/ImSendGroupMessageQueryInfo.java
  12. 51 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/UserBasicQueryInfo.java
  13. 4 0
      mec-biz/src/main/java/com/ym/mec/biz/service/EmployeeService.java
  14. 7 0
      mec-biz/src/main/java/com/ym/mec/biz/service/ImGroupMemberService.java
  15. 13 2
      mec-biz/src/main/java/com/ym/mec/biz/service/ImGroupService.java
  16. 4 8
      mec-biz/src/main/java/com/ym/mec/biz/service/StudentService.java
  17. 4 9
      mec-biz/src/main/java/com/ym/mec/biz/service/SysMessageService.java
  18. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/service/SysUserService.java
  19. 2 0
      mec-biz/src/main/java/com/ym/mec/biz/service/TeacherService.java
  20. 22 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/EmployeeServiceImpl.java
  21. 31 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ImGroupMemberServiceImpl.java
  22. 18 4
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ImGroupServiceImpl.java
  23. 10 5
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ImSendGroupMessageServiceImpl.java
  24. 22 16
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentServiceImpl.java
  25. 35 31
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysMessageServiceImpl.java
  26. 28 12
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysUserServiceImpl.java
  27. 22 18
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherServiceImpl.java
  28. 13 2
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/TempLittleArtistTrainingCampServiceImpl.java
  29. 0 42
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/UserLoginServiceImpl.java
  30. 0 1
      mec-biz/src/main/resources/config/mybatis/CloudTeacherOrderMapper.xml
  31. 27 0
      mec-biz/src/main/resources/config/mybatis/EmployeeMapper.xml
  32. 22 14
      mec-biz/src/main/resources/config/mybatis/ImGroupMapper.xml
  33. 29 0
      mec-biz/src/main/resources/config/mybatis/ImGroupMemberMapper.xml
  34. 11 5
      mec-biz/src/main/resources/config/mybatis/ImSendGroupMessageMapper.xml
  35. 43 0
      mec-biz/src/main/resources/config/mybatis/StudentMapper.xml
  36. 33 1
      mec-biz/src/main/resources/config/mybatis/TeacherMapper.xml
  37. 10 0
      mec-common/common-core/src/main/java/com/ym/mec/common/entity/ImMessageDto.java
  38. 1 1
      mec-im/src/main/java/com/ym/controller/GroupController.java
  39. 2 2
      mec-teacher/src/main/java/com/ym/mec/teacher/controller/ImGroupController.java
  40. 20 20
      mec-web/src/main/java/com/ym/mec/web/controller/EmployeeController.java
  41. 26 21
      mec-web/src/main/java/com/ym/mec/web/controller/ImGroupController.java
  42. 42 0
      mec-web/src/main/java/com/ym/mec/web/controller/ImGroupMemberController.java
  43. 24 0
      mec-web/src/main/java/com/ym/mec/web/controller/ImSendGroupMessageController.java
  44. 21 82
      mec-web/src/main/java/com/ym/mec/web/controller/StudentManageController.java
  45. 8 0
      mec-web/src/main/java/com/ym/mec/web/controller/TeacherController.java

+ 1 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CloudTeacherOrderDao.java

@@ -3,6 +3,7 @@ package com.ym.mec.biz.dal.dao;
 import com.ym.mec.biz.dal.dto.CloudTeacherActiveTargetDetailDto;
 import com.ym.mec.biz.dal.dto.CloudTeacherOrderDto;
 import com.ym.mec.biz.dal.dto.Mapper;
+import com.ym.mec.biz.dal.dto.SysUserDto;
 import com.ym.mec.biz.dal.entity.CloudTeacherOrder;
 import com.ym.mec.biz.dal.entity.CloudTeacherStudent;
 import com.ym.mec.common.dal.BaseDAO;

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

@@ -5,6 +5,7 @@ import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dto.EmployeeDto;
 import com.ym.mec.biz.dal.dto.EmployeeLevelDto;
 import com.ym.mec.biz.dal.dto.SimpleUserDto;
+import com.ym.mec.biz.dal.dto.SysUserDto;
 import com.ym.mec.biz.dal.entity.Employee;
 import com.ym.mec.common.dal.BaseDAO;
 import org.apache.ibatis.annotations.Param;
@@ -229,4 +230,7 @@ public interface EmployeeDao extends BaseDAO<Integer, Employee> {
      */
     int insertSysRole(SysRole sysRole);
 
+    int countEmployeeBasicInfo(Map<String, Object> params);
+
+    List<SysUserDto> queryEmployeeBasicInfo(Map<String, Object> params);
 }

+ 5 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ImGroupMemberDao.java

@@ -4,6 +4,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
+import com.ym.mec.biz.dal.dto.ImGroupMemberDto;
 import org.apache.ibatis.annotations.Param;
 
 import com.ym.mec.biz.dal.entity.ImGroupMember;
@@ -30,4 +31,8 @@ public interface ImGroupMemberDao extends BaseDAO<Long, ImGroupMember> {
     List<ImGroupMember> queryMembers(@Param("groupId") String groupId,
 									 @Param("userIdList") List<String> userIdList,
 									 @Param("tenantId") Integer tenantId);
+
+    int countGroupMember(Map<String, Object> params);
+
+	List<ImGroupMemberDto> queryGroupMemberPage(Map<String, Object> params);
 }

+ 5 - 7
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentDao.java

@@ -5,16 +5,10 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
+import com.ym.mec.biz.dal.dto.*;
 import org.apache.ibatis.annotations.Param;
 
 import com.ym.mec.auth.api.entity.SysUser;
-import com.ym.mec.biz.dal.dto.EduOrganStudentListDto;
-import com.ym.mec.biz.dal.dto.IndexCloudStudyListDto;
-import com.ym.mec.biz.dal.dto.Mapper;
-import com.ym.mec.biz.dal.dto.SimpleUserDto;
-import com.ym.mec.biz.dal.dto.Student4operating;
-import com.ym.mec.biz.dal.dto.StudentServeCourseDto;
-import com.ym.mec.biz.dal.dto.StudentServeDto;
 import com.ym.mec.biz.dal.entity.IndexBaseMonthData;
 import com.ym.mec.biz.dal.entity.Student;
 import com.ym.mec.biz.dal.entity.Subject;
@@ -424,4 +418,8 @@ public interface StudentDao extends com.ym.mec.common.dal.BaseDAO<Integer, Stude
     List<Student> queryStudent(Map<String, Object> params);
 
     SysUser getUserByPhone(String phone);
+
+    int countStudentBasicInfo(Map<String, Object> params);
+
+    List<SysUserDto> queryStudentBasicInfo(Map<String, Object> params);
 }

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

@@ -515,4 +515,8 @@ public interface TeacherDao extends BaseDAO<Integer, Teacher> {
      */
     List<TeacherStudentDataDto> queryMemberStudentData(Map<String, Object> params);
     int countMemberStudentData(Map<String, Object> params);
+
+    int countTeacherBasicInfo(Map<String, Object> params);
+
+    List<SysUserDto> queryTeacherBasicInfo(Map<String, Object> params);
 }

+ 53 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/ImGroupDto.java

@@ -0,0 +1,53 @@
+package com.ym.mec.biz.dal.dto;
+
+import com.ym.mec.biz.dal.entity.ImGroup;
+import com.ym.mec.common.entity.BaseEntity;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.util.List;
+
+public class ImGroupDto extends BaseEntity {
+    @ApiModelProperty(value = "用户列表")
+    private List<String> userIdList;
+
+    @ApiModelProperty(value = "群名称")
+    private String groupName;
+
+    @ApiModelProperty(value = "群类型 乐团群 MUSIC,班级群 CLASS,训练营 TRAINING,曲目演奏课 REPERTOIRE_PLAY")
+    private String type;
+
+    @ApiModelProperty(value = "群细分类型")
+    private ImGroup.GroupTypeEnum groupType;
+
+    public List<String> getUserIdList() {
+        return userIdList;
+    }
+
+    public void setUserIdList(List<String> userIdList) {
+        this.userIdList = userIdList;
+    }
+
+    public String getGroupName() {
+        return groupName;
+    }
+
+    public void setGroupName(String groupName) {
+        this.groupName = groupName;
+    }
+
+    public String getType() {
+        return type;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
+    public ImGroup.GroupTypeEnum getGroupType() {
+        return groupType;
+    }
+
+    public void setGroupType(ImGroup.GroupTypeEnum groupType) {
+        this.groupType = groupType;
+    }
+}

+ 62 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/SysUserDto.java

@@ -0,0 +1,62 @@
+package com.ym.mec.biz.dal.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+
+import java.math.BigDecimal;
+
+public class SysUserDto {
+    @ApiModelProperty(value = "用户ID")
+    private Long userId;
+
+    @ApiModelProperty(value = "用户名")
+    private String username;
+
+    @ApiModelProperty(value = "手机号")
+    private String phone;
+
+    @ApiModelProperty(value = "分部")
+    private String organName;
+
+    @ApiModelProperty(value = "声部")
+    private String subjectName;
+
+    public Long getUserId() {
+        return userId;
+    }
+
+    public void setUserId(Long userId) {
+        this.userId = userId;
+    }
+
+    public String getUsername() {
+        return username;
+    }
+
+    public void setUsername(String username) {
+        this.username = username;
+    }
+
+    public String getPhone() {
+        return phone;
+    }
+
+    public void setPhone(String phone) {
+        this.phone = phone;
+    }
+
+    public String getOrganName() {
+        return organName;
+    }
+
+    public void setOrganName(String organName) {
+        this.organName = organName;
+    }
+
+    public String getSubjectName() {
+        return subjectName;
+    }
+
+    public void setSubjectName(String subjectName) {
+        this.subjectName = subjectName;
+    }
+}

+ 2 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/ImGroup.java

@@ -36,7 +36,8 @@ public class ImGroup extends BaseEntity {
 		NORMAL("NORMAL", "普通班级"), MIX("MIX", "合奏班级"), HIGH("HIGH", "提高班"),
 		VIP("VIP", "vip课"), DEMO("DEMO", "试听课"), PRACTICE("PRACTICE", "网管课"),
 		SNAP("SNAP","临时班级"), COMM("COMM", "对外课程"), HIGH_ONLINE("HIGH_ONLINE", "网络基础训练课"),
-		MUSIC_NETWORK("MUSIC_NETWORK","乐团网管课"),PARENT_MEETING("PARENT_MEETING","家长会"),TRAINING("TRAINING","训练营");
+		MUSIC_NETWORK("MUSIC_NETWORK","乐团网管课"),PARENT_MEETING("PARENT_MEETING","家长会"),
+		TRAINING("TRAINING","训练营"),REPERTOIRE_PLAY("REPERTOIRE_PLAY","曲目演奏课");
 
 		private String code;
 

+ 21 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/ImSendGroupMessage.java

@@ -49,10 +49,31 @@ public class ImSendGroupMessage {
     @ApiModelProperty(value = "创建人")
     private String operator;
 
+    @ApiModelProperty(value = "0带表系统消息,1代表普通群消息。默认1")
+    private Integer isIncludeSender = 1;
+
+    private String objectName;
+
     private Date createTime;
 
     private Date updateTime;
 
+    public Integer getIsIncludeSender() {
+        return isIncludeSender;
+    }
+
+    public void setIsIncludeSender(Integer isIncludeSender) {
+        this.isIncludeSender = isIncludeSender;
+    }
+
+    public String getObjectName() {
+        return objectName;
+    }
+
+    public void setObjectName(String objectName) {
+        this.objectName = objectName;
+    }
+
     public String getSendType() {
         return sendType;
     }

+ 29 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/GroupMemberQueryInfo.java

@@ -0,0 +1,29 @@
+package com.ym.mec.biz.dal.page;
+
+import com.ym.mec.common.page.QueryInfo;
+import io.swagger.annotations.ApiModelProperty;
+
+public class GroupMemberQueryInfo extends QueryInfo {
+
+    @ApiModelProperty(value = "群编号")
+    private String imGroupId;
+
+    @ApiModelProperty(value = "角色")
+    private String roleType;
+
+    public String getRoleType() {
+        return roleType;
+    }
+
+    public void setRoleType(String roleType) {
+        this.roleType = roleType;
+    }
+
+    public String getImGroupId() {
+        return imGroupId;
+    }
+
+    public void setImGroupId(String imGroupId) {
+        this.imGroupId = imGroupId;
+    }
+}

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/ImSendGroupMessageQueryInfo.java

@@ -18,6 +18,17 @@ public class ImSendGroupMessageQueryInfo extends QueryInfo {
     @ApiModelProperty(value = "消息发送类型即时 NOW、定时发送 TIMING")
     private String sendType;
 
+    @ApiModelProperty(value = "0是系统消息、1普通消息(默认1)")
+    private Integer isIncludeSender = 1;
+
+    public Integer getIsIncludeSender() {
+        return isIncludeSender;
+    }
+
+    public void setIsIncludeSender(Integer isIncludeSender) {
+        this.isIncludeSender = isIncludeSender;
+    }
+
     public String getSendType() {
         return sendType;
     }

+ 51 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/UserBasicQueryInfo.java

@@ -0,0 +1,51 @@
+package com.ym.mec.biz.dal.page;
+
+import com.ym.mec.common.page.QueryInfo;
+import io.swagger.annotations.ApiModelProperty;
+
+public class UserBasicQueryInfo extends QueryInfo {
+
+    @ApiModelProperty(value = "分部", required = false)
+    private String organId;
+
+    @ApiModelProperty(value = "声部编号", required = false)
+    private Integer subjectId;
+
+    @ApiModelProperty(value = "乐团编号", required = false)
+    private String musicGroupId;
+
+    @ApiModelProperty(value = "群编号(用于排除掉在群里面的用户)", required = false)
+    private String imGroupId;
+
+    public String getImGroupId() {
+        return imGroupId;
+    }
+
+    public void setImGroupId(String imGroupId) {
+        this.imGroupId = imGroupId;
+    }
+
+    public String getOrganId() {
+        return organId;
+    }
+
+    public void setOrganId(String organId) {
+        this.organId = organId;
+    }
+
+    public Integer getSubjectId() {
+        return subjectId;
+    }
+
+    public void setSubjectId(Integer subjectId) {
+        this.subjectId = subjectId;
+    }
+
+    public String getMusicGroupId() {
+        return musicGroupId;
+    }
+
+    public void setMusicGroupId(String musicGroupId) {
+        this.musicGroupId = musicGroupId;
+    }
+}

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

@@ -3,9 +3,11 @@ package com.ym.mec.biz.service;
 import com.ym.mec.auth.api.entity.SysRole;
 import com.ym.mec.biz.dal.dto.EmployeeLevelDto;
 import com.ym.mec.biz.dal.dto.SimpleUserDto;
+import com.ym.mec.biz.dal.dto.SysUserDto;
 import com.ym.mec.biz.dal.entity.Employee;
 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.service.BaseService;
 import java.util.HashMap;
@@ -75,4 +77,6 @@ public interface EmployeeService extends BaseService<Integer, Employee> {
     int insertSysRole(SysRole sysRole);
 
     void simpleUpdate(Employee employee);
+
+    PageInfo<SysUserDto> queryEmployeeBasicInfo(UserBasicQueryInfo queryInfo);
 }

+ 7 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/ImGroupMemberService.java

@@ -1,8 +1,11 @@
 package com.ym.mec.biz.service;
 
 import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.biz.dal.dto.ImGroupMemberDto;
 import com.ym.mec.biz.dal.entity.ImGroup;
 import com.ym.mec.biz.dal.entity.ImGroupMember;
+import com.ym.mec.biz.dal.page.GroupMemberQueryInfo;
+import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.BaseService;
 
 import java.util.List;
@@ -95,4 +98,8 @@ public interface ImGroupMemberService extends BaseService<Long, ImGroupMember> {
 	void delRepeat();
 
 	List<ImGroupMember> queryMembers(String groupId, List<String> userIdList, Integer tenantId);
+
+	PageInfo<ImGroupMemberDto> queryGroupMemberPage(GroupMemberQueryInfo queryInfo);
+
+	void batchJoin(String imGroupId, String userId, String roleType);
 }

+ 13 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/ImGroupService.java

@@ -1,7 +1,10 @@
 package com.ym.mec.biz.service;
 
+import com.ym.mec.biz.dal.dto.ImGroupDto;
 import com.ym.mec.biz.dal.dto.ImGroupMemberDto;
 import com.ym.mec.biz.dal.entity.ImGroup;
+import com.ym.mec.biz.dal.page.GroupMemberQueryInfo;
+import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.BaseService;
 
 import java.util.List;
@@ -22,8 +25,13 @@ public interface ImGroupService extends BaseService<String, ImGroup> {
 	 */
 	ImGroup create(String id, Integer userId, String name, String introduce, String memo, String tags, String img, String type, ImGroup.GroupTypeEnum groupType);
 
-	//创建非课程类型的业务群组
-	String createGroup(List<String> userIdList,String groupName,String type, ImGroup.GroupTypeEnum groupType);
+	/**
+	* @description: 创建非课程类型的业务群组
+	* @return java.lang.String
+	* @author zx
+	* @date 2022/6/7 15:20
+	*/
+	String createGroup(ImGroupDto imGroupDto);
 
 	/**
 	 * 解散群组
@@ -72,4 +80,7 @@ public interface ImGroupService extends BaseService<String, ImGroup> {
 	void updateNickName1(Integer userId, String nickName);
 
 	void updateImGroup(ImGroup imGroup);
+
+	//解散群组
+	void dismissGroup(String imGroupId);
 }

+ 4 - 8
mec-biz/src/main/java/com/ym/mec/biz/service/StudentService.java

@@ -6,11 +6,7 @@ import java.util.List;
 import java.util.Map;
 
 import com.ym.mec.auth.api.entity.SysUser;
-import com.ym.mec.biz.dal.dto.CloudStudyStudentDataDto;
-import com.ym.mec.biz.dal.dto.CloudTeacherActiveTargetDetailDto;
-import com.ym.mec.biz.dal.dto.EduOrganStudentDataDto;
-import com.ym.mec.biz.dal.dto.IndexCloudStudyListDto;
-import com.ym.mec.biz.dal.dto.StatDto;
+import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.entity.BaseStudentDto;
 import com.ym.mec.biz.dal.entity.CloudTeacherOrder;
 import com.ym.mec.biz.dal.entity.CooperationOrgan;
@@ -18,9 +14,7 @@ import com.ym.mec.biz.dal.entity.Student;
 import com.ym.mec.biz.dal.entity.StudentPreRegistration;
 import com.ym.mec.biz.dal.enums.GradeTypeEnum;
 import com.ym.mec.biz.dal.enums.PeriodEnum;
-import com.ym.mec.biz.dal.page.CloudTeacherActiveQueryInfo;
-import com.ym.mec.biz.dal.page.OrganCloudStudyStudentDataQueryInfo;
-import com.ym.mec.biz.dal.page.StudentQueryInfo;
+import com.ym.mec.biz.dal.page.*;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.BaseService;
 
@@ -171,4 +165,6 @@ public interface StudentService extends BaseService<Integer, Student> {
     * @date 2022/1/7 11:02
     */
     <T extends BaseStudentDto> SysUser upSetStudent(T student);
+
+    PageInfo<SysUserDto> queryStudentBasicInfo(UserBasicQueryInfo queryInfo);
 }

+ 4 - 9
mec-biz/src/main/java/com/ym/mec/biz/service/SysMessageService.java

@@ -7,6 +7,7 @@ import java.util.Map;
 import java.util.Set;
 
 import com.ym.mec.biz.dal.dto.SysMessageDto;
+import com.ym.mec.biz.dal.entity.ImSendGroupMessage;
 import com.ym.mec.biz.dal.entity.SysMessage;
 import com.ym.mec.biz.dal.enums.MessageSendMode;
 import com.ym.mec.biz.dal.enums.MessageTypeEnum;
@@ -52,11 +53,9 @@ public interface SysMessageService extends BaseService<Long, SysMessage> {
 
 	/**
 	 * 发送文本消息
-	 * @param senderId
-	 * @param messageContent
 	 * @return
 	 */
-	void batchSendImGroupMessage(String messageContent,String senderId,String extra, String[] targetIds) throws MalformedURLException;
+	void batchSendImGroupTxtMessage(ImSendGroupMessage messageDto) throws MalformedURLException;
 
 	/**
 	 * 发送自定义文本消息
@@ -69,15 +68,11 @@ public interface SysMessageService extends BaseService<Long, SysMessage> {
 
 	/**
 	* @description: 发送图片消息
-	 * @param senderId
-	 * @param extra
-	 * @param imgUrl
-	 * @param targetIds
 	* @return void
 	* @author zx
 	* @date 2022/5/17 10:05
 	*/
-	void batchSendImGroupMessage(String[] targetIds,String senderId,String extra,String imgUrl) throws Exception;
+	void batchSendImGroupImgMessage(ImSendGroupMessage messageDto) throws Exception;
 
 	/**
 	* @description: 发送文件消息
@@ -91,7 +86,7 @@ public interface SysMessageService extends BaseService<Long, SysMessage> {
 	* @author zx
 	* @date 2022/5/17 10:05
 	*/
-	void batchSendImGroupMessage(String senderId,String extra,String name, String[] targetIds, String fileUrl,Long size);
+	void batchSendImGroupFileMessage(ImSendGroupMessage messageDto);
 
 	/**
 	 * 发送消息

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/UserLoginService.java → mec-biz/src/main/java/com/ym/mec/biz/service/SysUserService.java

@@ -2,7 +2,7 @@ package com.ym.mec.biz.service;
 
 import com.ym.mec.auth.api.entity.SysUser;
 
-public interface UserLoginService{
+public interface SysUserService {
     Integer getUserId();
 
     SysUser getUser();

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

@@ -218,4 +218,6 @@ public interface TeacherService extends BaseService<Integer, Teacher> {
      * @return
      */
     PageInfo<TeacherStudentDataDto> queryMemberStudentData(TeacherServeQueryInfo queryInfo);
+
+    PageInfo<SysUserDto> queryTeacherBasicInfo(UserBasicQueryInfo queryInfo);
 }

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

@@ -7,11 +7,13 @@ import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.dto.EmployeeDto;
 import com.ym.mec.biz.dal.dto.EmployeeLevelDto;
+import com.ym.mec.biz.dal.dto.SysUserDto;
 import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.EmployeeOperateEnum;
 import com.ym.mec.biz.dal.enums.GroupType;
 import com.ym.mec.biz.dal.enums.ParamEnum;
 import com.ym.mec.biz.dal.page.EmployeeQueryInfo;
+import com.ym.mec.biz.dal.page.UserBasicQueryInfo;
 import com.ym.mec.biz.service.*;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.entity.ImGroupModel;
@@ -549,4 +551,24 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee> impl
         }
         employeeDao.update(employee);
     }
+
+    @Override
+    public PageInfo<SysUserDto> queryEmployeeBasicInfo(UserBasicQueryInfo queryInfo) {
+        PageInfo<SysUserDto> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
+        Map<String, Object> params = new HashMap<>();
+        MapUtil.populateMap(params, queryInfo);
+
+        List<SysUserDto> dataList = null;
+        int count = employeeDao.countEmployeeBasicInfo(params);
+        if (count > 0) {
+            pageInfo.setTotal(count);
+            params.put("offset", pageInfo.getOffset());
+            dataList = employeeDao.queryEmployeeBasicInfo(params);
+        }
+        if (count == 0) {
+            dataList = new ArrayList<>();
+        }
+        pageInfo.setRows(dataList);
+        return pageInfo;
+    }
 }

+ 31 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ImGroupMemberServiceImpl.java

@@ -2,12 +2,15 @@ package com.ym.mec.biz.service.impl;
 
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.*;
+import com.ym.mec.biz.dal.dto.ImGroupMemberDto;
 import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.GroupType;
+import com.ym.mec.biz.dal.page.GroupMemberQueryInfo;
 import com.ym.mec.biz.service.ImGroupMemberService;
 import com.ym.mec.biz.service.ImGroupService;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.exception.BizException;
+import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.im.ImFeignService;
 import com.ym.mec.im.entity.GroupMember;
@@ -368,4 +371,32 @@ public class ImGroupMemberServiceImpl extends BaseServiceImpl<Long, ImGroupMembe
 	public List<ImGroupMember> queryMembers(String groupId, List<String> userIdList, Integer tenantId) {
 		return imGroupMemberDao.queryMembers(groupId, userIdList, tenantId);
 	}
+
+    @Override
+    public PageInfo<ImGroupMemberDto> queryGroupMemberPage(GroupMemberQueryInfo queryInfo) {
+		PageInfo<ImGroupMemberDto> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
+		Map<String, Object> params = new HashMap<String, Object>();
+		MapUtil.populateMap(params, queryInfo);
+
+		List<ImGroupMemberDto> dataList = null;
+		int count = imGroupMemberDao.countGroupMember(params);
+		if (count > 0) {
+			pageInfo.setTotal(count);
+			params.put("offset", pageInfo.getOffset());
+			dataList = imGroupMemberDao.queryGroupMemberPage(params);
+		}
+		if (count == 0) {
+			dataList = new ArrayList<>();
+		}
+		pageInfo.setRows(dataList);
+		return pageInfo;
+    }
+
+	@Override
+	public void batchJoin(String imGroupId, String userId, String roleType) {
+		List<Integer> userIds = Arrays.stream(userId.split(",")).mapToInt(Integer::parseInt).boxed().collect(Collectors.toList());
+		Map<Integer, String> userRoleMap = new HashMap<>(userIds.size());
+		userIds.stream().forEach(e->userRoleMap.put(e,roleType));
+		this.join(imGroupId,userRoleMap);
+	}
 }

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

@@ -5,14 +5,17 @@ import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.ImGroupDao;
 import com.ym.mec.biz.dal.dao.ImGroupMemberDao;
 import com.ym.mec.biz.dal.dao.ImGroupNoticeDao;
+import com.ym.mec.biz.dal.dto.ImGroupDto;
 import com.ym.mec.biz.dal.dto.ImGroupMemberDto;
 import com.ym.mec.biz.dal.entity.ImGroup;
 import com.ym.mec.biz.dal.entity.ImGroupMember;
+import com.ym.mec.biz.dal.page.GroupMemberQueryInfo;
 import com.ym.mec.biz.service.ImGroupMemberService;
 import com.ym.mec.biz.service.ImGroupService;
 import com.ym.mec.common.dal.BaseDAO;
 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.service.impl.BaseServiceImpl;
 import com.ym.mec.common.tenant.TenantContextHolder;
 import com.ym.mec.im.ImFeignService;
@@ -104,7 +107,10 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
 
 	@Override
 	@Transactional(rollbackFor = Exception.class)
-	public String createGroup(List<String> userIdList,String groupName,String type, ImGroup.GroupTypeEnum groupType){
+	public String createGroup(ImGroupDto imGroupDto){
+		List<String> userIdList = imGroupDto.getUserIdList();
+		String groupName = imGroupDto.getGroupName();
+		String type = imGroupDto.getType();
 		Optional.ofNullable(userIdList).filter(CollectionUtils::isNotEmpty).orElseThrow(() -> new BizException("群成员不能为空"));
 		Optional.ofNullable(groupName).filter(StringUtils::isNotBlank).orElseThrow(() -> new BizException("群名称不能为空"));
 		Optional.ofNullable(type).filter(StringUtils::isNotBlank).orElseThrow(() -> new BizException("群类型不能为空"));
@@ -117,7 +123,7 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
 		imGroup.setMemberNum(userIdList.size());
 		imGroup.setName(groupName);
 		imGroup.setType(type);
-		imGroup.setGroupType(groupType);
+		imGroup.setGroupType(imGroupDto.getGroupType());
 		imGroup.setUpdateTime(date);
 		imGroupDao.insert(imGroup);
 		List<ImGroupMember> groupMemberList = imGroupMemberDao.queryMembers(groupId, userIdList, TenantContextHolder.getTenantId());
@@ -141,8 +147,7 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
 		// 删除群信息
 		imGroupDao.delete(imGroupId);
 
-		String groupId = imGroupId.toString();
-		imFeignService.groupDismiss(new GroupModel(groupId, null));
+		imFeignService.groupDismiss(new GroupModel(imGroupId, null));
 
 		return true;
 	}
@@ -195,4 +200,13 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
 		imGroupDao.update(imGroup);
 		imFeignService.groupUpdate(new GroupModel(imGroup.getId(),null,imGroup.getName()));
     }
+
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public void dismissGroup(String imGroupId) {
+		imFeignService.groupDismiss(new GroupModel(imGroupId, null));
+		imGroupDao.delete(imGroupId);
+		imGroupMemberDao.deleteByImGroupId(imGroupId);
+		imGroupNoticeDao.deleteByImGroupId(imGroupId);
+	}
 }

+ 10 - 5
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ImSendGroupMessageServiceImpl.java

@@ -3,6 +3,7 @@ package com.ym.mec.biz.service.impl;
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.ImSendGroupMessageDao;
+import com.ym.mec.biz.dal.dao.SysConfigDao;
 import com.ym.mec.biz.dal.entity.ImSendGroupMessage;
 import com.ym.mec.biz.dal.enums.ImSendTypeEnum;
 import com.ym.mec.biz.service.ImSendGroupMessageService;
@@ -27,6 +28,8 @@ public class ImSendGroupMessageServiceImpl extends BaseServiceImpl<Long, ImSendG
 	private SysMessageService sysMessageService;
 	@Autowired
 	private SysUserFeignService sysUserFeignService;
+	@Autowired
+	private SysConfigDao sysConfigDao;
 
 	@Override
 	public BaseDAO<Long, ImSendGroupMessage> getDAO() {
@@ -127,15 +130,17 @@ public class ImSendGroupMessageServiceImpl extends BaseServiceImpl<Long, ImSendG
 	}
 
 	private void send(ImSendGroupMessage messageDto) throws Exception {
+		if(messageDto.getIsIncludeSender() == 0){
+			//发送系统消息用指定的用户
+			messageDto.setSenderId(sysConfigDao.findConfigValue("system_message_user"));
+		}
 		if (Objects.equals(messageDto.getMessageType(), ImSendTypeEnum.IMG)) {
-			sysMessageService.batchSendImGroupMessage(messageDto.getTargetIds().split(","),messageDto.getSenderId(),
-					messageDto.getExtra(),messageDto.getFileUrl());
+			sysMessageService.batchSendImGroupImgMessage(messageDto);
 		} else if (Objects.equals(messageDto.getMessageType(),ImSendTypeEnum.FILE)) {
-			sysMessageService.batchSendImGroupMessage(messageDto.getSenderId(),
-					messageDto.getExtra(),messageDto.getFileName(),messageDto.getTargetIds().split(","),messageDto.getFileUrl(),messageDto.getFileSize());
+			sysMessageService.batchSendImGroupFileMessage(messageDto);
 		}
 		if(StringUtils.isNotEmpty(messageDto.getMessageContent())){
-			sysMessageService.batchSendImGroupMessage(messageDto.getMessageContent(),messageDto.getSenderId(),messageDto.getExtra(),messageDto.getTargetIds().split(","));
+			sysMessageService.batchSendImGroupTxtMessage(messageDto);
 		}
 	}
 }

+ 22 - 16
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentServiceImpl.java

@@ -22,6 +22,8 @@ import java.util.stream.Collectors;
 
 import javax.annotation.PostConstruct;
 
+import com.ym.mec.biz.dal.dto.*;
+import com.ym.mec.biz.dal.page.*;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -47,19 +49,6 @@ import com.ym.mec.biz.dal.dao.SysConfigDao;
 import com.ym.mec.biz.dal.dao.SysMusicCompareRecordDao;
 import com.ym.mec.biz.dal.dao.SysUserCashAccountDao;
 import com.ym.mec.biz.dal.dao.TeacherDao;
-import com.ym.mec.biz.dal.dto.CloudStudyStudentDataDto;
-import com.ym.mec.biz.dal.dto.CloudTeacherActiveTargetDetailDto;
-import com.ym.mec.biz.dal.dto.CloudTeacherActiveTargetDto;
-import com.ym.mec.biz.dal.dto.EduOrganStudentDataDto;
-import com.ym.mec.biz.dal.dto.EduOrganStudentListDto;
-import com.ym.mec.biz.dal.dto.EduOrganStudentListExportDto;
-import com.ym.mec.biz.dal.dto.IndexCloudStudyListDto;
-import com.ym.mec.biz.dal.dto.Mapper;
-import com.ym.mec.biz.dal.dto.StatDto;
-import com.ym.mec.biz.dal.dto.StudentClassInfoDto;
-import com.ym.mec.biz.dal.dto.StudentCourseTimesDto;
-import com.ym.mec.biz.dal.dto.StudentOrganDto;
-import com.ym.mec.biz.dal.dto.StudentTeacherCourseDto;
 import com.ym.mec.biz.dal.entity.BaseStudentDto;
 import com.ym.mec.biz.dal.entity.CloudTeacherOrder;
 import com.ym.mec.biz.dal.entity.CooperationOrgan;
@@ -75,9 +64,6 @@ import com.ym.mec.biz.dal.enums.GradeTypeEnum;
 import com.ym.mec.biz.dal.enums.MessageTypeEnum;
 import com.ym.mec.biz.dal.enums.PeriodEnum;
 import com.ym.mec.biz.dal.enums.SixPlusGradeEnum;
-import com.ym.mec.biz.dal.page.CloudTeacherActiveQueryInfo;
-import com.ym.mec.biz.dal.page.OrganCloudStudyStudentDataQueryInfo;
-import com.ym.mec.biz.dal.page.StudentQueryInfo;
 import com.ym.mec.biz.service.OrganizationService;
 import com.ym.mec.biz.service.StudentService;
 import com.ym.mec.biz.service.SysConfigService;
@@ -1352,6 +1338,26 @@ public class StudentServiceImpl extends BaseServiceImpl<Integer, Student> implem
         return user;
     }
 
+    @Override
+    public PageInfo<SysUserDto> queryStudentBasicInfo(UserBasicQueryInfo queryInfo) {
+        PageInfo<SysUserDto> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
+        Map<String, Object> params = new HashMap<>();
+        MapUtil.populateMap(params, queryInfo);
+
+        List<SysUserDto> dataList = null;
+        int count = studentDao.countStudentBasicInfo(params);
+        if (count > 0) {
+            pageInfo.setTotal(count);
+            params.put("offset", pageInfo.getOffset());
+            dataList = studentDao.queryStudentBasicInfo(params);
+        }
+        if (count == 0) {
+            dataList = new ArrayList<>();
+        }
+        pageInfo.setRows(dataList);
+        return pageInfo;
+    }
+
     @Transactional(rollbackFor = Exception.class)
     public  <T extends BaseStudentDto> void insertStudent(T baseStudent){
         Student student = new Student();

+ 35 - 31
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysMessageServiceImpl.java

@@ -10,10 +10,7 @@ import com.ym.mec.biz.dal.dao.WaitSendMessageDao;
 import com.ym.mec.biz.dal.dto.Mapper;
 import com.ym.mec.biz.dal.dto.SimpleUserDto;
 import com.ym.mec.biz.dal.dto.SysMessageDto;
-import com.ym.mec.biz.dal.entity.SysEmail;
-import com.ym.mec.biz.dal.entity.SysMessage;
-import com.ym.mec.biz.dal.entity.SysMessageConfig;
-import com.ym.mec.biz.dal.entity.WaitSendMessage;
+import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.MessageSendMode;
 import com.ym.mec.biz.dal.enums.MessageTypeEnum;
 import com.ym.mec.biz.dal.enums.SendStatusEnum;
@@ -236,18 +233,15 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 	public void batchSendImGroupMessage(MessageTypeEnum type, String senderId,String extra, String[] targetIds, String url, Object... args) {
 		String messageContent = checkMessageConfig(type);
 		String content = getContent(messageContent,url, args);
-		ExecutorService executor = Executors.newCachedThreadPool();
-		CompletableFuture.runAsync(()->{
-			imFeignService.groupSend(getImGroupMessage("RC:TxtMsg",senderId,targetIds,content,extra));
-		},executor);
+		ImMessageDto imGroupMessage = getImGroupMessage("RC:TxtMsg", senderId, targetIds, content, extra);
+		this.sendGroupMessage(imGroupMessage);
 	}
 
 	@Override
-	public void batchSendImGroupMessage(String messageContent, String senderId,String extra, String[] targetIds) {
-		ExecutorService executor = Executors.newCachedThreadPool();
-		CompletableFuture.runAsync(()->{
-			imFeignService.groupSend(getImGroupMessage("RC:TxtMsg",senderId,targetIds,messageContent,extra));
-		},executor);
+	public void batchSendImGroupTxtMessage(ImSendGroupMessage messageDto) {
+		messageDto.setObjectName("RC:TxtMsg");
+		ImMessageDto imGroupMessage = this.getImGroupMessage(messageDto);
+		this.sendGroupMessage(imGroupMessage);
 	}
 
 	@Override
@@ -270,11 +264,8 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 	}
 
 	@Override
-	public void batchSendImGroupMessage(String[] targetIds,String senderId,String extra,String imgUrl ) throws Exception {
-		URL url = new URL(imgUrl);
-		//获取文件名
-//		String path = url.getPath();
-//		String suffix = path.substring(path.lastIndexOf(".") + 1);
+	public void batchSendImGroupImgMessage(ImSendGroupMessage messageDto) throws Exception {
+		URL url = new URL(messageDto.getFileUrl());
 		BufferedImage bufferedImage = Thumbnails.of(url).scale(0.1f).outputQuality(0.25f).asBufferedImage();
 		ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
 		ImageIO.write(bufferedImage, "png", outputStream);
@@ -285,9 +276,14 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 		if (length > 393216) {
 			throw new BizException("文件过大请调整 像素 或 文件大小");
 		}
-		ImMessageDto imMessageDto =
-				getImGroupMessage("RC:ImgMsg",senderId,targetIds,imageToBase64(bufferedImage, "png"),extra);
-		imMessageDto.setFileUrl(imgUrl);
+		messageDto.setObjectName("RC:ImgMsg");
+		messageDto.setMessageContent(imageToBase64(bufferedImage, "png"));
+		ImMessageDto imMessageDto = this.getImGroupMessage(messageDto);
+		imMessageDto.setFileUrl(messageDto.getFileUrl());
+		this.sendGroupMessage(imMessageDto);
+	}
+
+	public void sendGroupMessage(ImMessageDto imMessageDto){
 		ExecutorService executor = Executors.newCachedThreadPool();
 		CompletableFuture.runAsync(()->{
 			imFeignService.groupSend(imMessageDto);
@@ -295,16 +291,14 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 	}
 
 	@Override
-	public void batchSendImGroupMessage(String senderId,String extra,String name, String[] targetIds, String fileUrl,Long size) {
-		ImMessageDto imMessageDto =
-				getImGroupMessage("RC:FileMsg",senderId,targetIds,"",extra);
-		imMessageDto.setFileUrl(fileUrl);
-		imMessageDto.setFileSize(size);
-		imMessageDto.setFileName(name);
-		ExecutorService executor = Executors.newCachedThreadPool();
-		CompletableFuture.runAsync(()->{
-			imFeignService.groupSend(imMessageDto);
-		},executor);
+	public void batchSendImGroupFileMessage(ImSendGroupMessage messageDto) {
+		messageDto.setObjectName("RC:FileMsg");
+		messageDto.setMessageContent("");
+		ImMessageDto imMessageDto = this.getImGroupMessage(messageDto);
+		imMessageDto.setFileUrl(messageDto.getFileUrl());
+		imMessageDto.setFileSize(messageDto.getFileSize());
+		imMessageDto.setFileName(messageDto.getFileName());
+		this.sendGroupMessage(imMessageDto);
 	}
 
 	private String checkMessageConfig(MessageTypeEnum type){
@@ -325,6 +319,16 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 		return content;
 	}
 
+	private ImMessageDto getImGroupMessage(ImSendGroupMessage messageDto) {
+		ImMessageDto imMessageDto = new ImMessageDto();
+		imMessageDto.setObjectName(messageDto.getObjectName());
+		imMessageDto.setTargetIds(messageDto.getTargetIds().split(","));
+		imMessageDto.setSenderId(messageDto.getSenderId());
+		imMessageDto.setExtra(messageDto.getExtra());
+		imMessageDto.setMessageContent(messageDto.getMessageContent());
+		imMessageDto.setIsIncludeSender(messageDto.getIsIncludeSender());
+		return imMessageDto;
+	}
 	private ImMessageDto getImGroupMessage(String objectName, String senderId, String[] targetIds, String content, String extra) {
 		ImMessageDto imMessageDto = new ImMessageDto();
 		imMessageDto.setObjectName(objectName);

+ 28 - 12
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysUserServiceImpl.java

@@ -2,25 +2,41 @@ package com.ym.mec.biz.service.impl;
 
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
-import com.ym.mec.biz.handler.SysUserContextHolder;
+import com.ym.mec.biz.service.SysUserService;
+import com.ym.mec.common.exception.BizException;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.Optional;
+
 @Service
-public class SysUserServiceImpl {
+public class SysUserServiceImpl implements SysUserService {
 
     @Autowired
     private SysUserFeignService sysUserFeignService;
 
-    public SysUser getSysUser() {
-        SysUser sysUser = SysUserContextHolder.getSysUser();
-        if(sysUser == null){
-            sysUser = sysUserFeignService.queryUserInfo();
-            if(sysUser == null || sysUser.getId() == null){
-                return null;
-            }
-        }
-        SysUserContextHolder.setSysUser(sysUser);
+    @Override
+    public Integer getUserId(){
+        return Optional.ofNullable(sysUserFeignService.queryUserInfo())
+                .map(SysUser::getId)
+                .orElseThrow(() -> new BizException("请登录"));
+    }
+
+    @Override
+    public SysUser getUser(){
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        Optional.ofNullable(sysUser)
+                .map(SysUser::getId)
+                .orElseThrow(() -> new BizException("请登录"));
         return sysUser;
     }
-}
+
+    @Override
+    public SysUser queryUserById(Integer userId) {
+        SysUser user = sysUserFeignService.queryUserById(userId);
+        Optional.ofNullable(user)
+                .map(SysUser::getId)
+                .orElseThrow(() -> new BizException("用户信息获取失败"));
+        return user;
+    }
+}

+ 22 - 18
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherServiceImpl.java

@@ -16,6 +16,8 @@ import java.util.Objects;
 import java.util.Set;
 import java.util.stream.Collectors;
 
+import com.ym.mec.biz.dal.dto.*;
+import com.ym.mec.biz.dal.page.*;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.redis.core.RedisTemplate;
@@ -41,17 +43,6 @@ import com.ym.mec.biz.dal.dao.StudentRegistrationDao;
 import com.ym.mec.biz.dal.dao.SubjectDao;
 import com.ym.mec.biz.dal.dao.SysUserCashAccountDao;
 import com.ym.mec.biz.dal.dao.TeacherDao;
-import com.ym.mec.biz.dal.dto.BasicUserDto;
-import com.ym.mec.biz.dal.dto.ImUserFriendDto;
-import com.ym.mec.biz.dal.dto.MusicGroupStudentApplyDto;
-import com.ym.mec.biz.dal.dto.MusicGroupTeacherAttendanceDto;
-import com.ym.mec.biz.dal.dto.MusicGroupTeachersDto;
-import com.ym.mec.biz.dal.dto.TeacherBasicDto;
-import com.ym.mec.biz.dal.dto.TeacherCloseDto;
-import com.ym.mec.biz.dal.dto.TeacherDefaultSalaryDto;
-import com.ym.mec.biz.dal.dto.TeacherExercisesServiceDto;
-import com.ym.mec.biz.dal.dto.TeacherMusicStudentOverViewDto;
-import com.ym.mec.biz.dal.dto.TeacherStudentDataDto;
 import com.ym.mec.biz.dal.entity.CourseHomework;
 import com.ym.mec.biz.dal.entity.ImUserFriend;
 import com.ym.mec.biz.dal.entity.MusicGroup;
@@ -62,13 +53,6 @@ import com.ym.mec.biz.dal.entity.StudentPaymentOrder;
 import com.ym.mec.biz.dal.entity.SysUserCashAccount;
 import com.ym.mec.biz.dal.entity.Teacher;
 import com.ym.mec.biz.dal.enums.GroupType;
-import com.ym.mec.biz.dal.page.MusicGroupTeacherAttendanceQueryInfo;
-import com.ym.mec.biz.dal.page.MusicGroupTeachersQueryInfo;
-import com.ym.mec.biz.dal.page.TeacherCloseQueryInfo;
-import com.ym.mec.biz.dal.page.TeacherNameQueryInfo;
-import com.ym.mec.biz.dal.page.TeacherQueryInfo;
-import com.ym.mec.biz.dal.page.TeacherServeQueryInfo;
-import com.ym.mec.biz.dal.page.queryMusicGroupStudentQueryInfo;
 import com.ym.mec.biz.service.ClassGroupService;
 import com.ym.mec.biz.service.TeacherService;
 import com.ym.mec.biz.service.TenantInfoService;
@@ -850,4 +834,24 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher>  imple
 		pageInfo.setRows(dataList);
 		return pageInfo;
 	}
+
+    @Override
+    public PageInfo<SysUserDto> queryTeacherBasicInfo(UserBasicQueryInfo queryInfo) {
+		PageInfo<SysUserDto> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
+		Map<String, Object> params = new HashMap<>();
+		MapUtil.populateMap(params, queryInfo);
+
+		List<SysUserDto> dataList = null;
+		int count = teacherDao.countTeacherBasicInfo(params);
+		if (count > 0) {
+			pageInfo.setTotal(count);
+			params.put("offset", pageInfo.getOffset());
+			dataList = teacherDao.queryTeacherBasicInfo(params);
+		}
+		if (count == 0) {
+			dataList = new ArrayList<>();
+		}
+		pageInfo.setRows(dataList);
+		return pageInfo;
+    }
 }

+ 13 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TempLittleArtistTrainingCampServiceImpl.java

@@ -8,6 +8,7 @@ import com.google.common.collect.Lists;
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.TempLittleArtistTrainingCampDao;
+import com.ym.mec.biz.dal.dto.ImGroupDto;
 import com.ym.mec.biz.dal.dto.TempLittleArtistTrainingCampDto;
 import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.MessageTypeEnum;
@@ -441,7 +442,12 @@ public class TempLittleArtistTrainingCampServiceImpl extends ServiceImpl<TempLit
             //如果人数小于最大人数 则直接分组
             if (maxUserNum.intValue() >= applyNum.intValue()) {
                 //分组
-                String groupId = imGroupService.createGroup(userStrList, camp.getName() + "-1群", groupType, ImGroup.GroupTypeEnum.TRAINING);
+                ImGroupDto imGroupDto = new ImGroupDto();
+                imGroupDto.setGroupType(ImGroup.GroupTypeEnum.TRAINING);
+                imGroupDto.setType(groupType);
+                imGroupDto.setGroupName(camp.getName() + "-1群");
+                imGroupDto.setUserIdList(userStrList);
+                String groupId = imGroupService.createGroup(imGroupDto);
                 imGroupIds.add(groupId);
                 //修改关系表
                 updateGroup.accept(groupId, userStrList);
@@ -455,7 +461,12 @@ public class TempLittleArtistTrainingCampServiceImpl extends ServiceImpl<TempLit
                 //群号
                 AtomicInteger i = new AtomicInteger(1);
                 partition.forEach(list -> {
-                    String groupId = imGroupService.createGroup(list, camp.getName() + "-" + i.get() + "群", groupType, ImGroup.GroupTypeEnum.TRAINING);
+                    ImGroupDto imGroupDto = new ImGroupDto();
+                    imGroupDto.setGroupType(ImGroup.GroupTypeEnum.TRAINING);
+                    imGroupDto.setType(groupType);
+                    imGroupDto.setGroupName(camp.getName() + "-" + i.get() + "群");
+                    imGroupDto.setUserIdList(list);
+                    String groupId = imGroupService.createGroup(imGroupDto);
                     updateGroup.accept(groupId, list);
                     //修改关系表
                     imGroupIds.add(groupId);

+ 0 - 42
mec-biz/src/main/java/com/ym/mec/biz/service/impl/UserLoginServiceImpl.java

@@ -1,42 +0,0 @@
-package com.ym.mec.biz.service.impl;
-
-import com.ym.mec.auth.api.client.SysUserFeignService;
-import com.ym.mec.auth.api.entity.SysUser;
-import com.ym.mec.biz.service.UserLoginService;
-import com.ym.mec.common.exception.BizException;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import java.util.Optional;
-
-@Service
-public class UserLoginServiceImpl implements UserLoginService {
-
-    @Autowired
-    private SysUserFeignService sysUserFeignService;
-
-    @Override
-    public Integer getUserId(){
-        return Optional.ofNullable(sysUserFeignService.queryUserInfo())
-                .map(SysUser::getId)
-                .orElseThrow(() -> new BizException("请登录"));
-    }
-
-    @Override
-    public SysUser getUser(){
-        SysUser sysUser = sysUserFeignService.queryUserInfo();
-        Optional.ofNullable(sysUser)
-                .map(SysUser::getId)
-                .orElseThrow(() -> new BizException("请登录"));
-        return sysUser;
-    }
-
-    @Override
-    public SysUser queryUserById(Integer userId) {
-        SysUser user = sysUserFeignService.queryUserById(userId);
-        Optional.ofNullable(user)
-                .map(SysUser::getId)
-                .orElseThrow(() -> new BizException("用户信息获取失败"));
-        return user;
-    }
-}

+ 0 - 1
mec-biz/src/main/resources/config/mybatis/CloudTeacherOrderMapper.xml

@@ -496,5 +496,4 @@
     <select id="queryByUserIdAndStatus" resultMap="CloudTeacherOrder">
         select cto.* from cloud_teacher_order cto where cto.student_id_ = #{userId} and cto.status_ = #{status}
     </select>
-
 </mapper>

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

@@ -426,4 +426,31 @@
             #{userId}
         </foreach>
     </select>
+    <select id="countEmployeeBasicInfo" resultType="java.lang.Integer">
+        SELECT COUNT(e.user_id_)
+        FROM employee e
+        LEFT JOIN sys_user su ON su.id_ = e.user_id_
+        <include refid="queryEmployeeBasicInfoSql"/>
+    </select>
+    <select id="queryEmployeeBasicInfo" resultMap="com.ym.mec.biz.dal.dao.StudentDao.SysUserDto">
+        SELECT e.user_id_,su.real_name_ username_,su.phone_
+        FROM employee e
+        LEFT JOIN sys_user su ON su.id_ = e.user_id_
+        <include refid="queryEmployeeBasicInfoSql"/>
+        <include refid="global.limit"/>
+    </select>
+    <sql id="queryEmployeeBasicInfoSql">
+        <where>
+            e.demission_date_ IS NULL AND su.lock_flag_ = 0 AND su.del_flag_ = 0
+            <if test="search != null and search != ''">
+                AND (e.user_id_ = #{search} OR su.real_name_ LIKE CONCAT('%',#{search},'%') OR su.phone_ LIKE CONCAT('%',#{search},'%'))
+            </if>
+            <if test="organId != null and organId != ''">
+                AND INTE_ARRAY(e.organ_id_list_,#{organId})
+            </if>
+            <if test="imGroupId != null and imGroupId != ''">
+                AND e.user_id_ NOT IN (SELECT user_id_ FROM im_group_member WHERE im_group_id_ = #{imGroupId})
+            </if>
+        </where>
+    </sql>
 </mapper>

+ 22 - 14
mec-biz/src/main/resources/config/mybatis/ImGroupMapper.xml

@@ -35,6 +35,7 @@
 		<result column="subject_id_" property="subjectId" />
 		<result column="username_" property="user.username" />
 		<result column="avatar_" property="user.avatar" />
+		<result column="phone_" property="user.phone" />
 	</resultMap>
 	
 	<!-- 根据主键查询一条记录 -->
@@ -113,19 +114,23 @@
 		DELETE FROM im_group WHERE id_ = #{id} 
 	</delete>
 	<sql id="queryPageSql">
-		WHERE igm.user_id_ = #{userId}
-		<if test="search != null and search != ''">
-			AND (ig.name_ like concat('%',#{search},'%') or ig.tags_ like concat('%',#{search},'%'))
-		</if>
-		<if test="ignoreIds != null and ignoreIds != ''">
-			AND NOT FIND_IN_SET(ig.id_,#{ignoreIds})
-		</if>
-		<if test="targetIds != null and targetIds != ''">
-			AND FIND_IN_SET(ig.id_,#{targetIds})
-		</if>
-		<if test="groupType != null">
-			AND ig.group_type_ = #{groupType}
-		</if>
+		<where>
+			<if test="userId != null">
+				AND igm.user_id_ = #{userId}
+			</if>
+			<if test="search != null and search != ''">
+				AND (ig.name_ like concat('%',#{search},'%') or ig.tags_ like concat('%',#{search},'%'))
+			</if>
+			<if test="ignoreIds != null and ignoreIds != ''">
+				AND NOT FIND_IN_SET(ig.id_,#{ignoreIds})
+			</if>
+			<if test="targetIds != null and targetIds != ''">
+				AND FIND_IN_SET(ig.id_,#{targetIds})
+			</if>
+			<if test="groupType != null">
+				AND ig.group_type_ = #{groupType}
+			</if>
+		</where>
 	</sql>
 	
 	<!-- 分页查询 -->
@@ -147,7 +152,10 @@
 	<select id="queryByUserId" resultMap="ImGroup" parameterType="map">
 		SELECT ig.* FROM im_group_member igm
 		LEFT JOIN im_group ig ON igm.im_group_id_ = ig.id_
-		where igm.user_id_ = #{userId}
+		where 1 =1
+		<if test="userId != null">
+			AND igm.user_id_ = #{userId}
+		</if>
 		<if test="search != null and search != ''">
 			AND (ig.name_ like concat('%',#{search},'%') or ig.tags_ like concat('%',#{search},'%'))
 		</if>

+ 29 - 0
mec-biz/src/main/resources/config/mybatis/ImGroupMemberMapper.xml

@@ -138,4 +138,33 @@
 			#{item}
 		</foreach>
 	</select>
+	<sql id="queryGroupMemberPageSql">
+		<where>
+			<if test="imGroupId != null and imGroupId != ''">
+				AND igm.im_group_id_ = #{imGroupId}
+			</if>
+			<if test="roleType != null and roleType != ''">
+				AND igm.role_type_ = #{roleType}
+			</if>
+			<if test="search != null and search != ''">
+				AND (igm.nickname_ LIKE CONCAT('%',#{search},'%') OR igm.user_id_ = #{search} OR u.phone_ LIKE CONCAT('%',#{search},'%'))
+			</if>
+		</where>
+	</sql>
+    <select id="queryGroupMemberPage" resultMap="com.ym.mec.biz.dal.dao.ImGroupDao.ImGroupMemberDto">
+		SELECT igm.*,u.avatar_,CASE WHEN find_in_set('STUDENT',u.user_type_) THEN u.username_ ELSE u.real_name_ END username_,
+			   st.member_rank_setting_id_,s.name_ subject_name_,st.subject_id_list_ subject_id_,u.phone_
+		FROM im_group_member igm
+		LEFT JOIN sys_user u ON igm.user_id_ = u.id_
+		LEFT JOIN student st ON st.user_id_ = u.id_
+		LEFT JOIN `subject` s ON s.id_ = st.subject_id_list_
+		<include refid="queryGroupMemberPageSql"/>
+		<include refid="global.limit"/>
+	</select>
+	<select id="countGroupMember" resultType="java.lang.Integer">
+		SELECT COUNT(igm.id_)
+		FROM im_group_member igm
+		LEFT JOIN sys_user u ON igm.user_id_ = u.id_
+		<include refid="queryGroupMemberPageSql"/>
+	</select>
 </mapper>

+ 11 - 5
mec-biz/src/main/resources/config/mybatis/ImSendGroupMessageMapper.xml

@@ -20,6 +20,7 @@
 		<result column="send_flag_" property="sendFlag" />
 		<result column="send_time_" property="sendTime" />
 		<result column="operator_" property="operator" />
+		<result column="is_include_sender_" property="isIncludeSender" />
 		<result column="create_time_" property="createTime" />
 		<result column="update_time_" property="updateTime" />
 	</resultMap>
@@ -37,14 +38,18 @@
 	<!-- 向数据库增加一条记录 -->
 	<insert id="insert" parameterType="com.ym.mec.biz.dal.entity.ImSendGroupMessage" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
 		INSERT INTO im_send_group_message (message_content_,sender_id_,extra,target_ids_,file_url_,file_name_,
-		                                   file_size_,message_type_,send_flag_,send_time_,create_time_,update_time_,operator_,send_type_)
+		                                   file_size_,message_type_,send_flag_,send_time_,
+		                                   create_time_,update_time_,operator_,send_type_,is_include_sender_)
 		VALUES(#{messageContent},#{senderId},#{extra},#{targetIds},#{fileUrl},#{fileName},#{fileSize},
-		       #{messageType},#{sendFlag},#{sendTime},NOW(),NOW(),#{operator},#{sendType})
+		       #{messageType},#{sendFlag},#{sendTime},NOW(),NOW(),#{operator},#{sendType},#{isIncludeSender})
 	</insert>
 	
 	<!-- 根据主键查询一条记录 -->
 	<update id="update" parameterType="com.ym.mec.biz.dal.entity.ImSendGroupMessage">
 		UPDATE im_send_group_message <set>
+			<if test="isIncludeSender != null">
+				is_include_sender_ = #{isIncludeSender},
+			</if>
 			<if test="sendType != null">
 				send_type_ = #{sendType},
 			</if>
@@ -78,12 +83,10 @@
 			<if test="extra != null">
 			extra = #{extra},
 			</if>
-			<if test="updateTime != null">
-				update_time_ = #{updateTime},
-			</if>
 			<if test="fileUrl != null and fileUrl != ''">
 				file_url_ = #{fileUrl},
 			</if>
+			update_time_ = NOW()
 			</set> WHERE id_ = #{id}
 	</update>
 	<update id="batchUpdateSendFlag">
@@ -108,6 +111,9 @@
 			<if test="sendType != null">
 				AND send_type_ = #{sendType}
 			</if>
+			<if test="isIncludeSender != null">
+				AND is_include_sender_ = #{isIncludeSender}
+			</if>
 		</where>
 	</sql>
 	

+ 43 - 0
mec-biz/src/main/resources/config/mybatis/StudentMapper.xml

@@ -1420,4 +1420,47 @@
         SELECT su.id_,su.phone_,su.username_,su.birthdate_,su.gender_,su.user_type_,su.tenant_id_
         FROM sys_user su WHERE su.phone_ = #{mobile} LIMIT 1
     </select>
+
+    <resultMap id="SysUserDto" type="com.ym.mec.biz.dal.dto.SysUserDto">
+        <result property="userId" column="user_id_"/>
+        <result property="username" column="username_"/>
+        <result property="phone" column="phone_"/>
+        <result property="organName" column="organ_name_"/>
+        <result property="subjectName" column="subject_name_"/>
+    </resultMap>
+    <select id="countStudentBasicInfo" resultType="java.lang.Integer">
+        SELECT COUNT(s.user_id_) FROM student s
+        LEFT JOIN sys_user su ON su.id_ = s.user_id_
+        LEFT JOIN student_registration sr ON sr.user_id_ = s.user_id_
+        <include refid="queryStudentBasicInfoSql"/>
+    </select>
+    <select id="queryStudentBasicInfo" resultMap="SysUserDto">
+        SELECT s.user_id_,su.username_,su.phone_,o.name_ organ_name_,sb.name_ subject_name_ FROM student s
+        LEFT JOIN sys_user su ON su.id_ = s.user_id_
+        LEFT JOIN organization o ON o.id_ = su.organ_id_
+        LEFT JOIN `subject` sb ON sb.id_ = s.subject_id_list_
+        LEFT JOIN student_registration sr ON sr.user_id_ = s.user_id_
+        <include refid="queryStudentBasicInfoSql"/>
+        <include refid="global.limit"/>
+    </select>
+    <sql id="queryStudentBasicInfoSql">
+        <where>
+            AND su.lock_flag_ = 0 AND su.del_flag_ = 0
+            <if test="search != null and search != ''">
+                AND (s.user_id_ = #{search} OR su.username_ LIKE CONCAT('%',#{search},'%') OR su.phone_ LIKE CONCAT('%',#{search},'%'))
+            </if>
+            <if test="organId != null and organId != ''">
+                AND FIND_IN_SET(su.organ_id_,#{organId})
+            </if>
+            <if test="subjectId != null">
+                AND s.subject_id_list_ = #{subjectId}
+            </if>
+            <if test="musicGroupId != null and musicGroupId != ''">
+                AND sr.music_group_id_ = #{musicGroupId}
+            </if>
+            <if test="imGroupId != null and imGroupId != ''">
+                AND s.user_id_ NOT IN (SELECT user_id_ FROM im_group_member WHERE im_group_id_ = #{imGroupId})
+            </if>
+        </where>
+    </sql>
 </mapper>

+ 33 - 1
mec-biz/src/main/resources/config/mybatis/TeacherMapper.xml

@@ -1428,7 +1428,7 @@
         from teacher tea
         LEFT JOIN sys_user su ON su.id_=tea.id_
         <include refid="queryMemberStudentDataCondition"></include>
-        <include refid="global.limit"></include>
+        <include refid="global.limit"/>
     </select>
     <select id="getSimpleUser" resultType="com.ym.mec.biz.dal.dto.SimpleUserDto">
         SELECT
@@ -1440,4 +1440,36 @@
             su.tenant_id_ tenantId
         FROM sys_user su WHERE su.id_ = #{userId}
     </select>
+    <select id="countTeacherBasicInfo" resultType="java.lang.Integer">
+        SELECT COUNT(t.id_)
+        FROM teacher t
+        LEFT JOIN sys_user su ON su.id_ = t.id_
+        <include refid="queryTeacherBasicInfoSql"/>
+    </select>
+    <select id="queryTeacherBasicInfo" resultMap="com.ym.mec.biz.dal.dao.StudentDao.SysUserDto">
+        SELECT t.id_ user_id_,su.real_name_ username_,su.phone_,o.name_ organ_name_,sb.name_ subject_name_
+        FROM teacher t
+        LEFT JOIN sys_user su ON su.id_ = t.id_
+        LEFT JOIN organization o ON o.id_ = t.organ_id_
+        LEFT JOIN `subject` sb ON sb.id_ = t.subject_id_
+        <include refid="queryTeacherBasicInfoSql"/>
+        <include refid="global.limit"/>
+    </select>
+    <sql id="queryTeacherBasicInfoSql">
+        <where>
+            AND t.demission_date_ IS NULL AND su.lock_flag_ = 0 AND su.del_flag_ = 0
+            <if test="search != null and search != ''">
+                AND (t.id_ = #{search} OR su.real_name_ LIKE CONCAT('%',#{search},'%') OR su.phone_ LIKE CONCAT('%',#{search},'%'))
+            </if>
+            <if test="organId != null">
+                AND t.organ_id_ = #{organId}
+            </if>
+            <if test="subjectId != null">
+                AND FIND_IN_SET(#{subjectId},t.subject_id_)
+            </if>
+            <if test="imGroupId != null and imGroupId != ''">
+                AND s.user_id_ NOT IN (SELECT user_id_ FROM im_group_member WHERE im_group_id_ = #{imGroupId})
+            </if>
+        </where>
+    </sql>
 </mapper>

+ 10 - 0
mec-common/common-core/src/main/java/com/ym/mec/common/entity/ImMessageDto.java

@@ -19,6 +19,16 @@ public class ImMessageDto {
 
     private String senderId;
 
+    private Integer isIncludeSender = 1;
+
+    public Integer getIsIncludeSender() {
+        return isIncludeSender;
+    }
+
+    public void setIsIncludeSender(Integer isIncludeSender) {
+        this.isIncludeSender = isIncludeSender;
+    }
+
     public String getObjectName() {
         return objectName;
     }

+ 1 - 1
mec-im/src/main/java/com/ym/controller/GroupController.java

@@ -56,7 +56,7 @@ public class GroupController{
         }
         groupMessage.setSenderId(imMessageDto.getSenderId());
         groupMessage.setObjectName(imMessageDto.getObjectName());
-        groupMessage.setIsIncludeSender(1);
+        groupMessage.setIsIncludeSender(imMessageDto.getIsIncludeSender());
         //融云只支持3个群以内的群发
         String[] targetIds = imMessageDto.getTargetIds();
         List<String> imGroupIds = Arrays.stream(targetIds).collect(Collectors.toList());

+ 2 - 2
mec-teacher/src/main/java/com/ym/mec/teacher/controller/ImGroupController.java

@@ -6,7 +6,7 @@ import com.ym.mec.biz.dal.page.ImGroupNoticeQueryInfo;
 import com.ym.mec.biz.service.ImGroupNoticeService;
 import com.ym.mec.biz.service.ImGroupService;
 import com.ym.mec.biz.service.ImUserFriendService;
-import com.ym.mec.biz.service.UserLoginService;
+import com.ym.mec.biz.service.SysUserService;
 import com.ym.mec.common.controller.BaseController;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -33,7 +33,7 @@ public class ImGroupController extends BaseController {
 	private ImGroupNoticeService imGroupNoticeService;
 
 	@Autowired
-	private UserLoginService userLoginService;
+	private SysUserService userLoginService;
 
 	@ApiOperation("查询群列表")
 	@GetMapping(value = "/queryGroupList")

+ 20 - 20
mec-web/src/main/java/com/ym/mec/web/controller/EmployeeController.java

@@ -1,25 +1,5 @@
 package com.ym.mec.web.controller;
 
-import com.alibaba.fastjson.JSONObject;
-import com.ym.mec.biz.dal.dao.TeacherDao;
-import com.ym.mec.common.exception.BizException;
-import com.ym.mec.common.tenant.TenantContextHolder;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-
-import java.util.Date;
-import java.util.List;
-import java.util.stream.Collectors;
-
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.EmployeeDao;
@@ -28,12 +8,24 @@ import com.ym.mec.biz.dal.dto.SysEmployeePositionDto;
 import com.ym.mec.biz.dal.entity.Employee;
 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.biz.service.EmployeeService;
 import com.ym.mec.biz.service.OrganizationService;
 import com.ym.mec.biz.service.StudentManageService;
 import com.ym.mec.biz.service.SysEmployeePositionService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
+import com.ym.mec.common.tenant.TenantContextHolder;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Date;
+import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * @Author Joburgess
@@ -57,6 +49,14 @@ public class EmployeeController extends BaseController {
     @Autowired
     private SysEmployeePositionService sysEmployeePositionService;
 
+    @ApiOperation(value = "获取员工列表(基本信息)")
+    @GetMapping("/queryEmployeeBasicInfo")
+    @PreAuthorize("@pcs.hasPermissions('employee/queryEmployeeBasicInfo')")
+    public Object queryEmployeeBasicInfo(UserBasicQueryInfo queryInfo){
+        queryInfo.setOrganId(organizationService.getEmployeeOrgan(queryInfo.getOrganId()));
+        return succeed(employeeService.queryEmployeeBasicInfo(queryInfo));
+    }
+
     @ApiOperation(value = "根据部门获取下面的员工")
     @GetMapping("/queryEmployByOrganId")
     @PreAuthorize("@pcs.hasPermissions('employee/queryEmployByOrganId')")

+ 26 - 21
mec-web/src/main/java/com/ym/mec/web/controller/ImGroupController.java

@@ -1,18 +1,16 @@
 package com.ym.mec.web.controller;
 
-import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.biz.dal.dto.ImGroupDto;
 import com.ym.mec.biz.dal.dto.ImGroupMemberDto;
 import com.ym.mec.biz.dal.dto.ImUserFriendDto;
 import com.ym.mec.biz.dal.entity.ImGroup;
 import com.ym.mec.biz.dal.page.ImGroupNoticeQueryInfo;
-import com.ym.mec.biz.service.ImGroupMemberService;
-import com.ym.mec.biz.service.ImGroupNoticeService;
-import com.ym.mec.biz.service.ImGroupService;
-import com.ym.mec.biz.service.ImUserFriendService;
+import com.ym.mec.biz.dal.page.ImGroupQueryInfo;
+import com.ym.mec.biz.service.*;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
-import com.ym.mec.common.exception.BizException;
+import com.ym.mec.common.page.PageInfo;
 import com.yonge.log.model.AuditLogAnnotation;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
@@ -25,7 +23,6 @@ import org.springframework.web.bind.annotation.*;
 import java.util.Arrays;
 import java.util.Date;
 import java.util.List;
-import java.util.Optional;
 import java.util.stream.Collectors;
 
 @RequestMapping("imGroup")
@@ -46,14 +43,18 @@ public class ImGroupController extends BaseController {
 	private ImGroupNoticeService imGroupNoticeService;
 
 	@Autowired
-	private SysUserFeignService sysUserFeignService;
+	private SysUserService sysUserService;
 
 	@ApiOperation("查询群列表")
 	@GetMapping(value = "/queryGroupList")
 	public HttpResponseResult<List<ImGroup>> queryGroupList(String search,String groupType) {
-		Integer userId = Optional.ofNullable(sysUserFeignService.queryUserInfo()).map(SysUser::getId).
-				orElseThrow(() -> new BizException("请登录"));
-		return succeed(imGroupService.queryByUserId(userId, search,groupType));
+		return succeed(imGroupService.queryByUserId(sysUserService.getUserId(), search,groupType));
+	}
+
+	@ApiOperation("创建群聊")
+	@PostMapping(value = "/createGroup")
+	public HttpResponseResult queryGroupList(@RequestBody ImGroupDto imGroupDto) {
+		return succeed(imGroupService.createGroup(imGroupDto));
 	}
 
 	@ApiOperation("查询群详情")
@@ -101,12 +102,11 @@ public class ImGroupController extends BaseController {
 	@ApiOperation("查询好友详情")
 	@GetMapping(value = "/queryFriendDetail")
 	public HttpResponseResult<ImUserFriendDto> queryFriendDetail(Integer userId) {
-		Integer currentUserId = Optional.ofNullable(sysUserFeignService.queryUserInfo()).map(SysUser::getId).
-				orElseThrow(() -> new BizException("请登录"));
+		Integer currentUserId = sysUserService.getUserId();
 		ImUserFriendDto dto = imUserFriendService.queryFriendDetail(currentUserId, userId);
 		if (dto == null) {
 			dto = new ImUserFriendDto();
-			SysUser user = sysUserFeignService.queryUserById(userId);
+			SysUser user = sysUserService.queryUserById(userId);
 			dto.setFriend(user);
 			//这里由原来的优先取老师的realName改成了优先取学员的username,
 			// 因为管理员在修改通讯录备注的时候,如果是多角色,优先改的是学员的username
@@ -123,17 +123,13 @@ public class ImGroupController extends BaseController {
 	@ApiOperation("查询好友列表")
 	@GetMapping(value = "/queryFriendList")
 	public HttpResponseResult<List<ImUserFriendDto>> queryFriendList(String search) {
-		Integer userId = Optional.ofNullable(sysUserFeignService.queryUserInfo()).map(SysUser::getId).
-				orElseThrow(() -> new BizException("请登录"));
-		return succeed(imUserFriendService.queryFriendListByUserId(userId, search));
+		return succeed(imUserFriendService.queryFriendListByUserId(sysUserService.getUserId(), search));
 	}
 
 	@ApiOperation("查询好友中的学生列表")
 	@GetMapping(value = "/queryFriendStudentList")
 	public HttpResponseResult<List<ImUserFriendDto>> queryFriendStudentList(String search) {
-		Integer userId = Optional.ofNullable(sysUserFeignService.queryUserInfo()).map(SysUser::getId).
-				orElseThrow(() -> new BizException("请登录"));
-		return succeed(imUserFriendService.queryFriendListByUserId(userId, search).stream().filter(e -> StringUtils.isBlank(e.getTags()))
+		return succeed(imUserFriendService.queryFriendListByUserId(sysUserService.getUserId(), search).stream().filter(e -> StringUtils.isBlank(e.getTags()))
 				.collect(Collectors.toList()));
 	}
 
@@ -143,7 +139,7 @@ public class ImGroupController extends BaseController {
 		return succeed(imGroupNoticeService.queryPage(queryInfo));
 	}
 
-	@ApiOperation("添加群成员")
+	@ApiOperation("添加群成员(单个用户)")
 	@PostMapping(value = "/addGroupMember")
 	@ApiImplicitParams({ @ApiImplicitParam(name = "imGroupId", value = "群编号", required = true, dataType = "String"),
 			@ApiImplicitParam(name = "roleType", value = "指导老师,乐队指导,乐团主管,运营主管,学员不传", required = true, dataType = "String"),
@@ -163,6 +159,15 @@ public class ImGroupController extends BaseController {
 		return succeed(imGroupMemberService.quit(imGroupId,userIds));
 	}
 
+	@ApiOperation("解散群")
+	@PostMapping(value = "/dismissGroup")
+	@AuditLogAnnotation(operateName = "解散群",interfaceURL = "imGroup/dismissGroup")
+	@ApiImplicitParams({ @ApiImplicitParam(name = "imGroupId", value = "群编号", required = true, dataType = "String")})
+	public Object dismissGroup(String imGroupId) {
+		imGroupService.dismissGroup(imGroupId);
+		return succeed();
+	}
+
 	@ApiOperation("修改角色")
 	@PostMapping(value = "/updateRoleType")
 	@ApiImplicitParams({ @ApiImplicitParam(name = "imGroupId", value = "群编号", required = true, dataType = "String"),

+ 42 - 0
mec-web/src/main/java/com/ym/mec/web/controller/ImGroupMemberController.java

@@ -0,0 +1,42 @@
+package com.ym.mec.web.controller;
+
+import com.ym.mec.biz.dal.dto.ImGroupMemberDto;
+import com.ym.mec.biz.dal.page.GroupMemberQueryInfo;
+import com.ym.mec.biz.service.ImGroupMemberService;
+import com.ym.mec.common.controller.BaseController;
+import com.ym.mec.common.entity.HttpResponseResult;
+import com.ym.mec.common.page.PageInfo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RequestMapping("imGroupMember")
+@Api(tags = "IM群成员服务")
+@RestController
+public class ImGroupMemberController extends BaseController {
+
+	@Autowired
+	private ImGroupMemberService imGroupMemberService;
+
+	@ApiOperation("分页查询群成员列表")
+	@PostMapping(value = "/queryGroupMemberPage")
+	public HttpResponseResult<PageInfo<ImGroupMemberDto>> queryGroupMemberPage(GroupMemberQueryInfo queryInfo) {
+		return succeed(imGroupMemberService.queryGroupMemberPage(queryInfo));
+	}
+
+	@ApiOperation("添加群成员")
+	@PostMapping(value = "/addGroupMember")
+	@ApiImplicitParams({ @ApiImplicitParam(name = "imGroupId", value = "群编号", required = true, dataType = "String"),
+			@ApiImplicitParam(name = "roleType", value = "指导老师,乐队指导,乐团主管,运营主管,学员不传", required = true, dataType = "String"),
+			@ApiImplicitParam(name = "userId", value = "用户编号(多个逗号分割)", required = true, dataType = "String")})
+	public Object addGroupMember(String imGroupId, String userId, String roleType) {
+		imGroupMemberService.batchJoin(imGroupId,userId,roleType);
+		return succeed();
+	}
+}

+ 24 - 0
mec-web/src/main/java/com/ym/mec/web/controller/ImSendGroupMessageController.java

@@ -102,6 +102,30 @@ public class ImSendGroupMessageController extends BaseController {
         return succeed(imGroupService.queryPage(imGroupQueryInfo));
     }
 
+    @ApiOperation("查询群列表(所有群,没有在消息列表的,用于发送群系统消息)")
+    @PostMapping(value = "/queryGroupAll")
+    @PreAuthorize("@pcs.hasPermissions('imSendGroupMessage/queryGroupAll')")
+    public HttpResponseResult<PageInfo<ImGroup>> queryGroupAll(ImGroupQueryInfo imGroupQueryInfo) throws Exception {
+        if(imGroupQueryInfo.getImSendGroupMessageId() != null){
+            ImSendGroupMessage imSendGroupMessage = Optional.ofNullable(imSendGroupMessageService.get(imGroupQueryInfo.getImSendGroupMessageId())).
+                    orElseThrow(()->new BizException("消息不存在"));
+            imGroupQueryInfo.setIgnoreIds(imSendGroupMessage.getTargetIds());
+        }
+        return succeed(imGroupService.queryPage(imGroupQueryInfo));
+    }
+
+    @ApiOperation("查询群列表(所有群,在消息列表的,用于发送群系统消息)")
+    @PostMapping(value = "/queryGroupAll1")
+    @PreAuthorize("@pcs.hasPermissions('imSendGroupMessage/queryGroupAll1')")
+    public HttpResponseResult<PageInfo<ImGroup>> queryGroupAll1(ImGroupQueryInfo imGroupQueryInfo) throws Exception {
+        if(imGroupQueryInfo.getImSendGroupMessageId() != null){
+            ImSendGroupMessage imSendGroupMessage = Optional.ofNullable(imSendGroupMessageService.get(imGroupQueryInfo.getImSendGroupMessageId())).
+                    orElseThrow(()->new BizException("消息不存在"));
+            imGroupQueryInfo.setTargetIds(imSendGroupMessage.getTargetIds());
+        }
+        return succeed(imGroupService.queryPage(imGroupQueryInfo));
+    }
+
     @ApiOperation("查询群列表(在消息列表的)")
     @PostMapping(value = "/queryGroupPage1")
     @PreAuthorize("@pcs.hasPermissions('imSendGroupMessage/queryGroupPage1')")

+ 21 - 82
mec-web/src/main/java/com/ym/mec/web/controller/StudentManageController.java

@@ -1,24 +1,17 @@
 package com.ym.mec.web.controller;
 
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiImplicitParam;
-import io.swagger.annotations.ApiImplicitParams;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiParam;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
-
+import com.ym.mec.biz.dal.dto.*;
+import com.ym.mec.biz.dal.entity.Organization;
+import com.ym.mec.biz.dal.entity.Student;
+import com.ym.mec.biz.dal.page.*;
+import com.ym.mec.biz.service.*;
+import com.ym.mec.common.controller.BaseController;
+import com.ym.mec.common.entity.HttpResponseResult;
+import com.ym.mec.common.exception.BizException;
+import com.ym.mec.common.page.PageInfo;
+import com.ym.mec.common.page.QueryInfo;
+import io.swagger.annotations.*;
 import org.apache.commons.lang3.StringUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.util.CollectionUtils;
@@ -27,40 +20,8 @@ import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
-import com.ym.mec.auth.api.client.SysUserFeignService;
-import com.ym.mec.auth.api.entity.SysUser;
-import com.ym.mec.biz.dal.dto.ActivityCourseDetailDto;
-import com.ym.mec.biz.dal.dto.CloudStudyStudentDataDto;
-import com.ym.mec.biz.dal.dto.EduOrganStudentDataDto;
-import com.ym.mec.biz.dal.dto.IndexCloudStudyListDto;
-import com.ym.mec.biz.dal.dto.StatDto;
-import com.ym.mec.biz.dal.dto.UpdateStudentFeeDto;
-import com.ym.mec.biz.dal.entity.Organization;
-import com.ym.mec.biz.dal.entity.Student;
-import com.ym.mec.biz.dal.page.CloudTeacherActiveQueryInfo;
-import com.ym.mec.biz.dal.page.MusicGroupStudentQueryInfo;
-import com.ym.mec.biz.dal.page.OrganCloudStudyStudentDataQueryInfo;
-import com.ym.mec.biz.dal.page.StudentActivityQueryInfo;
-import com.ym.mec.biz.dal.page.StudentErrorLeaveQueryInfo;
-import com.ym.mec.biz.dal.page.StudentManageAttendanceQueryInfo;
-import com.ym.mec.biz.dal.page.StudentManageCourseQueryInfo;
-import com.ym.mec.biz.dal.page.StudentManageQueryInfo;
-import com.ym.mec.biz.dal.page.StudentManageVipClassQueryInfo;
-import com.ym.mec.biz.dal.page.StudentOperatingQueryInfo;
-import com.ym.mec.biz.dal.page.StudentQueryInfo;
-import com.ym.mec.biz.dal.page.StudentSignQueryInfo;
-import com.ym.mec.biz.dal.page.TeacherPaymentRecordInfo;
-import com.ym.mec.biz.service.MusicGroupStudentFeeService;
-import com.ym.mec.biz.service.OrganizationService;
-import com.ym.mec.biz.service.StudentCourseHomeworkService;
-import com.ym.mec.biz.service.StudentManageService;
-import com.ym.mec.biz.service.StudentRegistrationService;
-import com.ym.mec.biz.service.StudentService;
-import com.ym.mec.common.controller.BaseController;
-import com.ym.mec.common.entity.HttpResponseResult;
-import com.ym.mec.common.exception.BizException;
-import com.ym.mec.common.page.PageInfo;
-import com.ym.mec.common.page.QueryInfo;
+import java.util.*;
+import java.util.stream.Collectors;
 
 @Api(tags = "学生管理")
 @RestController
@@ -70,8 +31,6 @@ public class StudentManageController extends BaseController {
     @Autowired
     private StudentManageService studentManageService;
     @Autowired
-    private SysUserFeignService sysUserFeignService;
-    @Autowired
     private StudentRegistrationService studentRegistrationService;
     @Autowired
     private MusicGroupStudentFeeService musicGroupStudentFeeService;
@@ -82,8 +41,6 @@ public class StudentManageController extends BaseController {
     @Autowired
     private StudentService studentService;
 
-    private final Logger LOGGER = LoggerFactory.getLogger(this.getClass());
-
     @ApiOperation(value = "获取学生请假异常列表")
     @GetMapping("/queryStudentErrorLeaveList")
     @PreAuthorize("@pcs.hasPermissions('studentManage/queryStudentErrorLeaveList')")
@@ -116,6 +73,14 @@ public class StudentManageController extends BaseController {
         return succeed(studentManageService.queryStudent(queryInfo));
     }
 
+    @ApiOperation(value = "获取学生列表(基本信息)")
+    @GetMapping("/queryStudentBasicInfo")
+    @PreAuthorize("@pcs.hasPermissions('studentManage/queryStudentBasicInfo')")
+    public Object queryStudentBasicInfo(UserBasicQueryInfo queryInfo){
+        queryInfo.setOrganId(organizationService.getEmployeeOrgan(queryInfo.getOrganId()));
+        return succeed(studentService.queryStudentBasicInfo(queryInfo));
+    }
+
     @ApiOperation(value = "获取61活动学生列表")
     @GetMapping("/queryChildrenDayStudentList")
     @PreAuthorize("@pcs.hasPermissions('studentManage/queryChildrenDayStudentList')")
@@ -128,10 +93,6 @@ public class StudentManageController extends BaseController {
     @PostMapping("/updateChildrenDayStudent")
     @PreAuthorize("@pcs.hasPermissions('studentManage/updateChildrenDayStudent')")
     public Object updateChildrenDayStudent(ActivityCourseDetailDto activityCourseDetailDto){
-        SysUser sysUser = sysUserFeignService.queryUserInfo();
-        if (sysUser == null) {
-            return failed("用户信息获取失败");
-        }
         studentManageService.updateChildrenDayStudent(activityCourseDetailDto);
         return succeed();
     }
@@ -289,11 +250,6 @@ public class StudentManageController extends BaseController {
     @PostMapping(value = "/updateStudentFee")
     @PreAuthorize("@pcs.hasPermissions('studentManage/updateStudentFee')")
     public Object updateStudentFee(UpdateStudentFeeDto studentFeeDto) {
-        SysUser sysUser = sysUserFeignService.queryUserInfo();
-        if(sysUser == null){
-            throw new BizException("用户信息获取失败");
-        }
-        LOGGER.info("修改学员缴费金额和缴费周期,user:{},参数:{}",sysUser.getId(),studentFeeDto);
         musicGroupStudentFeeService.updateStudentFee(studentFeeDto);
         return succeed();
     }
@@ -305,11 +261,6 @@ public class StudentManageController extends BaseController {
     @PostMapping(value = "/updateStudentFeeIsLock")
     @PreAuthorize("@pcs.hasPermissions('studentManage/updateStudentFeeIsLock')")
     public Object updateStudentFeeIsLock(UpdateStudentFeeDto studentFeeDto) {
-        SysUser sysUser = sysUserFeignService.queryUserInfo();
-        if(sysUser == null){
-            throw new BizException("用户信息获取失败");
-        }
-        LOGGER.info("修改学员缴费周期锁定状态,user:{},参数:{}",sysUser.getId(),studentFeeDto);
         musicGroupStudentFeeService.updateStudentFeeIsLock(studentFeeDto);
         return succeed();
     }
@@ -324,10 +275,6 @@ public class StudentManageController extends BaseController {
         if(studentId == null || StringUtils.isEmpty(musicGroupId)){
             throw new BizException("参数校验异常");
         }
-        SysUser sysUser = sysUserFeignService.queryUserInfo();
-        if(sysUser == null){
-            throw new BizException("用户信息获取失败");
-        }
         return succeed(musicGroupStudentFeeService.findByUser(studentId,musicGroupId));
     }
 
@@ -338,10 +285,6 @@ public class StudentManageController extends BaseController {
     @GetMapping(value = "/findStudentCourseHomeworks")
     @PreAuthorize("@pcs.hasPermissions('studentManage/findStudentCourseHomeworks')")
     public Object findStudentCourseHomeworks(QueryInfo queryInfo) {
-        SysUser sysUser = sysUserFeignService.queryUserInfo();
-        if(sysUser == null){
-            throw new BizException("用户信息获取失败");
-        }
         return succeed(studentCourseHomeworkService.findStudentCourseHomeworks(queryInfo));
     }
 
@@ -352,10 +295,6 @@ public class StudentManageController extends BaseController {
     @GetMapping(value = "/sumStudentAttendance")
     @PreAuthorize("@pcs.hasPermissions('studentManage/sumStudentAttendance')")
     public Object sumStudentAttendance(Integer courseScheduleId) {
-        SysUser sysUser = sysUserFeignService.queryUserInfo();
-        if(sysUser == null){
-            throw new BizException("用户信息获取失败");
-        }
         return succeed(studentManageService.sumStudentAttendance(courseScheduleId));
     }
 

+ 8 - 0
mec-web/src/main/java/com/ym/mec/web/controller/TeacherController.java

@@ -31,6 +31,14 @@ public class TeacherController extends BaseController {
     @Autowired
     private ClassGroupService classGroupService;
 
+    @ApiOperation(value = "获取老师列表(基本信息)")
+    @GetMapping("/queryTeacherBasicInfo")
+    @PreAuthorize("@pcs.hasPermissions('teacher/queryTeacherBasicInfo')")
+    public Object queryTeacherBasicInfo(UserBasicQueryInfo queryInfo){
+        queryInfo.setOrganId(organizationService.getEmployeeOrgan(queryInfo.getOrganId()));
+        return succeed(teacherService.queryTeacherBasicInfo(queryInfo));
+    }
+
     @ApiOperation(value = "新增教师")
     @PostMapping("/add")
     @PreAuthorize("@pcs.hasPermissions('teacher/add')")