三七 3 недель назад
Родитель
Сommit
5f0f923189

+ 3 - 1
fs-service/src/main/java/com/fs/course/param/FsCourseListBySidebarParam.java

@@ -1,5 +1,6 @@
 package com.fs.course.param;
 package com.fs.course.param;
 
 
+import com.fs.common.core.domain.BaseEntity;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.Data;
@@ -9,7 +10,8 @@ import java.util.List;
 
 
 @Data
 @Data
 @ApiModel
 @ApiModel
-public class FsCourseListBySidebarParam implements Serializable {
+public class FsCourseListBySidebarParam extends BaseEntity {
+
 
 
     @ApiModelProperty(value = "页码,默认为1", required = true)
     @ApiModelProperty(value = "页码,默认为1", required = true)
     private Integer pageNum = 1;
     private Integer pageNum = 1;

+ 1 - 1
fs-service/src/main/java/com/fs/live/domain/LiveWatchUser.java

@@ -77,7 +77,7 @@ public class LiveWatchUser extends BaseEntity {
     */
     */
     private Integer sendType;
     private Integer sendType;
     /**
     /**
-    * 奖励类型 1红包 2积分 3 红包 + 积分 (1|2) 4核销卷 5 红包 + 核销卷 (1|4) 6积分 + 核销卷 (2|4) 7 全部 (1|2|4) 99 未设置奖励
+    * 奖励类型 1红包 2积分 3 红包 + 积分 (1|2) 4核销卷 5 红包 + 核销卷 (1|4) 6积分 + 核销卷 (2|4) 7 全部 (1|2|4) 97 直播题目没答对且次数耗尽  98已跳转但是没点确定领取 99 未设置奖励
     */
     */
     private Integer rewardType;
     private Integer rewardType;
 
 

+ 60 - 29
fs-service/src/main/java/com/fs/live/service/impl/LiveRedPacketLogServiceImpl.java

@@ -277,6 +277,10 @@ public class LiveRedPacketLogServiceImpl extends ServiceImpl<LiveRedPacketLogMap
                     if (watchUser==null){
                     if (watchUser==null){
                         return R.error("您没有观看过该课程,无奖励发放!");
                         return R.error("您没有观看过该课程,无奖励发放!");
                     }
                     }
+
+                    if (watchUser.getSendType() != null){
+                        return R.error("奖励已发放!请勿重复领取");
+                    }
                 }
                 }
                 //直播不空 那要存一下录播
                 //直播不空 那要存一下录播
                 else {
                 else {
@@ -285,28 +289,46 @@ public class LiveRedPacketLogServiceImpl extends ServiceImpl<LiveRedPacketLogMap
 
 
                 }
                 }
 
 
+                if (watchUser.getSendType() != null || (replayUser != null && replayUser.getSendType() != null)){
+                    return R.error("奖励已发放!请勿重复领取");
+                }
 
 
-                //是否以及领取了奖励 看直播或者录播 俩者只要有一个领取了奖励 就返回
-                if (watchUser.getRewardType() != null || (replayUser != null && replayUser.getRewardType() != null)) {
-
-                    LiveRedPacketLog liveRedPacketLog = redPacketLogMapper.selectLiveRedPacketLogByTemporary(param.getLiveId(), param.getUserId());
+                // 查是否有领取记录
+                LiveRedPacketLog liveRedPacketLog = redPacketLogMapper.selectLiveRedPacketLogByTemporary(param.getLiveId(), param.getUserId());
 
 
-                    log.info("直播课程红包:{}", liveRedPacketLog);
-                    if (liveRedPacketLog != null && liveRedPacketLog.getStatus() == 1) {
-                        return R.error("已领取该直播课程奖励,不可重复领取!");
-                    }
-                    if (liveRedPacketLog != null && liveRedPacketLog.getStatus() == 0) {
-                        if (StringUtils.isNotEmpty(liveRedPacketLog.getResult())) {
-                            R r = JSON.parseObject(liveRedPacketLog.getResult(), R.class);
-                            return r;
-                        } else {
-                            return R.error("操作频繁,请稍后再试!");
-                        }
-                    }
-                    if (liveRedPacketLog != null && liveRedPacketLog.getStatus() == 2) {
-                        return R.error("请联系客服补发");
+                log.info("直播课程红包:{}", liveRedPacketLog);
+                if (liveRedPacketLog != null && liveRedPacketLog.getStatus() == 1) {
+                    //已领确定领取
+                    watchUser.setRewardType(1);
+                    watchUser.setSendType(1);
+                    watchUserMapper.updateLiveWatchUser(watchUser);
+                    return R.error("已领取该直播课程奖励,不可重复领取!");
+                }
+                if (liveRedPacketLog != null && liveRedPacketLog.getStatus() == 0) {
+                    //已跳转但是没点确定领取
+                    watchUser.setRewardType(1);
+                    watchUser.setSendType(1);
+                    watchUserMapper.updateLiveWatchUser(watchUser);
+
+                    if (!StringUtil.strIsNullOrEmpty(liveRedPacketLog.getResult())) {
+                        R r = JSON.parseObject(liveRedPacketLog.getResult(), R.class);
+                        return r;
+                    } else {
+                        return R.error("操作频繁,请稍后再试!");
                     }
                     }
-                    return R.error("奖励已发放");
+                }
+                if (liveRedPacketLog != null && liveRedPacketLog.getStatus() == 2) {
+                    return R.error("请联系客服补发");
+                }
+
+                //已经有领取记录了 但是 奖励状态没变更 给它改了
+                if (liveRedPacketLog!=null && (watchUser.getRewardType() != null || (replayUser != null && replayUser.getRewardType() != null))) {
+                    //已跳转但是没点确定领取
+                    watchUser.setRewardType(98);
+                    watchUser.setSendType(1);
+                    watchUserMapper.updateLiveWatchUser(watchUser);
+
+                    return R.error("奖励已发放!请勿重复领取");
                 }
                 }
 
 
                 //判断直播数据 是否满足 完课/如果有录播数据 再判断录播是否满足完课
                 //判断直播数据 是否满足 完课/如果有录播数据 再判断录播是否满足完课
@@ -363,6 +385,12 @@ public class LiveRedPacketLogServiceImpl extends ServiceImpl<LiveRedPacketLogMap
                         LiveCompletionAnswerRecordListVO answerRecordListVO = liveCompletionAnswerRecordService.selectLiveCompletionAnswerRecordByLiveUserId(param.getLiveId(), param.getUserId());
                         LiveCompletionAnswerRecordListVO answerRecordListVO = liveCompletionAnswerRecordService.selectLiveCompletionAnswerRecordByLiveUserId(param.getLiveId(), param.getUserId());
                         //没有答对的 直接红包OK 答对了走下面的 红包
                         //没有答对的 直接红包OK 答对了走下面的 红包
                         if (answerRecordListVO==null){
                         if (answerRecordListVO==null){
+
+                            // 97 直播题目没答对且次数耗尽
+                            watchUser.setRewardType(97);
+                            watchUser.setSendType(1);
+
+                            watchUserMapper.updateLiveWatchUser(watchUser);
                             return R.ok();
                             return R.ok();
                         }
                         }
                     }
                     }
@@ -830,9 +858,10 @@ public class LiveRedPacketLogServiceImpl extends ServiceImpl<LiveRedPacketLogMap
                 if (sendRedPacket.get("code").equals(200)) {
                 if (sendRedPacket.get("code").equals(200)) {
 
 
                     // 更新观看记录的奖励类型
                     // 更新观看记录的奖励类型
-//                    watchUser.setRewardType(1);
-//                    watchUser.setSendType(1);
-//                    watchUserMapper.updateLiveWatchUser(watchUser);
+                    watchUser.setRewardType(1);
+                    watchUser.setSendType(1);
+                    watchUserMapper.updateLiveWatchUser(watchUser);
+
 
 
                     LiveRedPacketLog liveRedPacketLog = new LiveRedPacketLog();
                     LiveRedPacketLog liveRedPacketLog = new LiveRedPacketLog();
                     TransferBillsResult transferBillsResult;
                     TransferBillsResult transferBillsResult;
@@ -886,9 +915,10 @@ public class LiveRedPacketLogServiceImpl extends ServiceImpl<LiveRedPacketLogMap
                     if (sendRedPacket.get("code").equals(200)) {
                     if (sendRedPacket.get("code").equals(200)) {
 
 
                         // 更新观看记录的奖励类型
                         // 更新观看记录的奖励类型
-//                        watchUser.setRewardType(1);
-//                        watchUser.setSendType(1);
-//                        watchUserMapper.updateLiveWatchUser(watchUser);
+                        watchUser.setRewardType(1);
+                        watchUser.setSendType(1);
+                        watchUserMapper.updateLiveWatchUser(watchUser);
+
 
 
                         LiveRedPacketLog liveRedPacketLog = new LiveRedPacketLog();
                         LiveRedPacketLog liveRedPacketLog = new LiveRedPacketLog();
                         TransferBillsResult transferBillsResult;
                         TransferBillsResult transferBillsResult;
@@ -925,10 +955,11 @@ public class LiveRedPacketLogServiceImpl extends ServiceImpl<LiveRedPacketLogMap
             }
             }
         } else {
         } else {
 
 
-//            // 更新直播观看记录的奖励类型
-//            watchUser.setRewardType(1);
-//            watchUser.setSendType(1);
-//            watchUserMapper.updateLiveWatchUser(watchUser);
+            // 更新观看记录的奖励类型
+            watchUser.setRewardType(1);
+            watchUser.setSendType(1);
+            watchUserMapper.updateLiveWatchUser(watchUser);
+
 
 
             LiveRedPacketLog liveRedPacketLog = new LiveRedPacketLog();
             LiveRedPacketLog liveRedPacketLog = new LiveRedPacketLog();
             // 添加红包记录
             // 添加红包记录