package com.syzton.sunread.service.exam; import java.util.List; import java.util.Random; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.syzton.sunread.model.exam.Article; import com.syzton.sunread.repository.exam.ArticleRepository; @Service public class ArticleRepositoryService implements ArticleService { private ArticleRepository repository; @Autowired public ArticleRepositoryService(ArticleRepository repository) { this.repository = repository; } @Override public Article getRandomTrainArticleByLevel(int level) { List<Article> articles = repository.findByIsTrainingAndLevel(true, level); int i = articles.size(); Random random = new Random(); if(i>0){ int z=random.nextInt(i-1); return articles.get(z); } return null; } @Override public Article getArticle(long id) { return repository.findOne(id); } @Override public List<Article> getAllTrainArticle() { return repository.findByIsTraining(true); } @Override public Article getRandomTestArticle() { List<Article> articles = repository.findByIsTraining(false); int i = articles.size(); Random random = new Random(); if(i>0){ int z=random.nextInt(i); return articles.get(z); } return null; } @Override public List<Article> getTestArticle() { return repository.findByIsTraining(false); } @Override public List<Article> getAllArticle() { return repository.findAll(); } @Override public void deleteArticle(long id) { repository.delete(repository.findOne(id));; } @Override public Article addArticle(Article article) { return repository.save(article); } @Override public Article updateArticle(Article article) { Article old = repository.findOne(article.getId()); old.setAuthor(article.getAuthor()); old.setContent(article.getContent()); old.setLevel(article.getLevel()); old.setTopic(article.getTopic()); repository.save(old); return old; } @Override public List<Article> getTrainArticleByLevel(int level) { return repository.findByIsTrainingAndLevel(true, level); } }