hjl
2024-05-27 f991c73f56f35665bcbe8ce2252c04ea82032b10
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);