Bladeren bron

专辑购买推送

liujunchi 2 jaren geleden
bovenliggende
commit
c038ad94d2

+ 2 - 1
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/MusicSheetController.java

@@ -1,5 +1,6 @@
 package com.yonge.cooleshow.admin.controller;
 
+import com.yonge.cooleshow.biz.dal.enums.OrderTypeEnum;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
@@ -322,7 +323,7 @@ public class MusicSheetController extends BaseController {
             return failed("用户信息获取失败");
         }
         return status(musicSheetService.sendBuyMessage(param.getTeacherId(), param.getStudentId(), param.getMusicSheetId(),
-                                                       ClientEnum.STUDENT));
+                                                       ClientEnum.STUDENT, OrderTypeEnum.MUSIC));
     }
     /**
      * 导入

+ 4 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/enums/MessageTypeEnum.java

@@ -20,6 +20,10 @@ public enum MessageTypeEnum implements BaseEnum<String, MessageTypeEnum> {
     VIDEO_SHEET_AUTH_PASS("视频课审核通过"),
     VIDEO_SHEET_AUTH_UNPASS("视频课审核失败"),
 
+    STUDENT_BUY_MUSIC_ALBUM_SUCCESS("购买专辑成功"),
+    TEACHER_BUY_MUSIC_ALBUM_SUCCESS("购买专辑成功"),
+    SMS_STUDENT_BUY_MUSIC_ALBUM_SUCCESS("学员购买乐谱(短信)"),
+
     STUDENT_BUY_MUSIC_SHEET_SUCCESS("学员购买乐谱成功"),
     TEACHER_BUY_MUSIC_SHEET_SUCCESS("老师购买乐谱成功"),
     SMS_STUDENT_BUY_MUSIC_SHEET_SUCCESS("学员购买乐谱(短信)"),

+ 4 - 2
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/MusicSheetService.java

@@ -18,6 +18,7 @@ import com.yonge.cooleshow.biz.dal.dto.search.TeacherMusicSheetAuditSearch;
 import com.yonge.cooleshow.biz.dal.dto.search.TeacherMusicSheetSearch;
 import com.yonge.cooleshow.biz.dal.entity.MusicSheet;
 import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
+import com.yonge.cooleshow.biz.dal.enums.OrderTypeEnum;
 import com.yonge.cooleshow.biz.dal.vo.HomeMusicSheetVo;
 import com.yonge.cooleshow.biz.dal.vo.MusicSheetDetailVo;
 import com.yonge.cooleshow.biz.dal.vo.MusicSheetShareVo;
@@ -215,12 +216,13 @@ public interface MusicSheetService extends IService<MusicSheet> {
 
     /**
      * 发送学生购买曲目消息
-     *  @param teacherId 老师id
+     * @param teacherId 老师id
      * @param studentId 学生id
      * @param musicSheetId 曲目id
      * @param orderClient
+     * @param orderType
      */
-    boolean sendBuyMessage(Long teacherId, Long studentId, Long musicSheetId, ClientEnum orderClient);
+    boolean sendBuyMessage(Long teacherId, Long studentId, Long musicSheetId, ClientEnum orderClient, OrderTypeEnum orderType);
 
     /**
      * 订单生产后,创建记录

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

@@ -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;
     }