Explorar o código

手动看课记录appId

xw hai 2 días
pai
achega
70b68f3708

+ 49 - 0
fs-user-app/src/main/java/com/fs/app/controller/course/CourseFsUserController.java

@@ -14,6 +14,7 @@ import com.fs.app.annotation.Login;
 import com.fs.common.core.domain.model.LoginUser;
 import com.fs.common.utils.CloudHostUtils;
 import com.fs.common.utils.SecurityUtils;
+import com.fs.common.utils.StringUtils;
 import com.fs.course.dto.BatchSendCourseDTO;
 import com.fs.course.param.*;
 import com.fs.course.param.newfs.FsUserCourseAddCompanyUserParam;
@@ -24,6 +25,7 @@ import com.fs.course.vo.FsUserCourseVideoH5VO;
 import com.fs.course.vo.newfs.FsUserCourseVideoLinkDetailsVO;
 import com.fs.his.domain.FsUser;
 import com.fs.his.enums.FsUserOperationEnum;
+import com.fs.his.service.IFsUserService;
 import com.fs.im.dto.OpenImResponseDTO;
 import com.fs.im.service.OpenIMService;
 import io.swagger.annotations.Api;
@@ -47,6 +49,8 @@ public class CourseFsUserController extends AppBaseController {
     @Autowired
     private IFsUserCourseVideoService courseVideoService;
 
+    @Autowired
+    private IFsUserService fsUserService;
 
     @Autowired
     private IFsCourseLinkService courseLinkService;
@@ -64,6 +68,21 @@ public class CourseFsUserController extends AppBaseController {
             Long userId = Long.parseLong(getUserId());
             param.setUserId(userId);
         }
+        
+        // 记录appId到fs_user表
+        if (StringUtils.isNotEmpty(param.getAppId())) {
+            FsUser user = fsUserService.selectFsUserById(param.getUserId());
+            if (user != null) {
+                String updatedAppId = addAppIdIfNotExists(user.getAppId(), param.getAppId());
+                if (!updatedAppId.equals(user.getAppId())) {
+                    FsUser userUpdate = new FsUser();
+                    userUpdate.setUserId(param.getUserId());
+                    userUpdate.setAppId(updatedAppId);
+                    fsUserService.updateFsUser(userUpdate);
+                }
+            }
+        }
+        
         return courseVideoService.isAddCompanyUser(param);
     }
 
@@ -169,4 +188,34 @@ public class CourseFsUserController extends AppBaseController {
         logger.error("zyp \n【h5看课中途报错】:{}",msg);
     }
 
+    /**
+     * 添加appId到用户的appId列表中(如果不存在)
+     * @param currentAppIds 当前用户已有的appId列表(逗号分隔)
+     * @param newAppId 新的appId
+     * @return 更新后的appId列表
+     */
+    private String addAppIdIfNotExists(String currentAppIds, String newAppId) {
+        // 如果新appId为空,返回原值
+        if (StringUtils.isEmpty(newAppId)) {
+            return currentAppIds == null ? "" : currentAppIds;
+        }
+
+        // 如果当前appId为空,直接返回新appId
+        if (StringUtils.isEmpty(currentAppIds)) {
+            return newAppId;
+        }
+
+        // 检查是否已存在
+        String[] appIdArray = currentAppIds.split(",");
+        for (String appId : appIdArray) {
+            if (appId.trim().equals(newAppId.trim())) {
+                // 已存在,不需要添加
+                return currentAppIds;
+            }
+        }
+
+        // 不存在,追加到末尾
+        return currentAppIds + "," + newAppId;
+    }
+
 }