Browse Source

fix(course):优化用户ID解析逻辑并限制查询结果

- 在SQL查询中添加limit 1以提高性能
- 增强用户ID解析的异常处理机制- 添加对非数字用户ID的错误提示信息
xw 16 hours ago
parent
commit
9e4923c250

+ 1 - 0
fs-service/src/main/resources/mapper/company/CompanyDivConfigMapper.xml

@@ -35,6 +35,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     <select id="selectCompanyDivConfigByCompanyId" parameterType="Long" resultMap="CompanyDivConfigResult">
         <include refid="selectCompanyDivConfigVo"/>
         where company_id = #{companyId}
+        limit 1
     </select>
 
     <insert id="insertCompanyDivConfig" parameterType="CompanyDivConfig">

+ 7 - 1
fs-user-app/src/main/java/com/fs/app/controller/course/CourseFsUserController.java

@@ -105,7 +105,13 @@ public class CourseFsUserController extends AppBaseController {
     @ApiOperation("获取缓冲流量")
     @PostMapping("/getInternetTraffic")
     public R getInternetTraffic(@RequestBody FsUserCourseVideoFinishUParam param) {
-        param.setUserId(Long.parseLong(getUserId()));
+        String uidStr = getUserId();
+        try {
+            param.setUserId(Long.parseLong(uidStr));
+        } catch (Exception ex) {
+            logger.error("getInternetTraffic - 无法解析用户ID: {}", uidStr, ex);
+            return R.error("未授权或Token不合法:APPToken的subject不是数字");
+        }
         return courseVideoService.getInternetTraffic(param);
     }