| | |
| | | data.setIsDelete(0); |
| | | result = result && userPresentRecordService.save(data); |
| | | } else { |
| | | if (System.currentTimeMillis() - record.getPresentTime().getTime() >= 10 * 60 * 1000) { |
| | | if (System.currentTimeMillis() - record.getPresentTime().getTime() >= (long) Integer.parseInt(sysSet.getTime()) * 60 * 1000) { |
| | | // 赠送积分 |
| | | result = userService.lambdaUpdate() |
| | | .set(TUser::getIntegral, user.getIntegral() + Integer.parseInt(integral)) |
| | |
| | | data.setPresentTime(new Date()); |
| | | data.setIsDelete(0); |
| | | result = result && userPresentRecordService.save(data); |
| | | // 生成积分明细 |
| | | TIntegralRecord integralRecord = new TIntegralRecord(); |
| | | integralRecord.setIntegral(sysSet.getIntegral()); |
| | | integralRecord.setMethod(Constants.ONLINE_DURATION); |
| | | integralRecord.setUserId(loginStudy.getUserid()); |
| | | result = result && integralRecordService.save(integralRecord); |
| | | } |
| | | } |
| | | return R.ok(result); |
| | |
| | | * 例如:游戏配置的积分是100,他的正确率是50%那么拿50分,下次他再玩这个游戏 正确率是60% 那么他该获得60分 但是上次已经拿了50 所以这次就只给他加10积分 |
| | | */ |
| | | Integer userid = loginUserStudy.getUserid(); |
| | | TGame game = gameService.lambdaQuery().eq(TGame::getId, completeStudy.getGameId()).eq(TGame::getDisabled, 0).one(); |
| | | TGame game = gameService.lambdaQuery().eq(TGame::getId, completeStudy.getGameId()) |
| | | .eq(TGame::getDisabled, 0).one(); |
| | | if (null == game) { |
| | | throw new GlobalException("游戏信息异常!"); |
| | | } |
| | |
| | | .eq(TIntegralRecord::getGameDifficulty, difficulty).list(); |
| | | // 本次游戏总共能获取的积分数量 |
| | | Integer integral; |
| | | Integer item = null; |
| | | if (completeStudy.getGameName().equals(Constants.HEARING)) { |
| | | // 本次游戏总积分 |
| | | integral = Integer.parseInt(game.getIntegral().split(",")[difficulty]); |
| | | item = completeStudy.getDifficulty(); |
| | | } else if (completeStudy.getGameName().equals(Constants.MEMORY)) { |
| | | integralRecordList = integralRecordService.lambdaQuery() |
| | | .eq(TIntegralRecord::getUserId, userid) |
| | | .eq(TIntegralRecord::getGameId, game.getId()) |
| | | .eq(TIntegralRecord::getDisabled, 0) |
| | | .eq(TIntegralRecord::getGameDifficulty, null).list(); |
| | | .last("and gameDifficulty is null").list(); |
| | | integral = game.getAnswerIntegral(); |
| | | } else { |
| | | throw new GlobalException("该次游戏积分计算异常!"); |
| | |
| | | // 可获得积分不为null时,才添加积分明细记录 |
| | | if (null != availableIntegral && !Constants.ZERO.equals(availableIntegral)) { |
| | | add = add && integralRecordService.add(String.valueOf(availableIntegral), |
| | | Constants.COMPLETE_GAME, completeStudy.getGameId(), null, difficulty, null); |
| | | Constants.COMPLETE_GAME, completeStudy.getGameId(), null, item, null); |
| | | // 用户账户添加积分 |
| | | TUser user = userService.getById(userid); |
| | | user.setIntegral(user.getIntegral() + availableIntegral); |