|
@@ -19,6 +19,7 @@ import com.ym.mec.common.service.impl.BaseServiceImpl;
|
|
|
import com.ym.mec.common.tenant.TenantContextHolder;
|
|
|
import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
|
|
|
import com.ym.mec.thirdparty.message.MessageSenderPluginContext.MessageSender;
|
|
|
+import com.ym.mec.thirdparty.yqpay.DateUtils;
|
|
|
import com.ym.mec.util.collection.MapUtil;
|
|
|
import com.ym.mec.util.date.DateUtil;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
@@ -85,23 +86,31 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
|
|
|
if(studentStandardDtos == null || studentStandardDtos.size() == 0){
|
|
|
return;
|
|
|
}
|
|
|
- List<StudentStandardDto> collect = studentStandardDtos.stream().filter(e -> e.getQualifiedFlag() == 0).collect(Collectors.toList());
|
|
|
- if(collect.size() > 0){
|
|
|
- List<Integer> studentIds = collect.stream().map(e -> e.getUserId()).collect(Collectors.toList());
|
|
|
+ List<StudentStandardDto> noQualified = studentStandardDtos.stream().filter(e -> e.getQualifiedFlag() == 0).collect(Collectors.toList());
|
|
|
+ CourseSchedule courseSchedule = courseScheduleDao.get(courseScheduleId);
|
|
|
+ CourseSchedule.CourseScheduleType type = courseSchedule.getType();
|
|
|
+ String courseDate = DateUtil.format(courseSchedule.getClassDate(), DateUtil.ISO_EXPANDED_DATE_FORMAT);
|
|
|
+ if(noQualified.size() > 0){
|
|
|
+ List<Integer> studentIds = noQualified.stream().map(e -> e.getUserId()).collect(Collectors.toList());
|
|
|
studentAttendanceDao.updateQualified(courseScheduleId,studentIds);
|
|
|
- CourseSchedule.CourseScheduleType type = courseScheduleDao.get(courseScheduleId).getType();
|
|
|
- Map<Integer, String> maps = MapUtil.convertMybatisMap(teacherDao.queryUserNameByIdList(studentIds));
|
|
|
- for (Integer studentId : studentIds) {
|
|
|
- Map<Integer, String> receivers = new HashMap<>(1);
|
|
|
- receivers.put(studentId,studentId.toString());
|
|
|
- sendMessageSource.batchSendMessage(MessageSender.JIGUANG,MessageTypeEnum.SMS_STANDARD_QUALIFIED,
|
|
|
- receivers,null,"STUDENT",maps.get(studentId),type.getMsg());
|
|
|
- }
|
|
|
+ this.sendMessage(studentIds,type,courseDate,MessageTypeEnum.SMS_STANDARD_NO_QUALIFIED);
|
|
|
+ }
|
|
|
+ List<StudentStandardDto> qualified = studentStandardDtos.stream().filter(e -> e.getQualifiedFlag() == 1).collect(Collectors.toList());
|
|
|
+ if(qualified.size() > 0){
|
|
|
+ List<Integer> studentIds = qualified.stream().map(e -> e.getUserId()).collect(Collectors.toList());
|
|
|
+ this.sendMessage(studentIds,type,courseDate,MessageTypeEnum.SMS_STANDARD_QUALIFIED);
|
|
|
}
|
|
|
//标记当前课程为已评价
|
|
|
courseScheduleDao.updateEvaluate(courseScheduleId);
|
|
|
}
|
|
|
|
|
|
+ public void sendMessage(List<Integer> studentIds,CourseSchedule.CourseScheduleType type,String courseDate,MessageTypeEnum messageTypeEnum){
|
|
|
+ Map<Integer, String> receivers = new HashMap<>(studentIds.size());
|
|
|
+ studentIds.stream().map(e->receivers.put(e,e.toString()));
|
|
|
+ sendMessageSource.batchSendMessage(MessageSender.JIGUANG,messageTypeEnum,
|
|
|
+ receivers,null,"STUDENT",courseDate,type.getMsg());
|
|
|
+ }
|
|
|
+
|
|
|
@Transactional(rollbackFor = Exception.class, isolation = Isolation.READ_COMMITTED)
|
|
|
@Override
|
|
|
public Map<String, Object> addTeacherAttendanceRecord(TeacherSignOutDto teacherSignOutDto) {
|