Преглед на файлове

add:曲目购买,短信发送

liujunchi преди 3 години
родител
ревизия
d511117ecc

+ 2 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/enums/MessageTypeEnum.java

@@ -42,10 +42,11 @@ public enum MessageTypeEnum implements BaseEnum<String, MessageTypeEnum> {
     PRACTICE_REMIND("PRACTICE_REMIND","陪练课提醒(陪练课开始前20分钟)"),
     LIVE_REMIND("LIVE_REMIND","直播课提醒(直播课开始前20分钟)"),
     NOT_EVALUATE_TEACHER_PRACTICE("NOT_EVALUATE_TEACHER_PRACTICE","当日陪练课未对老师评价(每晚9点,已评价不发)"),
-    FANSGROUP_APPLY_SUCCESS("FANSGROUP_APPLY_SUCCESS","粉丝群申请通过")
+    FANSGROUP_APPLY_SUCCESS("FANSGROUP_APPLY_SUCCESS","粉丝群申请通过"),
 
     //------短信模板------
 
+    SMS_STUDENT_BUY_MUSIC_SHEET_SUCCESS("SMS_STUDENT_BUY_MUSIC_SHEET_SUCCESS","学员购买乐谱(短信)"),
 
     ;
 

+ 41 - 16
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/CourseHomeworkServiceImpl.java

@@ -22,6 +22,8 @@ import com.yonge.cooleshow.biz.dal.vo.CourseHomeworkDetailVo;
 import com.yonge.cooleshow.biz.dal.vo.CourseHomeworkVo;
 import com.yonge.cooleshow.common.exception.BizException;
 import com.yonge.toolset.thirdparty.message.MessageSenderPluginContext;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
@@ -38,6 +40,8 @@ import java.util.stream.Collectors;
 @Service
 public class CourseHomeworkServiceImpl extends ServiceImpl<CourseHomeworkDao, CourseHomework> implements CourseHomeworkService {
 
+    private static final Logger log = LoggerFactory.getLogger(CourseHomeworkServiceImpl.class);
+
     @Autowired
     @Lazy
     private CourseScheduleService courseScheduleService;
@@ -133,7 +137,11 @@ public class CourseHomeworkServiceImpl extends ServiceImpl<CourseHomeworkDao, Co
 
         if (flag) {
             // 发送给学生 ->老师布置作业消息
-            sendDecorateHomework(saveDto.getCourseScheduleId(), courseSchedule.getTeacherId());
+            try {
+                sendDecorateHomework(saveDto.getCourseScheduleId(), courseSchedule.getTeacherId());
+            } catch (Exception e) {
+                log.warn("老师布置作业信息发送失败,{}",e.getMessage());
+            }
         }
         return flag;
 
@@ -152,8 +160,8 @@ public class CourseHomeworkServiceImpl extends ServiceImpl<CourseHomeworkDao, Co
         SysUser teacher = sysUserFeignService.queryUserById(teacherId);
         Map<Long,String> studentReceivers = new HashMap<>();
         studentReceivers.put(student.getId(), student.getPhone());
-        // todo url设置
-        sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.TEACHER_DECORATE_HOMEWORK, studentReceivers, null, 0,null , ClientEnum.STUDENT.getCode(),teacher.getUsername(),"url");
+
+        sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.TEACHER_DECORATE_HOMEWORK, studentReceivers, null, 0,"homework?courseId=" + courseScheduleId , ClientEnum.STUDENT.getCode(),teacher.getUsername());
     }
 
     /**
@@ -195,16 +203,24 @@ public class CourseHomeworkServiceImpl extends ServiceImpl<CourseHomeworkDao, Co
         boolean flag = studentCourseHomeworkService.reviewCourseHome(courseHomeworkDetailVo.getStudentHomeworkId(),reviewDto.getReview());
         if (flag) {
              // 发送消息给学生  老师点评作业
-            SysUser student = sysUserFeignService.queryUserById(courseHomeworkDetailVo.getStudentId());
-            SysUser teacher = sysUserFeignService.queryUserById(courseHomeworkDetailVo.getTeacherId());
-            Map<Long,String> studentReceivers = new HashMap<>();
-            studentReceivers.put(student.getId(), student.getPhone());
-            // todo url设置
-            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.TEACHER_REVIEW_HOMEWORK, studentReceivers, null, 0,null , ClientEnum.STUDENT.getCode(),teacher.getUsername(),"url");
+            try {
+                sendReviewMessage(reviewDto, courseHomeworkDetailVo);
+            } catch (Exception e) {
+                log.warn("老师点评作业消息发送失败,{}",e.getMessage());
+            }
         }
         return flag;
     }
 
+    // 发送老师点评信息
+    private void sendReviewMessage(CourseHomeworkReviewDto reviewDto, CourseHomeworkDetailVo courseHomeworkDetailVo) {
+        SysUser student = sysUserFeignService.queryUserById(courseHomeworkDetailVo.getStudentId());
+        SysUser teacher = sysUserFeignService.queryUserById(courseHomeworkDetailVo.getTeacherId());
+        Map<Long,String> studentReceivers = new HashMap<>();
+        studentReceivers.put(student.getId(), student.getPhone());
+        sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.TEACHER_REVIEW_HOMEWORK, studentReceivers, null, 0, "homework?courseId=" + reviewDto.getCourseScheduleId() , ClientEnum.STUDENT.getCode(), teacher.getUsername());
+    }
+
     @Override
     @Transactional(rollbackFor = Exception.class)
     public boolean submitCourseHomework(CourseHomeworkSubmitDto submitDto) {
@@ -233,13 +249,11 @@ public class CourseHomeworkServiceImpl extends ServiceImpl<CourseHomeworkDao, Co
             courseHomework.setCompletedNum(courseHomework.getCompletedNum() + 1);
             this.updateById(courseHomework);
 
-            // 发送学生提交作业消息给老师
-            SysUser student = sysUserFeignService.queryUserById(submitDto.getStudentId());
-            SysUser teacher = sysUserFeignService.queryUserById(courseHomeworkDetailVo.getTeacherId());
-            Map<Long,String> receivers = new HashMap<>();
-            receivers.put(teacher.getId(), teacher.getPhone());
-            // todo url设置
-            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_SUBMIT_HOMEWORK, receivers, null, 0,null , ClientEnum.TEACHER.getCode(),student.getUsername(),"url");
+            try {
+                sendSubmitMessage(submitDto, courseHomeworkDetailVo);
+            }catch (Exception e) {
+                log.warn("学生提交作业消息发送失败,{}",e.getMessage());
+            }
             return true;
 
         } else {
@@ -248,6 +262,17 @@ public class CourseHomeworkServiceImpl extends ServiceImpl<CourseHomeworkDao, Co
 
     }
 
+    //  发送学生提交作业消息
+    private void sendSubmitMessage(CourseHomeworkSubmitDto submitDto, CourseHomeworkDetailVo courseHomeworkDetailVo) {
+        // 发送学生提交作业消息给老师
+        SysUser student = sysUserFeignService.queryUserById(submitDto.getStudentId());
+        SysUser teacher = sysUserFeignService.queryUserById(courseHomeworkDetailVo.getTeacherId());
+        Map<Long,String> receivers = new HashMap<>();
+        receivers.put(teacher.getId(), teacher.getPhone());
+
+        sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_SUBMIT_HOMEWORK, receivers, null, 0, "homework?courseId=" + submitDto.getCourseScheduleId(), ClientEnum.TEACHER.getCode(), student.getUsername());
+    }
+
     @Override
     public IPage<CourseHomeworkVo> selectAdminPage(IPage<CourseHomeworkVo> page, HomeworkAdminSearch query) {
         IPage<CourseHomeworkVo> courseHomeworkVoIPage = page.setRecords(baseMapper.selectAdminPage(page, query));

+ 27 - 8
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/MusicSheetServiceImpl.java

@@ -274,17 +274,27 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao,MusicSheet>
         Map<Long,String> receivers = new HashMap<>();
         SysUser teacher = sysUserFeignService.queryUserById(musicSheet.getUserId());
         receivers.put(musicSheet.getUserId(), teacher.getPhone());
-        if (AuthStatusEnum.PASS.getCode().equals(param.getAuthStatus().getCode())) {
-            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG,MessageTypeEnum.MUSIC_SHEET_AUTH_PASS,
-                                               receivers,null,0,null,ClientEnum.TEACHER.getCode(),musicSheet.getMusicSheetName());
-        } else if (AuthStatusEnum.UNPASS.getCode().equals(param.getAuthStatus().getCode())){
-            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG,MessageTypeEnum.MUSIC_SHEET_AUTH_UNPASS,
-                                               receivers,null,0,null,ClientEnum.TEACHER.getCode(),musicSheet.getMusicSheetName(),param.getRemark());
+        try {
+            sendMusicSheetAuditMessage(param, musicSheet, receivers);
+        } catch (Exception e) {
+            log.warn("曲目审核消息发送失败,{}",e.getMessage());
         }
 
         return flag;
     }
 
+    // 发送曲目审核消息
+    private void sendMusicSheetAuditMessage(TeacherMusicSheetAuditReq param, MusicSheet musicSheet, Map<Long, String> receivers) {
+        if (AuthStatusEnum.PASS.getCode().equals(param.getAuthStatus().getCode())) {
+            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.MUSIC_SHEET_AUTH_PASS,
+                                               receivers, null, 0, null, ClientEnum.TEACHER.getCode(), musicSheet.getMusicSheetName());
+        } else if (AuthStatusEnum.UNPASS.getCode().equals(param.getAuthStatus().getCode())){
+            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.MUSIC_SHEET_AUTH_UNPASS,
+                                               receivers, null, 0, null, ClientEnum.TEACHER.getCode(), musicSheet.getMusicSheetName(),
+                                               param.getRemark());
+        }
+    }
+
     @Override
     public boolean del(Long id) {
 
@@ -400,7 +410,11 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao,MusicSheet>
         addTeacherAccount(userOrderDetailVo, actualPrice, serviceFeeAmount, userOrderDetailVo.getBizId());
 
         // 消息通知
-        sendBuyMessage(userOrderDetailVo.getMerchId(),userOrderDetailVo.getUserId(),userOrderDetailVo.getBizId());
+        try {
+            sendBuyMessage(userOrderDetailVo.getMerchId(),userOrderDetailVo.getUserId(),userOrderDetailVo.getBizId());
+        }catch (Exception e) {
+            log.warn("学生购买曲目消息推送失败 {}",e.getMessage());
+        }
     }
 
     /**
@@ -435,7 +449,12 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao,MusicSheet>
         // todo 乐谱连接
         sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG,
                                            MessageTypeEnum.STUDENT_BUY_MUSIC_SHEET_SUCCESS, studentReceivers, null,
-                                           0, null,ClientEnum.STUDENT.getCode(),musicSheet.getMusicSheetName(),"url");
+                                           0, null,ClientEnum.STUDENT.getCode(),musicSheet.getMusicSheetName());
+        // 推送学生
+        Map<Long,String> studentSMS = new HashMap<>();
+        studentSMS.put(studentId, student.getPhone());
+        // 推送短信
+        sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.SMS_STUDENT_BUY_MUSIC_SHEET_SUCCESS,studentSMS,null,0,null,null,musicSheet.getMusicSheetName());
 
         return true;
     }