Explorar o código

Merge remote-tracking branch 'origin/master'

周箭河 %!s(int64=5) %!d(string=hai) anos
pai
achega
0ece6df570

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

@@ -85,10 +85,10 @@ public interface MusicGroupDao extends BaseDAO<String, MusicGroup> {
 
 
     /**
     /**
      * 获取当前乐团所有教师列表
      * 获取当前乐团所有教师列表
-     * @param id
+     * @param musicGroupId
      * @return
      * @return
      */
      */
-    Set<Integer> queryTeacherIds(String id);
+    Set<Integer> queryTeacherIds(String musicGroupId);
 
 
     /**
     /**
      * 根据乐团编号列表获取乐团在读人数map
      * 根据乐团编号列表获取乐团在读人数map

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/Teacher.java

@@ -56,6 +56,9 @@ public class Teacher extends SysUser {
 	/** 专业技能(支持多个,用|分隔),对应科目表编号 */
 	/** 专业技能(支持多个,用|分隔),对应科目表编号 */
 	private List<String> subjectName;
 	private List<String> subjectName;
 
 
+	/** 专业技能(支持多个,用|分隔),对应科目表编号 */
+	private String splitSubjectName;
+
 	/** 入职时间 */
 	/** 入职时间 */
 	@ApiModelProperty(value = "入职时间", required = false)
 	@ApiModelProperty(value = "入职时间", required = false)
 	private java.util.Date entryDate;
 	private java.util.Date entryDate;
@@ -90,6 +93,14 @@ public class Teacher extends SysUser {
 
 
 	private List<School> teacherSchools;
 	private List<School> teacherSchools;
 
 
+	public String getSplitSubjectName() {
+		return splitSubjectName;
+	}
+
+	public void setSplitSubjectName(String splitSubjectName) {
+		this.splitSubjectName = splitSubjectName;
+	}
+
 	public String getFlowOrganRangeId() {
 	public String getFlowOrganRangeId() {
 		return flowOrganRangeId;
 		return flowOrganRangeId;
 	}
 	}

+ 7 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -446,10 +446,13 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
             //获取乐团群用户总数map
             //获取乐团群用户总数map
             List<Map<String, BigDecimal>> musicGroupUserNums = musicGroupDao.countMusicGroupUserNum(musicGroupIds);
             List<Map<String, BigDecimal>> musicGroupUserNums = musicGroupDao.countMusicGroupUserNum(musicGroupIds);
             Map<String, BigDecimal> musicGroupUserNumMap = MapUtil.convertMybatisMap(musicGroupUserNums);
             Map<String, BigDecimal> musicGroupUserNumMap = MapUtil.convertMybatisMap(musicGroupUserNums);
-            imGroupModels.forEach(e -> {
-                MusicGroup musicGroup = musicGroups.stream().filter(mg -> mg.getId().equals(e.getId())).findFirst().get();
+            MusicGroup musicGroup;
+            Set<Integer> teachers;
+            for (ImGroupModel e:imGroupModels) {
+                teachers = e.getName() == null?new HashSet<>():new HashSet(Arrays.asList(e.getName().split(",")));
+                musicGroup = musicGroups.stream().filter(mg -> mg.getId().equals(e.getId())).findFirst().get();
                 //获取教学老师id列表
                 //获取教学老师id列表
-                Set<Integer> teachers = musicGroupDao.queryTeacherIds(e.getId());
+//                Set<Integer> teachers = musicGroupDao.queryTeacherIds(e.getId());
                 teachers.add(musicGroup.getTeamTeacherId());
                 teachers.add(musicGroup.getTeamTeacherId());
                 teachers.add(musicGroup.getEducationalTeacherId());
                 teachers.add(musicGroup.getEducationalTeacherId());
                 teachers.add(musicGroup.getOperatorUserId());
                 teachers.add(musicGroup.getOperatorUserId());
@@ -459,7 +462,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                 BigDecimal count = musicGroupUserNumMap.get(e.getId());
                 BigDecimal count = musicGroupUserNumMap.get(e.getId());
                 e.setCount(count == null ? 0 : count.intValue() + teachers.size());
                 e.setCount(count == null ? 0 : count.intValue() + teachers.size());
                 e.setId("mg" + e.getId());
                 e.setId("mg" + e.getId());
-            });
+            }
         } else {
         } else {
             imGroupModels = new ArrayList<>();
             imGroupModels = new ArrayList<>();
         }
         }

+ 4 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherServiceImpl.java

@@ -17,7 +17,6 @@ import com.ym.mec.biz.dal.page.MusicGroupTeacherAttendanceQueryInfo;
 import com.ym.mec.biz.dal.page.TeacherCloseQueryInfo;
 import com.ym.mec.biz.dal.page.TeacherCloseQueryInfo;
 import com.ym.mec.biz.dal.page.TeacherQueryInfo;
 import com.ym.mec.biz.dal.page.TeacherQueryInfo;
 import com.ym.mec.biz.service.ContractService;
 import com.ym.mec.biz.service.ContractService;
-import com.ym.mec.biz.service.SysUserTsignService;
 import com.ym.mec.biz.service.TeacherService;
 import com.ym.mec.biz.service.TeacherService;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.entity.ImGroupModel;
 import com.ym.mec.common.entity.ImGroupModel;
@@ -134,9 +133,10 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher>  imple
 			List<Map<String, BigDecimal>> musicGroupUserNums = musicGroupDao.countMusicGroupUserNum(musicGroupIds);
 			List<Map<String, BigDecimal>> musicGroupUserNums = musicGroupDao.countMusicGroupUserNum(musicGroupIds);
 			Map<String, BigDecimal> musicGroupUserNumMap = MapUtil.convertMybatisMap(musicGroupUserNums);
 			Map<String, BigDecimal> musicGroupUserNumMap = MapUtil.convertMybatisMap(musicGroupUserNums);
 			imGroupModels.forEach(e -> {
 			imGroupModels.forEach(e -> {
+				Set<Integer> teachers = e.getName() == null?new HashSet<>():new HashSet(Arrays.asList(e.getName().split(",")));
 				MusicGroup musicGroup = musicGroups.stream().filter(mg -> mg.getId().equals(e.getId())).findFirst().get();
 				MusicGroup musicGroup = musicGroups.stream().filter(mg -> mg.getId().equals(e.getId())).findFirst().get();
 				//获取教学老师id列表
 				//获取教学老师id列表
-				Set<Integer> teachers = musicGroupDao.queryTeacherIds(e.getId());
+//				Set<Integer> teachers = musicGroupDao.queryTeacherIds(e.getId());
 				teachers.add(musicGroup.getTeamTeacherId());
 				teachers.add(musicGroup.getTeamTeacherId());
 				teachers.add(musicGroup.getEducationalTeacherId());
 				teachers.add(musicGroup.getEducationalTeacherId());
 				teachers.add(musicGroup.getOperatorUserId());
 				teachers.add(musicGroup.getOperatorUserId());
@@ -286,7 +286,8 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher>  imple
 			List<Map<Integer,Long>> demoNumList =  demoGroupDao.countTeacherDemoGroupNum(teacherIds);
 			List<Map<Integer,Long>> demoNumList =  demoGroupDao.countTeacherDemoGroupNum(teacherIds);
 			Map<Integer,Long> demoNumMap = MapUtil.convertMybatisMap(demoNumList);
 			Map<Integer,Long> demoNumMap = MapUtil.convertMybatisMap(demoNumList);
 			rows.forEach(e->{
 			rows.forEach(e->{
-				e.setSubjectName(subjectDao.findBySubIds(e.getSubjectId()));
+//				e.setSubjectName(subjectDao.findBySubIds(e.getSubjectId()));
+				e.setSubjectName(Arrays.asList(e.getSplitSubjectName().split(",")));
 				Long num = vipNumMap.get(e.getId());
 				Long num = vipNumMap.get(e.getId());
 				e.setVipNum(num == null?0:num.intValue());
 				e.setVipNum(num == null?0:num.intValue());
 				Long demoNum = demoNumMap.get(e.getId());
 				Long demoNum = demoNumMap.get(e.getId());

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

@@ -268,6 +268,7 @@
         <result column="name_" property="name"/>
         <result column="name_" property="name"/>
         <result column="student_num_" property="count"/>
         <result column="student_num_" property="count"/>
         <result column="img_" property="img"/>
         <result column="img_" property="img"/>
+        <result column="teacher_ids_" property="teacherIds"/>
     </resultMap>
     </resultMap>
     <select id="queryUserGroups" resultMap="imGroupModel">
     <select id="queryUserGroups" resultMap="imGroupModel">
         SELECT cg.id_,cg.name_,cg.student_num_,cg.img_ FROM class_group_student_mapper cgsm
         SELECT cg.id_,cg.name_,cg.student_num_,cg.img_ FROM class_group_student_mapper cgsm

+ 8 - 3
mec-biz/src/main/resources/config/mybatis/MusicGroupMapper.xml

@@ -248,17 +248,22 @@
 		WHERE cg.music_group_id_ = #{musicGroupId} GROUP BY su.id_
 		WHERE cg.music_group_id_ = #{musicGroupId} GROUP BY su.id_
 	</select>
 	</select>
 	<select id="queryTeacherGroups" resultMap="com.ym.mec.biz.dal.dao.ClassGroupDao.imGroupModel">
 	<select id="queryTeacherGroups" resultMap="com.ym.mec.biz.dal.dao.ClassGroupDao.imGroupModel">
-		SELECT mg.id_,mg.name_,mg.img_ FROM music_group mg
-		WHERE (team_teacher_id_ = #{userId} OR educational_teacher_id_ = #{userId} OR operator_user_id_ = #{userId} OR director_user_id_ = #{userId})
+		SELECT mg.id_,mg.name_,mg.img_,GROUP_CONCAT(DISTINCT cgtm.user_id_) teacher_ids_
+		FROM music_group mg
+		LEFT JOIN class_group cg ON mg.id_ = cg.music_group_id_
+		LEFT JOIN class_group_teacher_mapper cgtm ON cg.id_ = cgtm.class_group_id_
+		WHERE (team_teacher_id_ = #{userId} OR educational_teacher_id_ = #{userId}
+		OR operator_user_id_ = #{userId} OR director_user_id_ = #{userId})
 		<if test="search != null and search != ''">
 		<if test="search != null and search != ''">
 			AND mg.name_ LIKE CONCAT('%',#{search},'%')
 			AND mg.name_ LIKE CONCAT('%',#{search},'%')
 		</if>
 		</if>
+		GROUP BY mg.id_
 	</select>
 	</select>
 
 
 	<select id="queryTeacherIds" resultType="java.lang.Integer">
 	<select id="queryTeacherIds" resultType="java.lang.Integer">
 		SELECT DISTINCT cgtm.user_id_ FROM class_group cg
 		SELECT DISTINCT cgtm.user_id_ FROM class_group cg
 		LEFT JOIN class_group_teacher_mapper cgtm ON cg.id_ = cgtm.class_group_id_
 		LEFT JOIN class_group_teacher_mapper cgtm ON cg.id_ = cgtm.class_group_id_
-		WHERE cg.music_group_id_ = #{id}
+		WHERE cg.music_group_id_ = #{musicGroupId}
 	</select>
 	</select>
     <select id="countPayNum" resultType="java.util.Map" parameterType="list">
     <select id="countPayNum" resultType="java.util.Map" parameterType="list">
 		SELECT cg.music_group_id_ `key`,COUNT(cgsm.id_) `value` FROM class_group cg
 		SELECT cg.music_group_id_ `key`,COUNT(cgsm.id_) `value` FROM class_group cg

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

@@ -44,7 +44,7 @@
         <result column="birthdate_" property="birthdate"/>
         <result column="birthdate_" property="birthdate"/>
         <result column="email_" property="email"/>
         <result column="email_" property="email"/>
         <result column="im_token_" property="imToken"/>
         <result column="im_token_" property="imToken"/>
-        <collection property="subjectName" ofType="string" column="subject_name_"/>
+        <result column="subject_name_" property="splitSubjectName"/>
     </resultMap>
     </resultMap>
 
 
     <!-- 根据主键查询一条记录 -->
     <!-- 根据主键查询一条记录 -->
@@ -198,10 +198,13 @@
 
 
     <!-- 分页查询 -->
     <!-- 分页查询 -->
     <select id="queryPage" resultMap="Teacher" parameterType="map">
     <select id="queryPage" resultMap="Teacher" parameterType="map">
-        SELECT t.id_,su.real_name_,su.lock_flag_,t.subject_id_,su.phone_,su.organ_id_,t.job_nature_,t.is_probation_period_
+        SELECT t.id_,su.real_name_,su.lock_flag_,t.subject_id_,su.phone_,su.organ_id_,
+        t.job_nature_,t.is_probation_period_,GROUP_CONCAT(s.name_) subject_name_
         FROM teacher t LEFT JOIN sys_user su ON t.id_ = su.id_
         FROM teacher t LEFT JOIN sys_user su ON t.id_ = su.id_
+        LEFT JOIN `subject` s ON FIND_IN_SET(s.id_,t.subject_id_)
         WHERE su.user_type_ LIKE '%TEACHER%' AND su.del_flag_ = 0
         WHERE su.user_type_ LIKE '%TEACHER%' AND su.del_flag_ = 0
         <include refid="queryPageMap"/>
         <include refid="queryPageMap"/>
+        GROUP BY t.id_
         <include refid="global.limit"/>
         <include refid="global.limit"/>
     </select>
     </select>
 
 

+ 9 - 0
mec-common/common-core/src/main/java/com/ym/mec/common/entity/ImGroupModel.java

@@ -7,6 +7,7 @@ public class ImGroupModel {
     private ImGroupMember[] members;
     private ImGroupMember[] members;
     //群名称
     //群名称
     private String name;
     private String name;
+    private String teacherIds;
     private String img;
     private String img;
     private Integer minute;
     private Integer minute;
     private Integer count;
     private Integer count;
@@ -26,6 +27,14 @@ public class ImGroupModel {
         this.name = name;
         this.name = name;
     }
     }
 
 
+    public String getTeacherIds() {
+        return teacherIds;
+    }
+
+    public void setTeacherIds(String teacherIds) {
+        this.teacherIds = teacherIds;
+    }
+
     public Integer getCount() {
     public Integer getCount() {
         return count;
         return count;
     }
     }