123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150 |
- package edu.nju.service;
- import edu.nju.dao.*;
- import edu.nju.entities.*;
- import edu.nju.model.ReviewWorkerVO;
- import edu.nju.util.HTTP;
- import org.json.JSONObject;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import java.util.ArrayList;
- import java.util.List;
- @Service
- public class ReviewService {
- @Autowired
- ReviewItemDao itemDao;
- @Autowired
- ReviewJobDao jobDao;
- @Autowired
- ReviewAnswerDao answerDao;
- @Autowired
- ReviewGroupDao groupDao;
- @Autowired
- ReviewReportDao reportDao;
- @Autowired
- ReviewWorkerDao reviewWorkerDao;
- @Autowired
- ReviewCorrectAnswerDao reviewCorrectAnswerDao;
- public ReviewJob getJob(String job_id){
- return jobDao.findJob(job_id);
- }
- public List<ReviewJob> getJobs(){
- return jobDao.findJobs();
- }
- public ReviewAnswer getAnswerByWorkerReportItem(String reportId,String workerId,String itemId){
- return answerDao.findAnswerByWorkerReportItem(reportId,workerId, itemId);
- }
- public boolean saveAnswer(String itemId, String reportId,String workerId,String paperId, String jobId,List<String>answers,List<String>fileUrl){
- try {
- ReviewAnswer reviewAnswer=getAnswerByWorkerReportItem(reportId,workerId,itemId);
- if(reviewAnswer==null){
- reviewAnswer=new ReviewAnswer(itemId,reportId,answers,workerId,fileUrl,jobId,paperId);
- }
- else{
- reviewAnswer.setAnswers(answers);
- reviewAnswer.setFile_url(fileUrl);
- }
- answerDao.save(reviewAnswer);
- return true;
- } catch(Exception e) {
- e.printStackTrace();
- return false;
- }
- }
- public boolean saveCorrectAnswer(String itemId, String reportId,String workerId,String paperId, String jobId,List<String> answer,List<String>fileUrl,String grade){
- try {
- ReviewCorrectAnswer reviewCorrectAnswer=reviewCorrectAnswerDao.findCorrectAnswerByReportItem(reportId,itemId);
- if(reviewCorrectAnswer==null){
- reviewCorrectAnswer=new ReviewCorrectAnswer(itemId,reportId,answer,jobId,paperId,fileUrl,grade);
- }
- else{
- reviewCorrectAnswer.setCorrect_answer(answer);
- reviewCorrectAnswer.setFile_url(fileUrl);
- }
- reviewCorrectAnswerDao.save(reviewCorrectAnswer);
- return true;
- } catch(Exception e) {
- e.printStackTrace();
- return false;
- }
- }
- public List<ReviewReport>getReportsByWorkerJob(String worker_id,String job_id){
- List<String>reportIds = groupDao.getReportsByUserJob(worker_id, job_id);
- List<ReviewReport>reports=new ArrayList<>();
- if(reportIds==null||reportIds.size()==0){
- return null;
- }else{
- for(int i=0;i<reportIds.size();i++){
- reports.add(reportDao.findReviewReport(reportIds.get(i)));
- }
- }
- return reports;
- }
- public List<ReviewItem> getItemsByReport(String report_id){
- List<ReviewItem> items=itemDao.findItemsByReport(report_id);
- return items;
- }
- public List<String> getReportsByItem(String item_id){
- ReviewItem item=itemDao.findById(item_id);
- if(item==null){
- return null;
- }
- else{
- return item.getReport_id();
- }
- }
- public List<ReviewWorkerVO>getWorkersByJob(String jobId){
- List<ReviewWorker>reviewWorkers=reviewWorkerDao.getWorkersByJob(jobId);
- List<ReviewWorkerVO>reviewWorkerVOS=new ArrayList<>();
- try {
- for(int i=0;i<reviewWorkers.size();i++){
- ReviewWorker reviewWorker=reviewWorkers.get(i);
- String result = HTTP.sendGet("http://114.55.91.83:8191/api/user/" + reviewWorker.getOriginal_id(), "");
- String name="";
- String school="";
- if(result != null && !result.equals("")) {
- JSONObject json = new JSONObject(result);
- name=json.getString("name");
- school=json.getString("school");
- }
- reviewWorkerVOS.add(new ReviewWorkerVO(reviewWorker,name,school));
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- return reviewWorkerVOS;
- }
- public List<ReviewAnswer>getItemReportJobAnswers(String itemId, String reportId,String jobId){
- return answerDao.getItemReportJobAnswers(itemId,reportId,jobId);
- }
- public boolean setGrade(String itemId, String reportId, String workerId,String grade){
- try {
- ReviewAnswer reviewAnswer=answerDao.findAnswerByWorkerReportItem(reportId,workerId,itemId);
- if(reviewAnswer==null){
- return false;
- }
- else{
- reviewAnswer.setGrade(grade);
- }
- return true;
- } catch(Exception e) {
- e.printStackTrace();
- return false;
- }
- }
- }
|