hjl
2024-06-17 e11362ca4849da567a77d8b5e5be510df9fb0741
ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TUserController.java
@@ -3,6 +3,7 @@
import com.alipay.api.AlipayApiException;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ruoyi.common.core.constant.Constants;
import com.ruoyi.common.core.constant.RedisConstants;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.exception.GlobalException;
@@ -424,6 +425,7 @@
        }
        return R.ok(data);
    }
    @PostMapping("/useGuideGetInfo")
    @ApiOperation(value = "查看详情", tags = {"家长端-使用指南"})
    public R useGuideGetInfo(Integer id) {
@@ -508,16 +510,7 @@
    public R<Map<String, Object>> studyLogin(@RequestBody RegisterPhoneRequest phoneRequest) {
        String phone = phoneRequest.getPhone();
        String phoneCode = phoneRequest.getPhoneCode();
        TUser user = userService.getOne(new QueryWrapper<TUser>()
                .ne("state", 3)
                .eq("phone", phone));
        if (user != null) {
            if (user.getState() == 2) {
                return R.freeze("登录失败,您的账号已被冻结!");
            }
        } else {
            if (!phoneCode.equals("123456")) {
                // 手机验证码校验
        // 验证码校验
                Object redisPhoneCode = redisService.getCacheObject(RedisConstants.PHONE_CODE + phone);
                if (null == redisPhoneCode) {
                    return R.errorCode("登录失败,验证码无效!");
@@ -527,15 +520,19 @@
                    String rCode = rCodeAndTime.split(":")[0];
                    if (!rCode.equalsIgnoreCase(phoneCode)) {
                        return R.errorCode("登录失败,验证码无效!");
                    } else {
                        user = getUser(phone);
                        userService.save(user);
                    }
        }
        // 获取手机号所注册用户信息
        TUser user = userService.getOne(new QueryWrapper<TUser>()
                .ne("state", 3)
                .eq("phone", phone));
        if (user != null) {
            if (user.getState() == 2) {
                return R.freeze("登录失败,您的账号已被冻结!");
                }
            } else {
                user = getUser(phone);
                userService.save(user);
            }
        }
        // 生成登录用户信息
        LoginUserParent loginUserParent = new LoginUserParent();
@@ -544,8 +541,27 @@
        loginUserParent.setPhone(user.getPhone());
        loginUserParent.setLoginTime(System.currentTimeMillis());
        HashMap<String, Object> map = new HashMap<>();
        map.put("token", tokenService.createTokenStudy(loginUserParent));
        // 获取登录token
        map.put("token", tokenService.createTokenStudy(loginUserParent));
        // 学习进度检查
        TUserStudy userStudy = userStudyService.lambdaQuery().eq(TUserStudy::getUserId, user.getId())
                .eq(TUserStudy::getDisabled, 0).one();
        if (null == userStudy) {
            TUserStudy study = new TUserStudy();
            study.setUserId(user.getId());
            study.setWeek(Constants.ONE);
            study.setDay(Constants.ONE);
            study.setTotalStudy(Constants.ZERO);
            study.setTodayStudy(Constants.ZERO);
            study.setWeekStudy(Constants.ZERO);
            study.setMonthStudy(Constants.ZERO);
            study.setListen(Constants.BURDEN_ONE);
            study.setLook(Constants.BURDEN_ONE);
            study.setInduction(Constants.BURDEN_ONE);
            study.setAnswer(Constants.BURDEN_ONE);
            study.setPair(Constants.BURDEN_ONE);
            userStudyService.save(study);
        }
        return R.ok(map);
    }