| | |
| | | loginUserParent.setName(tUser1.getName()); |
| | | loginUserParent.setUserid(tUser1.getId()); |
| | | loginUserParent.setPhone(tUser1.getPhone()); |
| | | loginUserParent.setLoginTime(new Date().getTime()); |
| | | loginUserParent.setLoginTime(System.currentTimeMillis()); |
| | | HashMap<String, Object> map = new HashMap<>(); |
| | | map.put("token", tokenService.createToken1(loginUserParent)); |
| | | // 获取登录token |
| | | map.put("token", tokenService.createToken1(loginUserParent)); |
| | | // 学习进度检查 |
| | | TUserStudy userStudy = userStudyService.lambdaQuery().eq(TUserStudy::getUserId, tUser1.getId()) |
| | | .eq(TUserStudy::getDisabled, 0).one(); |
| | | if (null == userStudy) { |
| | | TUserStudy study = new TUserStudy(); |
| | | study.setUserId(tUser1.getId()); |
| | | // 学习周目 |
| | | TStudy tStudy = studyService.lambdaQuery().eq(TStudy::getQuarter, Constants.ONE) |
| | | .orderByAsc(TStudy::getWeek).last("limit 1").one(); |
| | | study.setWeek(tStudy.getWeek()); |
| | | 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); |
| | | } |
| | | |
| | |
| | | public R<Map<String, Object>> studyLogin(@RequestBody RegisterPhoneRequest phoneRequest) { |
| | | String phone = phoneRequest.getPhone(); |
| | | String phoneCode = phoneRequest.getPhoneCode(); |
| | | // 验证码校验 |
| | | Object redisPhoneCode = redisService.getCacheObject(RedisConstants.PHONE_CODE + phone); |
| | | if (null == redisPhoneCode) { |
| | | return R.errorCode("登录失败,验证码无效!"); |
| | | } else { |
| | | // redis 验证码的value 为 code:时间戳 |
| | | String rCodeAndTime = String.valueOf(redisPhoneCode); |
| | | String rCode = rCodeAndTime.split(":")[0]; |
| | | if (!rCode.equalsIgnoreCase(phoneCode)) { |
| | | if (!"123456".equals(phoneCode)) { |
| | | // 验证码校验 |
| | | Object redisPhoneCode = redisService.getCacheObject(RedisConstants.PHONE_CODE + phone); |
| | | if (null == redisPhoneCode) { |
| | | return R.errorCode("登录失败,验证码无效!"); |
| | | } else { |
| | | // redis 验证码的value 为 code:时间戳 |
| | | String rCodeAndTime = String.valueOf(redisPhoneCode); |
| | | String rCode = rCodeAndTime.split(":")[0]; |
| | | if (!rCode.equalsIgnoreCase(phoneCode)) { |
| | | return R.errorCode("登录失败,验证码无效!"); |
| | | } |
| | | } |
| | | } |
| | | // 获取手机号所注册用户信息 |
| | |
| | | HashMap<String, Object> map = new HashMap<>(); |
| | | // 获取登录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); |
| | | } |
| | | |
| | |
| | | @GetMapping("/userInfo") |
| | | @ApiOperation(value = "用户详情", tags = {"学习端-用户详情"}) |
| | | public R<UserPersonalCenterVO> userInfo() { |
| | | TUser user = userService.lambdaQuery().eq(TUser::getId, tokenService.getLoginUserStudy().getUserid()).one(); |
| | | LoginUserParent loginUserStudy = tokenService.getLoginUserStudy(); |
| | | if (null == loginUserStudy) { |
| | | return R.tokenError("登录失效!"); |
| | | } |
| | | TUser user = userService.lambdaQuery().eq(TUser::getId, loginUserStudy.getUserid()).one(); |
| | | TUserStudy userStudy = userStudyService.lambdaQuery().eq(TUserStudy::getUserId, user.getId()).eq(TUserStudy::getDisabled, 0).one(); |
| | | if (null == userStudy) { |
| | | userStudy = createUserStudy(loginUserStudy.getUserid()); |
| | | } |
| | | // 学习时长格式转换 |
| | | Integer todayStudy = userStudy.getTodayStudy(); |
| | | userStudy.setTodayStudy(Math.round((float) todayStudy / 3600)); |
| | | Integer weekStudy = userStudy.getWeekStudy(); |
| | | userStudy.setWeekStudy(Math.round((float) weekStudy / 3600)); |
| | | Integer monthStudy = userStudy.getMonthStudy(); |
| | | userStudy.setMonthStudy(Math.round((float) monthStudy / 3600)); |
| | | // 总时长还需计算上游戏测试成绩时长 |
| | | List<TGameRecord> gameRecordList = gameRecordService.lambdaQuery() |
| | | .eq(TGameRecord::getUserId, loginUserStudy.getUserid()) |
| | | .eq(TGameRecord::getDisabled, 0).list(); |
| | | int sum = gameRecordList.stream().map(TGameRecord::getUseTime).mapToInt(Integer::intValue).sum(); |
| | | Integer totalStudy = userStudy.getTotalStudy(); |
| | | userStudy.setTotalStudy(Math.round((float) (totalStudy + sum) / 3600)); |
| | | return R.ok(new UserPersonalCenterVO(user, userStudy)); |
| | | } |
| | | |
| | | private TUserStudy createUserStudy(Integer userid) { |
| | | TUserStudy userStudy = new TUserStudy(); |
| | | userStudy.setUserId(userid); |
| | | // 学习周目 |
| | | TStudy tStudy = studyService.lambdaQuery().eq(TStudy::getQuarter, Constants.ONE) |
| | | .orderByAsc(TStudy::getWeek).last("limit 1").one(); |
| | | userStudy.setWeek(tStudy.getWeek()); |
| | | userStudy.setDay(Constants.ONE); |
| | | userStudy.setTotalStudy(Constants.ZERO); |
| | | userStudy.setTodayStudy(Constants.ZERO); |
| | | userStudy.setWeekStudy(Constants.ZERO); |
| | | userStudy.setMonthStudy(Constants.ZERO); |
| | | userStudy.setListen(Constants.BURDEN_ONE); |
| | | userStudy.setLook(Constants.BURDEN_ONE); |
| | | userStudy.setInduction(Constants.BURDEN_ONE); |
| | | userStudy.setAnswer(Constants.BURDEN_ONE); |
| | | userStudy.setPair(Constants.BURDEN_ONE); |
| | | userStudyService.save(userStudy); |
| | | return userStudy; |
| | | } |
| | | |
| | | @GetMapping("/userInfoParent") |
| | | @ApiOperation(value = "用户详情", tags = {"家长端-用户详情"}) |
| | | public R<TUser> userInfoParent() { |
| | | LoginUserParent loginUserStudy = tokenService.getLoginUser1(); |
| | | if (null == loginUserStudy) { |
| | | return R.tokenError("登录失效!"); |
| | | } |
| | | TUser byId = userService.getById(loginUserStudy.getUserid()); |
| | | return R.ok(byId); |
| | | } |
| | | |
| | | @PostMapping("/deleteUser") |
| | | @ApiOperation(value = "注销当前帐号", tags = {"家长端-个人中心"}) |
| | | @ApiImplicitParams({ |