Преглед изворни кода

refactor(course): 移除课程奖励发放相关代码并优化标签逻辑

- 删除 CourseController 中的 sendAppReward 接口方法
- 移除 FsUserCourseVideoController 中的更新课堂视频接口
- 修改 FsUserCourseVideoServiceImpl 中查询看课记录的方法调用参数- 在 FsTagUpdateServiceImpl 中将自动打标签开关默认值从1改为0
-为 FsVideoCourseTagServiceImpl 添加重复插入异常处理逻辑
- 引入 CompletableFuture 和 ExecutionException 支持异步处理
-为 FsVideoCourseTagServiceImpl 类添加@Slf4j注解以支持日志记录- 处理 DuplicateKeyException 异常避免标签重复插入问题
xw пре 1 недеља
родитељ
комит
6db410cff5

+ 0 - 10
fs-company/src/main/java/com/fs/company/controller/course/FsUserCourseVideoController.java

@@ -86,17 +86,7 @@ public class FsUserCourseVideoController extends BaseController
         }
         return toAjax(fsUserCourseVideoService.insertFsUserCourseVideo(fsUserCourseVideo));
     }
-    /**
-     * 更新课堂视频
-     */
-    @PreAuthorize("@ss.hasPermi('course:userCourseVideo:update')")
-    @Log(title = "更新课堂视频", businessType = BusinessType.UPDATE)
-    @PostMapping("/update")
-    public AjaxResult update(@RequestBody FsUserCourseVideo fsUserCourseVideo)
-    {
 
-        return toAjax(fsUserCourseVideoService.updateFsUserCourseVideo(fsUserCourseVideo));
-    }
     /**
      * 更新课堂视频
      */

+ 0 - 2
fs-service/src/main/java/com/fs/course/service/IFsUserCourseVideoService.java

@@ -208,6 +208,4 @@ public interface IFsUserCourseVideoService
      * 查询选择使用的视频列表
      */
     List<FsUserCourseVideoChooseVO> getChooseCourseVideoListByMap(Map<String, Object> params);
-
-    R sendAppReward(FsCourseSendRewardUParam param);
 }

+ 2 - 2
fs-service/src/main/java/com/fs/course/service/impl/FsUserCourseVideoServiceImpl.java

@@ -2110,7 +2110,7 @@ public class FsUserCourseVideoServiceImpl implements IFsUserCourseVideoService
         }
         //公开课
         if (param.getIsOpenCourse()!=null && param.getIsOpenCourse()==1){
-            FsCourseWatchLog watchCourseVideo = courseWatchLogMapper.getCourseWatchLogByUser(param.getUserId(), param.getVideoId());
+            FsCourseWatchLog watchCourseVideo = courseWatchLogMapper.getCourseWatchLogByUser(param.getUserId(), param.getVideoId(),null);
             //添加判断:该用户是否已经存在此课程的看课记录,并且看课记录的销售id不是传入的销售id
             if(watchCourseVideo != null){
                 FsCourseWatchLog updateLog = new FsCourseWatchLog();
@@ -2184,7 +2184,7 @@ public class FsUserCourseVideoServiceImpl implements IFsUserCourseVideoService
 
         //查询看课记录
 //        FsCourseWatchLog watchCourseVideo = courseWatchLogMapper.getWatchCourseVideoByFsUser(param.getUserId(), param.getVideoId(), param.getCompanyUserId());
-        FsCourseWatchLog watchCourseVideo = courseWatchLogMapper.getCourseWatchLogByUser(param.getUserId(), param.getVideoId());
+        FsCourseWatchLog watchCourseVideo = courseWatchLogMapper.getCourseWatchLogByUser(param.getUserId(), param.getVideoId(),null);
 
         if (!isUserCoursePeriodValid(param)) {
             return ResponseResult.fail(504, "请观看最新的课程项目");

+ 2 - 0
fs-service/src/main/java/com/fs/his/service/impl/FsUserServiceImpl.java

@@ -93,6 +93,8 @@ import java.math.BigInteger;
 import java.math.RoundingMode;
 import java.time.LocalDateTime;
 import java.util.*;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
 import java.util.function.Function;
 import java.util.stream.Collectors;
 

+ 1 - 1
fs-service/src/main/java/com/fs/tag/service/impl/FsTagUpdateServiceImpl.java

@@ -86,7 +86,7 @@ public class FsTagUpdateServiceImpl implements FsTagUpdateService {
     /**
      * 看课自动打标签开关
      */
-    @Value("${qw.enableAutoTag:1}")
+    @Value("${qw.enableAutoTag:0}")
     private Integer enableAutoTag;
 
     @PostConstruct

+ 10 - 2
fs-service/src/main/java/com/fs/tag/service/impl/FsVideoCourseTagServiceImpl.java

@@ -13,7 +13,9 @@ import com.fs.qw.mapper.QwTagMapper;
 import com.fs.tag.domain.FsVideoCourseTag;
 import com.fs.tag.mapper.FsVideoCourseTagMapper;
 import com.fs.tag.service.IFsVideoCourseTagService;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.dao.DuplicateKeyException;
 import org.springframework.stereotype.Service;
 
 /**
@@ -22,6 +24,7 @@ import org.springframework.stereotype.Service;
  * @author fs
  * @date 2025-11-05
  */
+@Slf4j
 @Service
 public class FsVideoCourseTagServiceImpl extends ServiceImpl<FsVideoCourseTagMapper, FsVideoCourseTag> implements IFsVideoCourseTagService {
 
@@ -94,8 +97,13 @@ public class FsVideoCourseTagServiceImpl extends ServiceImpl<FsVideoCourseTagMap
     @Override
     public int insertFsVideoCourseTag(FsVideoCourseTag fsVideoCourseTag)
     {
-        fsVideoCourseTag.setCreateTime(DateUtils.getNowDate());
-        return baseMapper.insertFsVideoCourseTag(fsVideoCourseTag);
+        try{
+            fsVideoCourseTag.setCreateTime(DateUtils.getNowDate());
+            return baseMapper.insertFsVideoCourseTag(fsVideoCourseTag);
+        }catch (DuplicateKeyException e){
+            log.info("同一主体的小节添加标签不允许重复!");
+            throw new RuntimeException("同一主体的小节添加标签不允许重复!");
+        }
     }
 
     /**

+ 0 - 11
fs-user-app/src/main/java/com/fs/app/controller/CourseController.java

@@ -344,15 +344,4 @@ public class CourseController extends  AppBaseController{
     public void updateUrl(){
         tencentCloudCosService.updateUrl();
     }
-
-    @Login
-    @ApiOperation("发放奖励App")
-    @PostMapping("/sendAppReward")
-    @RepeatSubmit
-    public R sendAppReward(@RequestBody FsCourseSendRewardUParam param)
-    {
-        param.setUserId(Long.parseLong(getUserId()));
-        log.info("zyp \n【发放APP奖励】:{}",param);
-        return courseVideoService.sendAppReward(param);
-    }
 }