Browse Source

新增更新学员老师关联关系定时任务

zouxuan 2 years ago
parent
commit
4c13ad532e

+ 0 - 17
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ClassGroupStudentMapperDao.java

@@ -55,15 +55,6 @@ public interface ClassGroupStudentMapperDao extends BaseDAO<Long, ClassGroupStud
     ClassGroupStudentMapper findClassGroupStudent(@Param("classGroupId") Integer classGroupId, @Param("userId") Integer userId);
 
     /**
-     * 根据乐团编号删除指定学生
-     *
-     * @param musicGroupId 乐团编号
-     * @param userId       学生编号
-     * @return
-     */
-    int deleteStudentByMusicGroupId(@Param("musicGroupId") String musicGroupId, @Param("userId") Integer userId);
-
-    /**
      * 根据班级编号删除关联
      *
      * @param classGroupId
@@ -92,14 +83,6 @@ public interface ClassGroupStudentMapperDao extends BaseDAO<Long, ClassGroupStud
     int deleteByGroupWithLogic(@Param("groupId") String groupId,
                                @Param("groupType") GroupType groupType);
 
-    /**
-     * @return int
-     * @Author: Joburgess
-     * @Date: 2019/10/17
-     * @params [classGroupId, userId]
-     * @describe 删除班级上的指定学生
-     */
-    int deleteStudentByClassGroupId(@Param("classGroupId") Long classGroupId, @Param("userId") Long userId);
 
     /**
      * @return int

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

@@ -26,4 +26,8 @@ public interface StudentTeacherMapperDao extends BaseDAO<Integer, StudentTeacher
     * @date 2022/11/15 15:02
     */
     List<Integer> queryStudentIds(@Param("teacherId") Integer teacherId, @Param("teacherType") String teacherType);
+
+    void delAll();
+
+    void create();
 }

+ 12 - 13
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/StudentTeacherMapper.java

@@ -7,18 +7,25 @@ import org.apache.commons.lang3.builder.ToStringBuilder;
  */
 public class StudentTeacherMapper {
 
+	private Integer id;
+
 	/**  */
 	private Integer studentId;
 	
 	/**  */
 	private Integer teacherId;
 	
-	/** 老师姓名 */
-	private String teacherName;
-	
 	/** 老师类型SINGLE|MIX|VIP|PRACTICE */
 	private String teacherType;
-	
+
+	public Integer getId() {
+		return id;
+	}
+
+	public void setId(Integer id) {
+		this.id = id;
+	}
+
 	public void setStudentId(Integer studentId){
 		this.studentId = studentId;
 	}
@@ -34,15 +41,7 @@ public class StudentTeacherMapper {
 	public Integer getTeacherId(){
 		return this.teacherId;
 	}
-			
-	public void setTeacherName(String teacherName){
-		this.teacherName = teacherName;
-	}
-	
-	public String getTeacherName(){
-		return this.teacherName;
-	}
-			
+
 	public void setTeacherType(String teacherType){
 		this.teacherType = teacherType;
 	}

+ 2 - 14
mec-biz/src/main/java/com/ym/mec/biz/dal/page/StudentManageQueryInfo.java

@@ -1,12 +1,11 @@
 package com.ym.mec.biz.dal.page;
 
+import com.ym.mec.biz.dal.enums.ClassGroupStudentStatusEnum;
+import com.ym.mec.common.page.QueryInfo;
 import io.swagger.annotations.ApiModelProperty;
 
 import java.util.List;
 
-import com.ym.mec.biz.dal.enums.ClassGroupStudentStatusEnum;
-import com.ym.mec.common.page.QueryInfo;
-
 /**
  * @Author Joburgess
  * @Date 2019/9/19
@@ -49,9 +48,6 @@ public class StudentManageQueryInfo extends QueryInfo {
     //是否有会员
     private Integer hasMember;
 
-    //是否有指导老师
-    private Integer hasTeacher;
-
     //是否使用过云教练
     private Integer isRecord;
 
@@ -73,14 +69,6 @@ public class StudentManageQueryInfo extends QueryInfo {
         this.isRecord = isRecord;
     }
 
-    public Integer getHasTeacher() {
-        return hasTeacher;
-    }
-
-    public void setHasTeacher(Integer hasTeacher) {
-        this.hasTeacher = hasTeacher;
-    }
-
     public Integer getHasMember() {
         return hasMember;
     }

+ 1 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/StudentTeacherMapperService.java

@@ -5,4 +5,5 @@ import com.ym.mec.common.service.BaseService;
 
 public interface StudentTeacherMapperService extends BaseService<Integer, StudentTeacherMapper>{
 
+    void init();
 }

+ 8 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentTeacherMapperServiceImpl.java

@@ -1,13 +1,13 @@
 package com.ym.mec.biz.service.impl;
 
 import com.ym.mec.biz.dal.dao.StudentTeacherMapperDao;
-import com.ym.mec.biz.dal.entity.StudentStatistics;
 import com.ym.mec.biz.dal.entity.StudentTeacherMapper;
 import com.ym.mec.biz.service.StudentTeacherMapperService;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 @Service
 public class StudentTeacherMapperServiceImpl extends BaseServiceImpl<Integer,StudentTeacherMapper> implements StudentTeacherMapperService{
@@ -19,4 +19,11 @@ public class StudentTeacherMapperServiceImpl extends BaseServiceImpl<Integer,Stu
     public BaseDAO<Integer, StudentTeacherMapper> getDAO() {
         return studentTeacherMapperDao;
     }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void init() {
+        studentTeacherMapperDao.delAll();
+        studentTeacherMapperDao.create();
+    }
 }

+ 0 - 9
mec-biz/src/main/resources/config/mybatis/ClassGroupStudentMapperMapper.xml

@@ -251,15 +251,6 @@
             AND su.id_ IS NOT NULL
     </select>
 
-    <update id="deleteStudentByMusicGroupId" parameterType="map">
-        update class_group_student_mapper set status_ = 'QUIT',update_time_ = NOW()
-        where class_group_id_ in (select id_ from class_group where music_group_id_ = #{musicGroupId}) and user_id_ = #{userId}
-    </update>
-
-    <update id="deleteStudentByClassGroupId">
-        update class_group_student_mapper set status_ = 'QUIT',update_time_ = NOW()
-        WHERE class_group_id_=#{classGroupId} AND user_id_=#{userId}
-    </update>
 
     <update id="deleteByClassGroupIdAndStudents">
         update class_group_student_mapper set status_ = 'QUIT',update_time_ = NOW()

+ 2 - 12
mec-biz/src/main/resources/config/mybatis/StudentManageDao.xml

@@ -149,8 +149,7 @@
 
     <select id="findStudentsByOrganId" resultMap="studentManageListDto">
         SELECT o.`name_` organ_name_,o.grade_type_,s.`user_id_`,s.repair_flag_ ,su.`username_` ,su.`phone_` parents_phone_,s.ext_subject_ids_,
-        sut.name_ real_name_,su.`gender_` , su.organ_id_,su.avatar_,
-		tu.`real_name_` teacher_name_,CASE s.service_tag_ WHEN 2 THEN 0 ELSE s.service_tag_ END service_tag_ ,s.`operating_tag_` ,
+        sut.name_ real_name_,su.`gender_` , su.organ_id_,su.avatar_,CASE s.service_tag_ WHEN 2 THEN 0 ELSE s.service_tag_ END service_tag_ ,s.`operating_tag_` ,
         s.care_package_, s.come_on_package_, suca.`course_balance_` ,suca.balance_,
 		sub.`name_` music_group_subject_ ,su.birthdate_,s.subject_id_list_,s.teacher_id_,s.current_grade_num_,s.current_class_,s.member_rank_setting_id_,
         CASE WHEN su.password_ IS NULL THEN FALSE ELSE TRUE END isActive_,s.is_new_user_,
@@ -160,7 +159,6 @@
         smcr.user_id_ record_user_id_
 		FROM `student` s LEFT JOIN `sys_user` su ON s.`user_id_` = su.`id_`
 		LEFT JOIN `organization` o ON o.`id_` = su.`organ_id_`
-		LEFT JOIN `sys_user` tu ON tu.`id_` = s.`teacher_id_`
 		LEFT JOIN `sys_user_cash_account` suca ON suca.`user_id_` = s.`user_id_`
 		LEFT JOIN `subject` sub ON sub.id_ = s.`subject_id_list_`
 		LEFT JOIN sys_user_tsign sut ON sut.user_id_ = s.user_id_
@@ -216,14 +214,6 @@
                     AND s.service_tag_ = 1
                 </if>
             </if>
-            <if test="hasTeacher != null">
-                <if test="hasTeacher == 0">
-                    AND s.teacher_id_ IS NULL
-                </if>
-                <if test="hasTeacher == 1">
-                    AND s.teacher_id_ IS NOT NULL
-                </if>
-            </if>
             <if test="hasMember != null">
                 <if test="hasMember == 0">
                     AND s.member_rank_setting_id_ IS NULL
@@ -236,7 +226,7 @@
                 </if>
             </if>
             <if test="teacherId != null">
-                AND s.teacher_id_ = #{teacherId}
+                AND s.user_id_ IN (select distinct student_id_ from student_teacher_mapper where teacher_id_ = #{teacherId})
             </if>
             <if test="isNewUser != null">
                 AND s.is_new_user_ = #{isNewUser}

+ 12 - 22
mec-biz/src/main/resources/config/mybatis/StudentTeacherMapperMapper.xml

@@ -9,31 +9,21 @@
 	<resultMap type="com.ym.mec.biz.dal.entity.StudentTeacherMapper" id="StudentTeacherMapper">
 		<result column="student_id_" property="studentId" />
 		<result column="teacher_id_" property="teacherId" />
-		<result column="teacher_name_" property="teacherName" />
+		<result column="id_" property="id" />
 		<result column="teacher_type_" property="teacherType" />
 	</resultMap>
-	
-	
-	<!-- 全查询 -->
-	<select id="findAll" resultMap="StudentTeacherMapper">
-		SELECT * FROM student_teacher_mapper
-	</select>
-	
-	<!-- 向数据库增加一条记录 -->
-	<insert id="insert" parameterType="com.ym.mec.biz.dal.entity.StudentTeacherMapper" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
-		INSERT INTO student_teacher_mapper (student_id_,teacher_id_,teacher_name_,teacher_type_)
-		VALUES(#{studentId},#{teacherId},#{teacherName},#{teacherType})
+	<delete id="delAll">
+		DELETE FROM student_teacher_mapper
+	</delete>
+
+	<insert id="create">
+		insert into student_teacher_mapper (student_id_, teacher_id_, teacher_type_)
+		select distinct cgsm.user_id_ student_id_,cgtm.user_id_ teacher_id_,cg.type_ teacher_type_ from class_group cg
+		left join class_group_teacher_mapper cgtm ON cg.id_ = cgtm.class_group_id_
+		left join class_group_student_mapper cgsm ON cgsm.class_group_id_ = cg.id_
+		where cg.del_flag_ = 0 AND cg.type_ IN ('MIX','NORMAL','VIP','PRACTICE') AND cgsm.status_ != 'QUIT';
 	</insert>
-	
-	<!-- 分页查询 -->
-	<select id="queryPage" resultMap="StudentTeacherMapper" parameterType="map">
-		SELECT * FROM student_teacher_mapper <include refid="global.limit"/>
-	</select>
-	
-	<!-- 查询当前表的总记录数 -->
-	<select id="queryCount" resultType="int">
-		SELECT COUNT(*) FROM student_teacher_mapper
-	</select>
+
     <select id="queryTeacherIds" resultType="java.lang.Integer">
 		select distinct stm.teacher_id_ from student_teacher_mapper stm
 		where stm.student_id_ = #{studentId}

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

@@ -1251,8 +1251,6 @@
         SELECT cssp.user_id_ FROM practice_group pg
         LEFT JOIN course_schedule_student_payment cssp ON pg.id_ = cssp.music_group_id_
         WHERE pg.educational_teacher_id_ = #{teacherId} AND cssp.group_type_ = 'PRACTICE'
-        UNION ALL
-        SELECT s.user_id_ FROM student s WHERE s.teacher_id_ = #{teacherId}
     </select>
     <select id="queryCourseClassTeacherIds" resultType="java.lang.Integer">
         SELECT csts.user_id_ FROM music_group mg

+ 3 - 0
mec-client-api/src/main/java/com/ym/mec/task/TaskRemoteService.java

@@ -284,4 +284,7 @@ public interface TaskRemoteService {
 
     @GetMapping("task/findAllWaitVisit")
     void findAllWaitVisit();
+
+    @GetMapping("task/updateStudentTeacherMapper")
+    void updateStudentTeacherMapper();
 }

+ 5 - 0
mec-client-api/src/main/java/com/ym/mec/task/fallback/TaskRemoteServiceFallback.java

@@ -329,4 +329,9 @@ public class TaskRemoteServiceFallback implements TaskRemoteService {
     public void findAllWaitVisit() {
         logger.error("查询所有学员并生成未回访记录失败");
     }
+
+    @Override
+    public void updateStudentTeacherMapper() {
+        logger.error("更新学员老师关联关系");
+    }
 }

+ 19 - 0
mec-task/src/main/java/com/ym/mec/task/jobs/UpdateStudentTeacherMapperTask.java

@@ -0,0 +1,19 @@
+package com.ym.mec.task.jobs;
+
+import com.ym.mec.task.TaskRemoteService;
+import com.ym.mec.task.core.BaseTask;
+import com.ym.mec.task.core.TaskException;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class UpdateStudentTeacherMapperTask extends BaseTask {
+
+	@Autowired
+	private TaskRemoteService taskRemoteService;
+
+	@Override
+	public void execute() throws TaskException {
+		taskRemoteService.updateStudentTeacherMapper();
+	}
+}

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

@@ -122,6 +122,14 @@ public class TaskController extends BaseController {
     private OperatingReportNewService operatingReportNewService;
     @Autowired
     private CooperationShareProfitService cooperationShareProfitService;
+    @Autowired
+    private StudentTeacherMapperService studentTeacherMapperService;
+
+	//每月经营报表
+	@GetMapping(value = "/updateStudentTeacherMapper")
+	public void updateStudentTeacherMapper(){
+		studentTeacherMapperService.init();
+	}
 
 	//每月经营报表
 	@GetMapping(value = "/operatingReportMonth")