|
@@ -84,6 +84,9 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
|
|
|
private MusicSheetPracticeRecordService musicSheetPracticeRecordService;
|
|
|
|
|
|
@Autowired
|
|
|
+ private MusicAlbumService musicAlbumService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
private StudentService studentService;
|
|
|
|
|
|
@Autowired
|
|
@@ -783,7 +786,7 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
|
|
|
|
|
|
// 消息通知
|
|
|
try {
|
|
|
- sendBuyMessage(userOrderDetailVo.getMerchId(), userOrderDetailVo.getUserId(), userOrderDetailVo.getBizId(), userOrderDetailVo.getOrderClient());
|
|
|
+ sendBuyMessage(userOrderDetailVo.getMerchId(), userOrderDetailVo.getUserId(), userOrderDetailVo.getBizId(), userOrderDetailVo.getOrderClient(),userOrderDetailVo.getOrderType());
|
|
|
} catch (Exception e) {
|
|
|
log.warn("购买曲目消息推送失败 {}", e.getMessage());
|
|
|
}
|
|
@@ -791,19 +794,43 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
|
|
|
|
|
|
/**
|
|
|
* 发送购买消息通知
|
|
|
- *
|
|
|
- * @param teacherId 老师id
|
|
|
+ * @param teacherId 老师id
|
|
|
* @param studentId 学生id
|
|
|
* @param musicSheetId 曲目id
|
|
|
* @param orderClient
|
|
|
+ * @param orderType
|
|
|
*/
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
- public boolean sendBuyMessage(Long teacherId, Long studentId, Long musicSheetId, ClientEnum orderClient) {
|
|
|
+ public boolean sendBuyMessage(Long teacherId, Long studentId, Long musicSheetId, ClientEnum orderClient, OrderTypeEnum orderType) {
|
|
|
+
|
|
|
+ String name = null;
|
|
|
+ MusicSheet musicSheet = null;
|
|
|
+ MessageTypeEnum messageType = null;
|
|
|
+ MessageTypeEnum smsMessageType = null;
|
|
|
+ if (orderType.equals(OrderTypeEnum.MUSIC)) {
|
|
|
+ musicSheet = this.getById(musicSheetId);
|
|
|
+ name = musicSheet.getMusicSheetName();
|
|
|
+ if (orderClient.equals(ClientEnum.STUDENT)) {
|
|
|
+ messageType = MessageTypeEnum.STUDENT_BUY_MUSIC_SHEET_SUCCESS;
|
|
|
+ } else {
|
|
|
+ messageType = MessageTypeEnum.TEACHER_BUY_MUSIC_SHEET_SUCCESS;
|
|
|
+ }
|
|
|
+ smsMessageType = MessageTypeEnum.SMS_STUDENT_BUY_MUSIC_SHEET_SUCCESS;
|
|
|
+ } else if (orderType.equals(OrderTypeEnum.ALBUM)) {
|
|
|
+ name = musicAlbumService.getById(musicSheetId).getAlbumName();
|
|
|
+ if (orderClient.equals(ClientEnum.STUDENT)) {
|
|
|
+ messageType = MessageTypeEnum.STUDENT_BUY_MUSIC_ALBUM_SUCCESS;
|
|
|
+ } else {
|
|
|
+ messageType = MessageTypeEnum.TEACHER_BUY_MUSIC_ALBUM_SUCCESS;
|
|
|
+ }
|
|
|
+ smsMessageType = MessageTypeEnum.SMS_STUDENT_BUY_MUSIC_ALBUM_SUCCESS;
|
|
|
+ } else {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
|
|
|
- MusicSheet musicSheet = this.getById(musicSheetId);
|
|
|
SysUser student = sysUserFeignService.queryUserById(studentId);
|
|
|
- if (musicSheet.getSourceType().equals(SourceTypeEnum.TEACHER)) {
|
|
|
+ if (orderType.equals(OrderTypeEnum.MUSIC) && musicSheet.getSourceType().equals(SourceTypeEnum.TEACHER)) {
|
|
|
SysUser teacher = sysUserFeignService.queryUserById(teacherId);
|
|
|
if (StringUtil.isEmpty(teacher.getPhone())) {
|
|
|
log.warn("teacher id {} name {} 手机号不存在,消息推送失败", teacher.getId(), teacher.getUsername());
|
|
@@ -814,31 +841,26 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
|
|
|
teacherReceivers.put(teacherId, teacher.getPhone());
|
|
|
|
|
|
sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_BUY_TEACHER_MUSIC_SHEET, teacherReceivers, null,
|
|
|
- 0, null, ClientEnum.TEACHER.getCode(), student.getUsername(), musicSheet.getMusicSheetName());
|
|
|
+ 0, null, ClientEnum.TEACHER.getCode(), student.getUsername(), name);
|
|
|
|
|
|
}
|
|
|
// 推送学生
|
|
|
Map<Long, String> studentReceivers = new HashMap<>();
|
|
|
studentReceivers.put(studentId, student.getPhone());
|
|
|
- MessageTypeEnum messageType;
|
|
|
- if (orderClient.equals(ClientEnum.STUDENT)) {
|
|
|
- messageType = MessageTypeEnum.STUDENT_BUY_MUSIC_SHEET_SUCCESS;
|
|
|
- } else {
|
|
|
- messageType = MessageTypeEnum.TEACHER_BUY_MUSIC_SHEET_SUCCESS;
|
|
|
- }
|
|
|
+
|
|
|
|
|
|
String url = sysMessageService.selectConfigUrl(messageType.getCode());
|
|
|
|
|
|
sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG,
|
|
|
messageType, studentReceivers, null,
|
|
|
- 0, url, orderClient.getCode(), musicSheet.getMusicSheetName());
|
|
|
+ 0, url, orderClient.getCode(), name);
|
|
|
// 推送学生
|
|
|
Map<Long, String> studentSMS = new HashMap<>();
|
|
|
studentSMS.put(studentId, student.getPhone());
|
|
|
// 推送短信
|
|
|
- url = sysMessageService.selectConfigUrl(MessageTypeEnum.SMS_STUDENT_BUY_MUSIC_SHEET_SUCCESS.getCode());
|
|
|
- sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.SMS_STUDENT_BUY_MUSIC_SHEET_SUCCESS,
|
|
|
- studentSMS, null, 0, url, null, musicSheet.getMusicSheetName());
|
|
|
+ url = sysMessageService.selectConfigUrl(smsMessageType.getCode());
|
|
|
+ sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, smsMessageType,
|
|
|
+ studentSMS, null, 0, url, null, name);
|
|
|
|
|
|
return true;
|
|
|
}
|