Browse Source

作业通知

liujc 2 years ago
parent
commit
1294624fa8

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

@@ -40,4 +40,6 @@ public interface ImGroupDao extends BaseDAO<String, ImGroup> {
     List<NameDto> queryNameByIds(@Param("ids") String ids);
 
     List<ImGroup> queryByUserIdV2(@Param("userId") Integer userId, @Param("search") String search, @Param("groupType") String groupType, @Param("musicGroupId") String musicGroupId, @Param("classType") String classType);
+
+    List<ImGroupMemberDto> queryMemberByIdV2(@Param("imGroupId") String imGroupId, @Param("search") String search, @Param("subjectId") Integer subjectId, @Param("vipFlag") Boolean vipFlag);
 }

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

@@ -6,6 +6,7 @@ import com.ym.mec.biz.dal.dto.NameDto;
 import com.ym.mec.biz.dal.entity.ImGroup;
 import com.ym.mec.common.service.BaseService;
 
+import java.util.Arrays;
 import java.util.List;
 
 public interface ImGroupService extends BaseService<String, ImGroup> {
@@ -93,4 +94,6 @@ public interface ImGroupService extends BaseService<String, ImGroup> {
 	List<NameDto> queryDetail(List<NameDto> nameDto);
 
     List<ImGroup> queryByUserIdV2(Integer userId, String search, String groupType, String musicGroupId, String classType);
+
+    List<ImGroupMemberDto> queryMemberByIdV2(String imGroupId,String search,Integer subjectId,Boolean vipFlag);
 }

+ 37 - 17
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ExtracurricularExercisesServiceImpl.java

@@ -179,23 +179,43 @@ public class ExtracurricularExercisesServiceImpl extends BaseServiceImpl<Long, E
 
         for (ExtracurricularExercisesReply extracurricularExercisesReply : extracurricularExercisesReplies) {
             Integer studentId = extracurricularExercisesReply.getUserId();
-
-			String notifyUrl = "?courseScheduleID=" + studentExtraExercise.getId() + "&studentCourseHomeworkId=" + studentExtraExercise.getId() + "&extra=1";
-			String extra = "dayaedu" + notifyUrl + "&userId=" + studentId;
-			if (exercises.getMsgType() != ImSendTypeEnum.TXT){
-				sysMessageService.batchSendImMessage(MessageTypeEnum.EXTRA_REMIND_IM_DETAIL,exercises.getTeacherId().toString(),extra,
-						new String[]{studentId.toString()},
-						null, exercises.getTitle(), dateStr);
-			}else {
-				sysMessageService.batchSendImMessage(MessageTypeEnum.EXTRA_REMIND_IM,exercises.getTeacherId().toString(),extra,
-						new String[]{studentId.toString()},
-						null, exercises.getTitle(), dateStr,exercises.getContent());
-			}
-			Map<Integer, String> userMap = new HashMap<>();
-			userMap.put(studentId, studentId.toString());
-			sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_EXTRA_REMIND,
-					userMap, null, 0, 3+notifyUrl, "STUDENT",
-					teacher.getRealName(),exercises.getTitle(), dateStr);
+            if (exercises.getVersionTag().equals("v2")) {
+
+                String notifyUrl = "?homeworkId=" + exercises.getId() + "&type=" +exercises.getGroupType();
+                String extra = "dayaedu" + notifyUrl ;
+                if (exercises.getMsgType() != ImSendTypeEnum.TXT) {
+                    sysMessageService.batchSendImMessage(MessageTypeEnum.EXTRA_REMIND_IM_DETAIL, exercises.getTeacherId().toString(), extra,
+                            new String[]{studentId.toString()},
+                            null, exercises.getTitle(), dateStr);
+                } else {
+                    sysMessageService.batchSendImMessage(MessageTypeEnum.EXTRA_REMIND_IM, exercises.getTeacherId().toString(), extra,
+                            new String[]{studentId.toString()},
+                            null, exercises.getTitle(), dateStr, exercises.getContent());
+                }
+                Map<Integer, String> userMap = new HashMap<>();
+                userMap.put(studentId, studentId.toString());
+                sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_EXTRA_REMIND,
+                        userMap, null, 0, "homework" + notifyUrl, "STUDENT",
+                        teacher.getRealName(), exercises.getTitle(), dateStr);
+            } else {
+
+                String notifyUrl = "?courseScheduleID=" + studentExtraExercise.getId() + "&studentCourseHomeworkId=" + studentExtraExercise.getId() + "&extra=1";
+                String extra = "dayaedu" + notifyUrl + "&userId=" + studentId;
+                if (exercises.getMsgType() != ImSendTypeEnum.TXT) {
+                    sysMessageService.batchSendImMessage(MessageTypeEnum.EXTRA_REMIND_IM_DETAIL, exercises.getTeacherId().toString(), extra,
+                            new String[]{studentId.toString()},
+                            null, exercises.getTitle(), dateStr);
+                } else {
+                    sysMessageService.batchSendImMessage(MessageTypeEnum.EXTRA_REMIND_IM, exercises.getTeacherId().toString(), extra,
+                            new String[]{studentId.toString()},
+                            null, exercises.getTitle(), dateStr, exercises.getContent());
+                }
+                Map<Integer, String> userMap = new HashMap<>();
+                userMap.put(studentId, studentId.toString());
+                sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_EXTRA_REMIND,
+                        userMap, null, 0, 3 + notifyUrl, "STUDENT",
+                        teacher.getRealName(), exercises.getTitle(), dateStr);
+            }
 		}
 		studentServeService.updateExercisesSituation(exercises.getMusicGroupId(), new Date(), studentIds, exercises.getTeacherId());
 	}

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

@@ -250,4 +250,9 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
     public List<ImGroup> queryByUserIdV2(Integer userId, String search, String groupType, String musicGroupId, String classType) {
         return imGroupDao.queryByUserIdV2(userId, search, groupType, musicGroupId, classType);
     }
+
+    @Override
+    public List<ImGroupMemberDto> queryMemberByIdV2(String imGroupId, String search, Integer subjectId, Boolean vipFlag) {
+        return imGroupDao.queryMemberByIdV2(imGroupId,search,subjectId,vipFlag);
+    }
 }

+ 26 - 11
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherAttendanceServiceImpl.java

@@ -431,17 +431,32 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 						studentServeService.updateExercisesSituation(courseSchedule.getMusicGroupId(), courseSchedule.getClassDate(), studentIds, teacherAttendance.getTeacherId());
 
 						for (StudentCourseHomework studentCourseHomework : studentCourseHomeworks) {
-							Map<Integer, String> userMap = new HashMap<>();
-							userMap.put(studentCourseHomework.getUserId(), studentCourseHomework.getUserId().toString());
-							String notifyUrl = "?courseScheduleID=" + courseSchedule.getId() + "&studentCourseHomeworkId=" + studentCourseHomework.getId() + "&extra=0";
-							String extra = "dayaedu" + notifyUrl + "&userId=" + studentCourseHomework.getUserId();
-
-							sysMessageService.batchSendImMessage(MessageTypeEnum.IM_HOMEWORK_REMIND, courseSchedule.getActualTeacherId().toString(), extra,
-									new String[]{studentCourseHomework.getUserId().toString()},
-									null, courseSchedule.getName(), dateStr, courseHomework.getContent());
-
-							sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_HOMEWORK_REMIND,
-									userMap, null, 0, 3 + notifyUrl, "STUDENT", teacher.getRealName(), courseSchedule.getName(), dateStr);
+                            if (versionTag.equals("v2")) {
+                                Map<Integer, String> userMap = new HashMap<>();
+                                userMap.put(studentCourseHomework.getUserId(), studentCourseHomework.getUserId().toString());
+                                String notifyUrl = "?homeworkId=" + courseHomework.getId() + "&type=" + ELessonTrainingType.HOMEWORK.getCode();
+                                String extra = "dayaedu" + notifyUrl ;
+
+                                sysMessageService.batchSendImMessage(MessageTypeEnum.IM_HOMEWORK_REMIND, courseSchedule.getActualTeacherId().toString(), extra,
+                                        new String[]{studentCourseHomework.getUserId().toString()},
+                                        null, courseSchedule.getName(), dateStr, courseHomework.getContent());
+
+                                sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_HOMEWORK_REMIND,
+                                        userMap, null, 0, "homework" + notifyUrl, "STUDENT", teacher.getRealName(), courseSchedule.getName(), dateStr);
+
+                            } else {
+                                Map<Integer, String> userMap = new HashMap<>();
+                                userMap.put(studentCourseHomework.getUserId(), studentCourseHomework.getUserId().toString());
+                                String notifyUrl = "?courseScheduleID=" + courseSchedule.getId() + "&studentCourseHomeworkId=" + studentCourseHomework.getId() + "&extra=0";
+                                String extra = "dayaedu" + notifyUrl + "&userId=" + studentCourseHomework.getUserId();
+
+                                sysMessageService.batchSendImMessage(MessageTypeEnum.IM_HOMEWORK_REMIND, courseSchedule.getActualTeacherId().toString(), extra,
+                                        new String[]{studentCourseHomework.getUserId().toString()},
+                                        null, courseSchedule.getName(), dateStr, courseHomework.getContent());
+
+                                sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_HOMEWORK_REMIND,
+                                        userMap, null, 0, 3 + notifyUrl, "STUDENT", teacher.getRealName(), courseSchedule.getName(), dateStr);
+                            }
 						}
 					}
                     if (!CollectionUtils.isEmpty(studentLessonTrainingDetails)) {

+ 25 - 0
mec-biz/src/main/resources/config/mybatis/ImGroupMapper.xml

@@ -213,4 +213,29 @@
         </if>
 
     </select>
+
+	<select id="queryMemberByIdV2" resultMap="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_
+        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_
+        WHERE igm.im_group_id_ = #{imGroupId}
+        <if test="search != null">
+            and (u.real_name_ like concat('%',#{search},'%'))
+        </if>
+        <if test="subjectId != null">
+            and st.subject_id_list_ = #{subjectId}
+        </if>
+        <if test="vipFlag != null">
+            <if test="vipFlag">
+                and st.member_rank_setting_id_ is not null
+            </if>
+            <if test="vipFlag == false">
+                and st.member_rank_setting_id_ is null
+            </if>
+        </if>
+
+    </select>
 </mapper>

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

@@ -69,6 +69,13 @@ public class ImGroupController extends BaseController {
 		return succeed(imGroupService.queryMemberById(imGroupId).stream().filter(e -> StringUtils.isBlank(e.getRoleType())).collect(Collectors.toList()));
 	}
 
+
+    @ApiOperation("查询群学生列表v2")
+    @GetMapping(value = "/queryGroupStudentList/v2")
+    public Object queryGroupStudentListV2(String imGroupId,String search,Integer subjectId,Boolean vipFlag) {
+        return succeed(imGroupService.queryMemberByIdV2(imGroupId,search,subjectId,vipFlag).stream().filter(e -> StringUtils.isBlank(e.getRoleType())).collect(Collectors.toList()));
+    }
+
 	@ApiOperation("查询群成员详情")
 	@GetMapping(value = "/queryGroupMemberDetail")
 	public Object queryGroupMemberDetail(String imGroupId, Integer userId) {