From f991c73f56f35665bcbe8ce2252c04ea82032b10 Mon Sep 17 00:00:00 2001
From: hjl <1657978663@qq.com>
Date: 星期一, 27 五月 2024 18:06:31 +0800
Subject: [PATCH] feat: 修复登录bug;数据校验规则优化

---
 ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TUserController.java |   38 +++++++++++++++++++++++++++++++-------
 1 files changed, 31 insertions(+), 7 deletions(-)

diff --git a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TUserController.java b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TUserController.java
index 4d134b1..450d2e3 100644
--- a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TUserController.java
+++ b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TUserController.java
@@ -385,7 +385,7 @@
             @ApiImplicitParam(value = "手机号", name = "phone", dataType = "string", required = true),
             @ApiImplicitParam(value = "验证码", name = "phoneCode", dataType = "string", required = true)
     })
-    public R<Map<String,Object>> login(String phone, String phoneCode) {
+    public R<Map<String, Object>> login(String phone, String phoneCode) {
         TUser tUser1 = userService.getOne(new QueryWrapper<TUser>()
                 .ne("state", 3)
                 .eq("phone", phone));
@@ -428,7 +428,7 @@
      */
     @PostMapping("/studyLogin")
     @ApiOperation(value = "学习端-登录", tags = {"学习端-登录"})
-    public R<Map<String,Object>> studyLogin(@RequestBody @Validated RegisterPhoneRequest phoneRequest) {
+    public R<Map<String, Object>> studyLogin(@RequestBody @Validated RegisterPhoneRequest phoneRequest) {
         String phone = phoneRequest.getPhone();
         String phoneCode = phoneRequest.getPhoneCode();
         TUser user = userService.getOne(new QueryWrapper<TUser>()
@@ -467,6 +467,28 @@
         return R.ok(map);
     }
 
+    /**
+     * 学生端退出登录
+     * @param request 请求信息
+     */
+    @PostMapping("/logoutStudy")
+    @ApiOperation(value = "退出登录", tags = {"学习端-个人中心"})
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "Authorization", value = "Bearer eyJhbGciOiJIUzUxMiJ....", required = true, paramType = "header"),
+    })
+    public R<String> logoutStudy(HttpServletRequest request) {
+        if (tokenService.getLoginUserStudy() == null) {
+            throw new GlobalException("登录失效!");
+        }
+        String token = SecurityUtils.getToken(request);
+        if (null != token) {
+            // 删除用户缓存记录
+            AuthUtil.logoutByTokenStudy(token);
+        }
+        // todo 清除token
+        return R.ok("退出登录成功!");
+    }
+
     private TUser getUser(String phone) {
         TUser user = new TUser();
         // 注册
@@ -489,7 +511,7 @@
     @ApiImplicitParams({
             @ApiImplicitParam(value = "手机号", name = "phone", dataType = "string", required = true),
     })
-    public R sendPhoneCode(@RequestParam String phone) {
+    public R<?> sendPhoneCode(@RequestParam String phone) {
         return userService.phoneCode(phone) ? R.ok() : R.fail();
     }
 
@@ -527,7 +549,7 @@
     @GetMapping("/userInfo")
     @ApiOperation(value = "用户详情", tags = {"用户详情"})
     public R<TUser> userInfo() {
-        return R.ok(userService.lambdaQuery().eq(TUser::getId,tokenService.getLoginUserStudy().getUserid()).one());
+        return R.ok(userService.lambdaQuery().eq(TUser::getId, tokenService.getLoginUserStudy().getUserid()).one());
     }
 
     @PostMapping("/deleteUser")
@@ -737,12 +759,14 @@
         res.setTotal(list.size());
         return R.ok(res);
     }
+
     @Resource
     private ITUserStudyService userStudyService;
     @Resource
     private ITGameRecordService gameRecordService;
     @Autowired
     private ITStudyService studyService;
+
     @PostMapping("/getUserInfo")
     @ApiOperation(value = "查看用户详情", tags = {"管理后台-用户管理"})
     public R<UserInfoVO> getUserInfo(@RequestBody UserInfoQuery dto) {
@@ -779,16 +803,16 @@
         // 游戏测试成绩
         List<TGameRecord> gameRecordList = gameRecordService.lambdaQuery().eq(TGameRecord::getUserId, dto.getId())
                 .eq(TGameRecord::getDisabled, 0).list();
-        if (studyRecord!=null){
+        if (studyRecord != null) {
             res.setCurrent(studyRecord.getWeek());
             // 查询当前听的总周目
             List<TStudy> list1 = studyService.list(new QueryWrapper<>());
-            res.setSurplus(list1.size()-studyRecord.getWeek());
+            res.setSurplus(list1.size() - studyRecord.getWeek());
             res.setTotalHours(studyRecord.getTotalStudy().doubleValue());
             res.setTodayHours(studyRecord.getTodayStudy().doubleValue());
             res.setWeekHours(studyRecord.getWeekStudy().doubleValue());
             res.setMonthHours(studyRecord.getMonthStudy().doubleValue());
-        }else{
+        } else {
             res.setCurrent(0);
             res.setSurplus(0);
             res.setTotalHours(0.0);

--
Gitblit v1.7.1