Prechádzať zdrojové kódy

老师通讯录
学员通讯录
学生端活动购买,给指导老师发送短信的逻辑
学员基本信息修改,去掉指导老师
定时任务updateStudentTeacherAndSubject不再更新指导老师
服务指标列表、导出。修改字段指导老师为服务老师

zouxuan 2 rokov pred
rodič
commit
e4f61273d4

+ 0 - 10
mec-auth/mec-auth-api/src/main/java/com/ym/mec/auth/api/entity/SysUser.java

@@ -123,8 +123,6 @@ public class SysUser extends BaseEntity implements Serializable{
 
 
 	private Integer operatingTag;
 	private Integer operatingTag;
 
 
-	private Integer teacherId;
-
 	@ApiModelProperty(value = "用户角色",required = false)
 	@ApiModelProperty(value = "用户角色",required = false)
 	private List<Integer> roles;
 	private List<Integer> roles;
 
 
@@ -422,14 +420,6 @@ public class SysUser extends BaseEntity implements Serializable{
 		this.isSuperAdmin = isSuperAdmin;
 		this.isSuperAdmin = isSuperAdmin;
 	}
 	}
 
 
-	public Integer getTeacherId() {
-		return teacherId;
-	}
-
-	public void setTeacherId(Integer teacherId) {
-		this.teacherId = teacherId;
-	}
-
 	public List<Integer> getRoles() {
 	public List<Integer> getRoles() {
 		return roles;
 		return roles;
 	}
 	}

+ 12 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentTeacherMapperDao.java

@@ -2,8 +2,19 @@ package com.ym.mec.biz.dal.dao;
 
 
 import com.ym.mec.biz.dal.entity.StudentTeacherMapper;
 import com.ym.mec.biz.dal.entity.StudentTeacherMapper;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.dal.BaseDAO;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 
 public interface StudentTeacherMapperDao extends BaseDAO<Integer, StudentTeacherMapper> {
 public interface StudentTeacherMapperDao extends BaseDAO<Integer, StudentTeacherMapper> {
 
 
-	
+
+    /**
+    * @description: 获取学员关联的所有老师
+     * @param studentId
+    * @return java.util.List<java.lang.Integer>
+    * @author zx
+    * @date 2022/11/15 10:33
+    */
+    List<Integer> queryTeacherIds(@Param("studentId") Integer studentId, @Param("teacherType") String teacherType);
 }
 }

+ 2 - 24
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/Student.java

@@ -1,15 +1,13 @@
 package com.ym.mec.biz.dal.entity;
 package com.ym.mec.biz.dal.entity;
 
 
+import com.ym.mec.auth.api.entity.SysUser;
 import io.swagger.annotations.ApiModelProperty;
 import io.swagger.annotations.ApiModelProperty;
+import org.apache.commons.lang3.builder.ToStringBuilder;
 
 
 import java.util.Date;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Map;
 
 
-import org.apache.commons.lang3.builder.ToStringBuilder;
-
-import com.ym.mec.auth.api.entity.SysUser;
-
 /**
 /**
  * 对应数据库表(student):
  * 对应数据库表(student):
  */
  */
@@ -36,16 +34,12 @@ public class Student extends SysUser {
 
 
 	private Integer operatingTempTag;
 	private Integer operatingTempTag;
 
 
-	private Integer teacherId;
-	
 	/**  */
 	/**  */
 	private java.util.Date createTime;
 	private java.util.Date createTime;
 	
 	
 	/**  */
 	/**  */
 	private java.util.Date updateTime;
 	private java.util.Date updateTime;
 
 
-	private String teacherName;
-
 	private Boolean isNewUser;
 	private Boolean isNewUser;
 
 
 	@ApiModelProperty(value = "关心包:0:默认不可用;1:可用;2:已使用;")
 	@ApiModelProperty(value = "关心包:0:默认不可用;1:可用;2:已使用;")
@@ -232,14 +226,6 @@ public class Student extends SysUser {
 		this.operatingTempTag = operatingTempTag;
 		this.operatingTempTag = operatingTempTag;
 	}
 	}
 
 
-	public Integer getTeacherId() {
-		return teacherId;
-	}
-
-	public void setTeacherId(Integer teacherId) {
-		this.teacherId = teacherId;
-	}
-
 	public Integer getCarePackage() {
 	public Integer getCarePackage() {
 		return carePackage;
 		return carePackage;
 	}
 	}
@@ -261,14 +247,6 @@ public class Student extends SysUser {
 		return ToStringBuilder.reflectionToString(this);
 		return ToStringBuilder.reflectionToString(this);
 	}
 	}
 
 
-	public String getTeacherName() {
-		return teacherName;
-	}
-
-	public void setTeacherName(String teacherName) {
-		this.teacherName = teacherName;
-	}
-
 	public Integer getCurrentGradeNum() {
 	public Integer getCurrentGradeNum() {
 		return currentGradeNum;
 		return currentGradeNum;
 	}
 	}

+ 3 - 6
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -92,7 +92,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
     @Autowired
     @Autowired
     private MusicGroupSubjectPlanDao musicGroupSubjectPlanDao;
     private MusicGroupSubjectPlanDao musicGroupSubjectPlanDao;
     @Autowired
     @Autowired
-    private MusicGroupSubjectPlanService musicGroupSubjectPlanService;
+    private StudentTeacherMapperDao studentTeacherMapperDao;
     @Autowired
     @Autowired
     private MusicGroupBuildLogDao musicGroupBuildLogDao;
     private MusicGroupBuildLogDao musicGroupBuildLogDao;
     @Autowired
     @Autowired
@@ -1747,11 +1747,8 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         teacherIds.addAll(teacherDao.findVipEducationalTeacherId(studentId));
         teacherIds.addAll(teacherDao.findVipEducationalTeacherId(studentId));
         //获取对外课程务老师
         //获取对外课程务老师
         teacherIds.addAll(teacherDao.findCommEducationalTeacherId(studentId));
         teacherIds.addAll(teacherDao.findCommEducationalTeacherId(studentId));
-        //获取关联的指导老师
-        Student student = studentService.get(studentId);
-        if (student != null && student.getTeacherId() != null) {
-            teacherIds.add(student.getTeacherId());
-        }
+        //获取学员关联的老师
+        teacherIds.addAll(studentTeacherMapperDao.queryTeacherIds(studentId,null));
         if (teacherIds.size() > 0) {
         if (teacherIds.size() > 0) {
             return teacherDao.queryTeacherBaseInfo(teacherIds, search);
             return teacherDao.queryTeacherBaseInfo(teacherIds, search);
         }
         }

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

@@ -734,7 +734,6 @@ public class StudentManageServiceImpl implements StudentManageService {
         student.setOperatingTag(student.getOperatingTag());
         student.setOperatingTag(student.getOperatingTag());
         student.setOperatingTempTag(0);
         student.setOperatingTempTag(0);
         student.setServiceTag(student.getServiceTag() == 0 ? 2 : 1);
         student.setServiceTag(student.getServiceTag() == 0 ? 2 : 1);
-        student.setTeacherId(student.getTeacherId());
         // 同步更新机构手机号 如果它存在
         // 同步更新机构手机号 如果它存在
         SysUser user = teacherDao.getUser(student.getId());
         SysUser user = teacherDao.getUser(student.getId());
         tenantInfoService.updatePhone(student.getPhone(), user.getPhone());
         tenantInfoService.updatePhone(student.getPhone(), user.getPhone());

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

@@ -258,7 +258,6 @@ public class StudentServiceImpl extends BaseServiceImpl<Integer, Student> implem
             if (!CollectionUtils.isEmpty(practiceCourses)) {
             if (!CollectionUtils.isEmpty(practiceCourses)) {
                 practiceCourses.sort(Comparator.comparing(StudentTeacherCourseDto::getClassesStartTime).reversed());
                 practiceCourses.sort(Comparator.comparing(StudentTeacherCourseDto::getClassesStartTime).reversed());
                 Student student = new Student(studentCoursesEntry.getKey());
                 Student student = new Student(studentCoursesEntry.getKey());
-                student.setTeacherId(practiceCourses.get(0).getTeacherId());
                 students.add(student);
                 students.add(student);
                 continue;
                 continue;
             }
             }
@@ -267,7 +266,6 @@ public class StudentServiceImpl extends BaseServiceImpl<Integer, Student> implem
             if (!CollectionUtils.isEmpty(vipCourses)) {
             if (!CollectionUtils.isEmpty(vipCourses)) {
                 Student student = new Student(studentCoursesEntry.getKey());
                 Student student = new Student(studentCoursesEntry.getKey());
                 vipCourses.sort(Comparator.comparing(StudentTeacherCourseDto::getClassesStartTime).reversed());
                 vipCourses.sort(Comparator.comparing(StudentTeacherCourseDto::getClassesStartTime).reversed());
-                student.setTeacherId(vipCourses.get(0).getTeacherId());
                 students.add(student);
                 students.add(student);
                 continue;
                 continue;
             }
             }
@@ -276,7 +274,6 @@ public class StudentServiceImpl extends BaseServiceImpl<Integer, Student> implem
             if (!CollectionUtils.isEmpty(singleCourses)) {
             if (!CollectionUtils.isEmpty(singleCourses)) {
                 Student student = new Student(studentCoursesEntry.getKey());
                 Student student = new Student(studentCoursesEntry.getKey());
                 singleCourses.sort(Comparator.comparing(StudentTeacherCourseDto::getClassesStartTime).reversed());
                 singleCourses.sort(Comparator.comparing(StudentTeacherCourseDto::getClassesStartTime).reversed());
-                student.setTeacherId(singleCourses.get(0).getTeacherId());
                 students.add(student);
                 students.add(student);
                 continue;
                 continue;
             }
             }
@@ -285,7 +282,6 @@ public class StudentServiceImpl extends BaseServiceImpl<Integer, Student> implem
             if (!CollectionUtils.isEmpty(mixCourses)) {
             if (!CollectionUtils.isEmpty(mixCourses)) {
                 Student student = new Student(studentCoursesEntry.getKey());
                 Student student = new Student(studentCoursesEntry.getKey());
                 mixCourses.sort(Comparator.comparing(StudentTeacherCourseDto::getClassesStartTime).reversed());
                 mixCourses.sort(Comparator.comparing(StudentTeacherCourseDto::getClassesStartTime).reversed());
-                student.setTeacherId(mixCourses.get(0).getTeacherId());
                 students.add(student);
                 students.add(student);
                 continue;
                 continue;
             }
             }
@@ -346,7 +342,7 @@ public class StudentServiceImpl extends BaseServiceImpl<Integer, Student> implem
         if (CollectionUtils.isEmpty(studentClassInfo)) {
         if (CollectionUtils.isEmpty(studentClassInfo)) {
             return;
             return;
         }
         }
-        //更新学员指导老师和声部信息
+        //更新学员声部信息
         List<Student> needUpdateStudents = new ArrayList<>();
         List<Student> needUpdateStudents = new ArrayList<>();
         Map<Integer, List<StudentClassInfoDto>> scm = studentClassInfo.stream().collect(Collectors.groupingBy(StudentClassInfoDto::getStudentId));
         Map<Integer, List<StudentClassInfoDto>> scm = studentClassInfo.stream().collect(Collectors.groupingBy(StudentClassInfoDto::getStudentId));
         for (Student student : noTeacherOrNoSubjectStudent) {
         for (Student student : noTeacherOrNoSubjectStudent) {
@@ -355,9 +351,9 @@ public class StudentServiceImpl extends BaseServiceImpl<Integer, Student> implem
             }
             }
             List<StudentClassInfoDto> studentClassInfoDtos = scm.get(student.getUserId());
             List<StudentClassInfoDto> studentClassInfoDtos = scm.get(student.getUserId());
             StudentClassInfoDto studentClassInfoDto = studentClassInfoDtos.stream().max(Comparator.comparing(StudentClassInfoDto::getClassGroupId)).get();
             StudentClassInfoDto studentClassInfoDto = studentClassInfoDtos.stream().max(Comparator.comparing(StudentClassInfoDto::getClassGroupId)).get();
-            if (Objects.isNull(student.getTeacherId())) {
-                student.setTeacherId(studentClassInfoDto.getMainTeacherId());
-            }
+//            if (Objects.isNull(student.getTeacherId())) {
+//                student.setTeacherId(studentClassInfoDto.getMainTeacherId());
+//            }
             if (StringUtils.isBlank(student.getSubjectIdList())) {
             if (StringUtils.isBlank(student.getSubjectIdList())) {
                 student.setSubjectIdList(studentClassInfoDto.getSubjectId().toString());
                 student.setSubjectIdList(studentClassInfoDto.getSubjectId().toString());
             }
             }

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

@@ -83,7 +83,7 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher> implem
     @Autowired
     @Autowired
     private RedisTemplate<String, String> redisTemplate;
     private RedisTemplate<String, String> redisTemplate;
     @Autowired
     @Autowired
-    private CloudTeacherDao cloudTeacherDao;
+    private StudentTeacherMapperDao studentTeacherMapperDao;
     @Autowired
     @Autowired
     private TenantInfoService tenantInfoService;
     private TenantInfoService tenantInfoService;
     @Autowired
     @Autowired
@@ -341,15 +341,11 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher> implem
         teacherIds.addAll(teacherDao.findVipEducationalTeacherId(teacherId));
         teacherIds.addAll(teacherDao.findVipEducationalTeacherId(teacherId));
         //获取对外课程务老师
         //获取对外课程务老师
         teacherIds.addAll(teacherDao.findCommEducationalTeacherId(teacherId));
         teacherIds.addAll(teacherDao.findCommEducationalTeacherId(teacherId));
-        //获取关联的指导老师
-        Student student = studentDao.get(teacherId);
-        if (student != null && student.getTeacherId() != null) {
-            teacherIds.add(student.getTeacherId());
-        }
+        //获取关联的老师
+        teacherIds.addAll(studentTeacherMapperDao.queryTeacherIds(teacherId,null));
         if (teacherIds.size() > 0) {
         if (teacherIds.size() > 0) {
             basicUserDtos.addAll(teacherDao.queryTeacherBaseInfo(teacherIds, search));
             basicUserDtos.addAll(teacherDao.queryTeacherBaseInfo(teacherIds, search));
         }
         }
-
         //获取关联的学员列表
         //获取关联的学员列表
         Set<Integer> studentIds = teacherDao.queryCourseClassStudentIds(teacherId);
         Set<Integer> studentIds = teacherDao.queryCourseClassStudentIds(teacherId);
         //获取关联的老师列表
         //获取关联的老师列表

+ 12 - 6
mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupActivityServiceImpl.java

@@ -92,6 +92,8 @@ public class VipGroupActivityServiceImpl extends BaseServiceImpl<Integer, VipGro
 	private LuckDrawCountService luckDrawCountService;
 	private LuckDrawCountService luckDrawCountService;
 	@Autowired
 	@Autowired
 	private TempBuyDoubleElevenUserLogDao tempBuyDoubleElevenUserLogDao;
 	private TempBuyDoubleElevenUserLogDao tempBuyDoubleElevenUserLogDao;
+	@Autowired
+	private StudentTeacherMapperDao studentTeacherMapperDao;
     @Autowired
     @Autowired
     @Lazy
     @Lazy
     private ContractService contractService;
     private ContractService contractService;
@@ -868,12 +870,16 @@ public class VipGroupActivityServiceImpl extends BaseServiceImpl<Integer, VipGro
 					sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.PUSH_SYSTEM_ACTIVITY_COURSE,
 					sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.PUSH_SYSTEM_ACTIVITY_COURSE,
 							eduMap, null, 0, null, "SYSTEM", username, activityName);
 							eduMap, null, 0, null, "SYSTEM", username, activityName);
 				}
 				}
-				Student student = studentDao.get(userId);
-				if (Objects.nonNull(student) && student.getTeacherId() != null) {
-					Map<Integer, String> teacherMap = new HashMap<>(1);
-					teacherMap.put(student.getTeacherId(), student.getTeacherId().toString());
-					sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.PUSH_TEACHER_ACTIVITY_COURSE,
-							teacherMap, null, 0, null, "TEACHER", username, activityName);
+				if(studentPaymentOrder.getType() == OrderTypeEnum.SMALL_CLASS_TO_BUY
+						|| studentPaymentOrder.getType() == OrderTypeEnum.PRACTICE_GROUP_BUY
+						|| studentPaymentOrder.getType() == OrderTypeEnum.PRACTICE_GROUP_RENEW){
+					List<Integer> teacherIds = studentTeacherMapperDao.queryTeacherIds(userId, studentPaymentOrder.getType() == OrderTypeEnum.SMALL_CLASS_TO_BUY ? "VIP" : "PRACTICE");
+					if(!CollectionUtils.isEmpty(teacherIds)){
+						Map<Integer, String> teacherMap = new HashMap<>(teacherIds.size());
+						teacherIds.stream().forEach(e->teacherMap.put(e,e.toString()));
+						sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.PUSH_TEACHER_ACTIVITY_COURSE,
+								teacherMap, null, 0, null, "TEACHER", username, activityName);
+					}
 				}
 				}
 			}else {
 			}else {
 				SysUser user = teacherDao.getUser(userId);
 				SysUser user = teacherDao.getUser(userId);

+ 3 - 2
mec-biz/src/main/resources/config/mybatis/StudentMapper.xml

@@ -685,11 +685,12 @@
         </foreach>
         </foreach>
     </select>
     </select>
     <select id="getNoTeacherOrNoSubjectStudent" resultMap="Student">
     <select id="getNoTeacherOrNoSubjectStudent" resultMap="Student">
-        SELECT * FROM student WHERE teacher_id_ IS NULL OR subject_id_list_ IS NULL OR cooperation_organ_id_ IS NULL limit 0,1000;
+        SELECT * FROM student WHERE subject_id_list_ IS NULL OR cooperation_organ_id_ IS NULL limit 0,1000;
     </select>
     </select>
 
 
     <select id="getHasVipCourseStudentIdsFromNewStudents" resultType="int">
     <select id="getHasVipCourseStudentIdsFromNewStudents" resultType="int">
-        SELECT DISTINCT(spo.user_id_) from student_payment_order spo LEFT JOIN student s on spo.user_id_ = s.user_id_ WHERE spo.type_ in ('DOUBLE_ELEVEN2021','DOUBLE_ELEVEN2020','SMALL_CLASS_TO_BUY')
+        SELECT DISTINCT(spo.user_id_) from student_payment_order spo LEFT JOIN student s on spo.user_id_ = s.user_id_
+        WHERE spo.type_ in ('DOUBLE_ELEVEN2021','DOUBLE_ELEVEN2020','SMALL_CLASS_TO_BUY')
 		and spo.status_ = 'SUCCESS' and spo.expect_amount_ > 0 and s.is_new_user_ = 1
 		and spo.status_ = 'SUCCESS' and spo.expect_amount_ > 0 and s.is_new_user_ = 1
     </select>
     </select>
     
     

+ 7 - 0
mec-biz/src/main/resources/config/mybatis/StudentTeacherMapperMapper.xml

@@ -36,4 +36,11 @@
 	<select id="queryCount" resultType="int">
 	<select id="queryCount" resultType="int">
 		SELECT COUNT(*) FROM student_teacher_mapper
 		SELECT COUNT(*) FROM student_teacher_mapper
 	</select>
 	</select>
+    <select id="queryTeacherIds" resultType="java.lang.Integer">
+		select distinct stm.teacher_id_ from student_teacher_mapper stm
+		where stm.student_id_ = #{studentId}
+		<if test="teacherType != null and teacherType != ''">
+			AND teacher_type_ = #{teacherType}
+		</if>
+	</select>
 </mapper>
 </mapper>

+ 1 - 1
mec-web/src/main/java/com/ym/mec/web/controller/ExportController.java

@@ -1592,7 +1592,7 @@ public class ExportController extends BaseController {
         OutputStream ouputStream = null;
         OutputStream ouputStream = null;
         try {
         try {
             HSSFWorkbook workbook = POIUtil.exportExcel(
             HSSFWorkbook workbook = POIUtil.exportExcel(
-                    new String[]{"学员编号", "学员姓名", "所属分部", "乐团名称", "指导老师", "教务老师", "服务课程",
+                    new String[]{"学员编号", "学员姓名", "所属分部", "乐团名称", "服务老师", "教务老师", "服务课程",
                             "预期安排", "实际安排", "提交次数", "评价次数", "及时评价次数", "付费网管课", "VIP课", "训练提交时间"},
                             "预期安排", "实际安排", "提交次数", "评价次数", "及时评价次数", "付费网管课", "VIP课", "训练提交时间"},
                     new String[]{"studentId", "studentName", "organName", "groupNames", "teacherName",
                     new String[]{"studentId", "studentName", "organName", "groupNames", "teacherName",
                             "educationalTeacherName", "serveType == 'EXERCISE' ? '课外训练':courseIds",
                             "educationalTeacherName", "serveType == 'EXERCISE' ? '课外训练':courseIds",

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

@@ -364,7 +364,7 @@ public class StudentManageController extends BaseController {
     @GetMapping("/initTeacherId")
     @GetMapping("/initTeacherId")
     @PreAuthorize("@pcs.hasPermissions('studentManage/initTeacherId')")
     @PreAuthorize("@pcs.hasPermissions('studentManage/initTeacherId')")
     public HttpResponseResult initTeacherId(){
     public HttpResponseResult initTeacherId(){
-        studentService.initTeacherId();
+//        studentService.initTeacherId();
         return succeed();
         return succeed();
     }
     }