ReportDao.java 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. package edu.nju.dao;
  2. import java.util.List;
  3. import org.springframework.beans.factory.annotation.Autowired;
  4. import org.springframework.data.mongodb.core.MongoOperations;
  5. import org.springframework.data.mongodb.core.query.Criteria;
  6. import org.springframework.data.mongodb.core.query.Query;
  7. import org.springframework.stereotype.Repository;
  8. import edu.nju.entities.Report;
  9. @Repository
  10. public class ReportDao {
  11. @Autowired
  12. private MongoOperations mongoOperations;
  13. public String save(Report report) {
  14. mongoOperations.save(report);
  15. return report.getId();
  16. }
  17. public boolean update(String id, Report report) {
  18. Query query = new Query();
  19. query.addCriteria(Criteria.where("_id").is(id));
  20. List<Report> list = mongoOperations.find(query, Report.class);
  21. if(list == null || list.size() == 0) { return false;}
  22. else {
  23. report.setId(id);
  24. mongoOperations.save(report);
  25. return true;
  26. }
  27. }
  28. public Report findById(String id) {
  29. Query query = new Query();
  30. query.addCriteria(Criteria.where("_id").is(id));
  31. List<Report> list = mongoOperations.find(query, Report.class);
  32. if(list == null || list.size() == 0) { return null; }
  33. else { return list.get(0); }
  34. }
  35. public Report findByWoker(String case_take_id, String worker_id) {
  36. Query query = new Query();
  37. query.addCriteria(Criteria.where("case_take_id").is(case_take_id).and("worker_id").is(worker_id));
  38. List<Report> list = mongoOperations.find(query, Report.class);
  39. if(list == null || list.size() == 0) { return null; }
  40. else { return list.get(0); }
  41. }
  42. public List<Report> findByCaseTakeId(String case_take_id) {
  43. Query query = new Query();
  44. query.addCriteria(Criteria.where("case_take_id").is(case_take_id));
  45. return mongoOperations.find(query, Report.class);
  46. }
  47. public List<Report> findByExamId(String task_id) {
  48. Query query = new Query();
  49. query.addCriteria(Criteria.where("task_id").is(task_id));
  50. return mongoOperations.find(query, Report.class);
  51. }
  52. public List<Report> findReportsByWorker(String worker_id) {
  53. Query query = new Query();
  54. query.addCriteria(Criteria.where("worker_id").is(worker_id));
  55. return mongoOperations.find(query, Report.class);
  56. }
  57. public List<Report> findByCaseId(String caseId){
  58. Query query = new Query();
  59. query.addCriteria(Criteria.where("case_id").is(caseId));
  60. return mongoOperations.find(query, Report.class);
  61. }
  62. }