Jelajahi Sumber

Merge remote-tracking branch 'origin/dev_1_2_20220802' into dev_1_2_20220802

liweifan 3 tahun lalu
induk
melakukan
a703ae7030

+ 4 - 3
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/MusicSheetController.java

@@ -5,6 +5,7 @@ import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
 import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.biz.dal.dto.MusicSheetDto;
 import com.yonge.cooleshow.biz.dal.dto.MusicSheetExport;
+import com.yonge.cooleshow.biz.dal.dto.ReasonDto;
 import com.yonge.cooleshow.biz.dal.dto.req.TeacherMusicSheetAuditReq;
 import com.yonge.cooleshow.biz.dal.dto.search.MusicSheetSearch;
 import com.yonge.cooleshow.biz.dal.dto.search.StudentMusicSheetOrderSearch;
@@ -180,7 +181,7 @@ public class MusicSheetController extends BaseController {
     @PostMapping("/state/{id}")
     @ApiOperation(value = "启用/停用", notes = "传入id")
     @PreAuthorize("@pcs.hasPermissions('music/sheet/state')")
-    public HttpResponseResult<Boolean> state(@ApiParam(value = "曲目编号", required = true)  @PathVariable Long id, String reason) {
+    public HttpResponseResult<Boolean> state(@ApiParam(value = "曲目编号", required = true)  @PathVariable Long id, @RequestBody ReasonDto reasonDto) {
         if (StringUtil.isEmpty(id)) {
             return failed("参数不能为空");
         }
@@ -189,10 +190,10 @@ public class MusicSheetController extends BaseController {
             return failed("未找到曲目");
         }
         if (YesOrNoEnum.YES.equals(musicSheet.getState()) &&
-                musicSheet.getSourceType().equals(SourceTypeEnum.TEACHER) && StringUtil.isEmpty(reason)) {
+                musicSheet.getSourceType().equals(SourceTypeEnum.TEACHER) && StringUtil.isEmpty(reasonDto.getReason())) {
             return failed("请填写下架原因");
         }
-        return status(musicSheetService.state(id,reason));
+        return status(musicSheetService.state(id,reasonDto.getReason()));
     }
 
     /**

+ 25 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/ReasonDto.java

@@ -0,0 +1,25 @@
+package com.yonge.cooleshow.biz.dal.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * Description
+ *
+ * @author liujunchi
+ * @date 2022-08-08
+ */
+@ApiModel("曲目下架原因")
+public class ReasonDto {
+
+    @ApiModelProperty("曲目下架原因")
+    private String  reason;
+
+    public String getReason() {
+        return reason;
+    }
+
+    public void setReason(String reason) {
+        this.reason = reason;
+    }
+}

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

@@ -95,6 +95,7 @@ public enum MessageTypeEnum implements BaseEnum<String, MessageTypeEnum> {
     MUSIC_SHEET_OUT_SALE_REASON("老师曲目下架通知"),
     LIVE_COURSE_OUT_SALE_REASON("老师直播课下架通知"),
     VIDEO_COURSE_OUT_SALE_REASON("老师视频课下架通知"),
+    ACTIVITY_JOIN_MESSAGE("活动参与通知"),
 
     PIANO_ROOM_TIMES_ADD("后台增加琴房时长通知"),
     PIANO_ROOM_TIMES_SUB("后台扣除琴房时长通知"),

+ 32 - 4
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/ActivityPlanServiceImpl.java

@@ -13,6 +13,9 @@ import com.yonge.cooleshow.biz.dal.dto.ActivityPlanPayDto;
 import com.yonge.cooleshow.biz.dal.dto.req.OrderReq;
 import com.yonge.cooleshow.biz.dal.dto.search.ActivityPlanSearch;
 import com.yonge.cooleshow.biz.dal.entity.*;
+import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
+import com.yonge.cooleshow.biz.dal.enums.MessageTypeEnum;
+import com.yonge.cooleshow.biz.dal.enums.SourceTypeEnum;
 import com.yonge.cooleshow.biz.dal.service.*;
 import com.yonge.cooleshow.biz.dal.vo.ActivityMusicVo;
 import com.yonge.cooleshow.biz.dal.vo.ActivityPlanVo;
@@ -23,6 +26,8 @@ import com.yonge.cooleshow.common.entity.HttpResponseResult;
 import com.yonge.cooleshow.common.enums.ActivityTypeEnum;
 import com.yonge.cooleshow.common.enums.RegistrationMethodEnum;
 import com.yonge.toolset.base.exception.BizException;
+import com.yonge.toolset.base.util.StringUtil;
+import com.yonge.toolset.thirdparty.message.MessageSenderPluginContext;
 import org.springframework.stereotype.Service;
 import org.apache.commons.collections.CollectionUtils;
 import org.slf4j.Logger;
@@ -35,7 +40,9 @@ import org.springframework.beans.factory.annotation.Autowired;
 
 import javax.annotation.Resource;
 import java.math.BigDecimal;
+import java.util.*;
 import java.util.Date;
+
 import java.util.List;
 import java.util.Optional;
 
@@ -61,7 +68,10 @@ public class ActivityPlanServiceImpl extends ServiceImpl<ActivityPlanDao, Activi
     @Autowired
     private ActivityEvaluationRecordService activityEvaluationRecordService;
 
-    @Override
+    @Autowired
+    private SysMessageService sysMessageService;
+
+	@Override
     public ActivityPlanVo detail(Long id) {
         ActivityPlanVo detail = baseMapper.detail(id);
         if (null != detail) {
@@ -188,12 +198,14 @@ public class ActivityPlanServiceImpl extends ServiceImpl<ActivityPlanDao, Activi
     @Override
     public HttpResponseResult<OrderCreateRes> orderCreate(OrderReq.OrderReqInfo orderReqInfo) {
 
+        log.info("活动购买 参数 --> {}",orderReqInfo);
+
+        // 检查用户
         getSysUser(orderReqInfo.getUserId());
         ActivityPlanPayDto activityPlanPayDto = JSON.parseObject(
                 JSON.toJSONString(orderReqInfo.getBizContent()), ActivityPlanPayDto.class);
 
-        // 检查活动购买
-
+        // 检查活动购买是否已购买
         checkActivityPay(activityPlanPayDto.getActivityId());
 
 
@@ -292,9 +304,25 @@ public class ActivityPlanServiceImpl extends ServiceImpl<ActivityPlanDao, Activi
         return true;
     }
 
+
+    /**
+     * 参与活动消息
+     */
     private void sendMessage(String activityName, Long userId) {
+        try {
+            //  发送消息
+            SysUser user = sysUserFeignService.queryUserById(userId);
+
+            Map<Long, String> receivers = new HashMap<>();
+            receivers.put(userId, user.getPhone());
+
+            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.ACTIVITY_JOIN_MESSAGE, receivers, null,
+                                               0, null, ClientEnum.STUDENT.getCode(), user.getUsername(), activityName);
+
+        } catch (Exception e) {
+            log.error("活动参与发送消息失败--> {}",e.fillInStackTrace());
+        }
 
-        // TODO  发送消息
 
     }
 

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

@@ -158,15 +158,20 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
     }
 
     private void sendOutSaleMessage(String reason, MusicSheet musicSheet) {
-        if(musicSheet.getSourceType().equals(SourceTypeEnum.TEACHER)) {
-            SysUser sysUser = getSysUser(musicSheet.getUserId());
-            // 推送老师
-            Map<Long, String> teacherReceivers = new HashMap<>();
-            teacherReceivers.put(sysUser.getId(), sysUser.getPhone());
-
-            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.MUSIC_SHEET_OUT_SALE_REASON, teacherReceivers, null,
-                               0, null, ClientEnum.TEACHER.getCode(), musicSheet.getMusicSheetName(),reason);
+        try {
+            if(musicSheet.getSourceType().equals(SourceTypeEnum.TEACHER)) {
+                SysUser sysUser = getSysUser(musicSheet.getUserId());
+                // 推送老师
+                Map<Long, String> teacherReceivers = new HashMap<>();
+                teacherReceivers.put(sysUser.getId(), sysUser.getPhone());
+
+                sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.MUSIC_SHEET_OUT_SALE_REASON, teacherReceivers, null,
+                                                   0, null, ClientEnum.TEACHER.getCode(), musicSheet.getMusicSheetName(),reason);
+            }
+        } catch (Exception e) {
+            log.error("曲目下架失败 -->{}",e.fillInStackTrace());
         }
+
     }
 
     @Override

+ 1 - 1
cooleshow-user/user-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -509,7 +509,7 @@
         LEFT JOIN (SELECT course_id_,COUNT(1) AS payCount FROM course_schedule_student_payment GROUP BY course_id_) a ON s.id_=a.course_id_
         WHERE s.lock_=0
         AND s.status_ IN ('ING','NOT_START','COMPLETE')
-        AND g.status_ IN ('ING', 'COMPLETE','APPLY')
+        AND g.status_ IN ('ING', 'COMPLETE','APPLY','OUT_SALE')
         AND s.id_ IN
         (SELECT course_id_ FROM course_schedule_student_payment WHERE user_id_ = #{param.studentId} AND course_type_ IN ('LIVE','PIANO_ROOM_CLASS'))
         AND s.class_date_ = #{param.classDate}