PaperController.java 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. package com.mooctest.controller;
  2. import com.alibaba.fastjson.JSONArray;
  3. import com.alibaba.fastjson.JSONObject;
  4. import com.mooctest.service.AuditTaskService;
  5. import com.mooctest.service.BugExcelInputService;
  6. import com.mooctest.service.ExcelInputService;
  7. import com.mooctest.service.PaperService;
  8. import org.apache.poi.hssf.record.DVALRecord;
  9. import org.springframework.beans.factory.annotation.Autowired;
  10. import org.springframework.beans.factory.annotation.Value;
  11. import org.springframework.stereotype.Controller;
  12. import org.springframework.ui.Model;
  13. import org.springframework.web.bind.annotation.*;
  14. import org.springframework.web.multipart.MultipartFile;
  15. import java.sql.Timestamp;
  16. @Controller
  17. public class PaperController {
  18. @Value("${report.host}")
  19. String reportHost ;
  20. @Autowired
  21. PaperService paperService;
  22. @Autowired
  23. BugExcelInputService bugExcelInputService;
  24. @Autowired
  25. ExcelInputService excelInputService;
  26. private String ITEM_GROUP_NAME = "item_group_list";
  27. @GetMapping("/addPaper")
  28. public String addPaper (Model model){
  29. model.addAttribute("reportHost",reportHost);
  30. return "add_paper";
  31. }
  32. // @GetMapping("/reloadTask")
  33. // public String reloadTask ( Model model ){
  34. // return "addTask";
  35. // }
  36. @GetMapping("/addExcel")
  37. public String addExcel (Model model){
  38. return "add_excel";
  39. }
  40. @PostMapping("/excelToMongo")
  41. public String excelToMongo (@RequestParam("name")String name, @RequestParam("excelFile") MultipartFile multipartFile){
  42. // 从前端接收Excel文件,并返回文件保存的全路径
  43. // String fileFullPath = bugExcelInputService.saveMultipartFile(multipartFile, multipartFile.getName());
  44. String fileFullPath = excelInputService.saveMultipartFile(multipartFile, name);
  45. // 拿取文件,并将文件内容插入到Mongo数据库中
  46. // bugExcelInputService.excelToMongo(27017,"localhost","crowd_review","root","root","bug",fileFullPath);
  47. excelInputService.excelToMongo(fileFullPath, name);
  48. return "add_excel_ok";
  49. }
  50. @DeleteMapping("/dpaper")
  51. @ResponseBody
  52. public JSONObject deletePaper (Model model , @RequestParam("id") String id ){
  53. return paperService.deletePaper(id);
  54. }
  55. @GetMapping("/papers")
  56. public String auditTask ( Model model){
  57. JSONArray jsonArray = paperService.getPaperData(); // 所有的数据。
  58. for (Object single : jsonArray){
  59. single = (JSONObject) single;
  60. changeTime2Long(single); // 修改创建时间的格式 以便前段展示
  61. }
  62. model.addAttribute("tasks",jsonArray);
  63. model.addAttribute("reportHost",reportHost);
  64. return "paper_list";
  65. }
  66. @GetMapping("/changePaper")
  67. public String changeTask ( Model model ,@RequestParam("id") String id ){
  68. JSONObject data = paperService.getSinglePaper(id);
  69. JSONArray arrary = data.getJSONArray(ITEM_GROUP_NAME);
  70. model.addAttribute("data",data);
  71. model.addAttribute("ruleLength",arrary.size());
  72. model.addAttribute("reportHost",reportHost);
  73. return "changePaper";
  74. }
  75. @GetMapping("/paperDetail")
  76. public String paperDetail ( Model model , @RequestParam("id") String id){
  77. JSONObject data = paperService.getSinglePaper(id);
  78. JSONArray jobs = paperService.getJobsByPaperId(id);
  79. for(Object o : jobs){
  80. changeTime2Long(o);
  81. }
  82. model.addAttribute("data",data);
  83. model.addAttribute("reportHost",reportHost);
  84. model.addAttribute("jobs",jobs);
  85. return "paperDetail";
  86. }
  87. // @GetMapping("/reloadJob")
  88. // @ResponseBody
  89. // public JSONObject reloadJob ( Model model, @RequestParam("id") String id ){
  90. // JSONObject res = auditTaskService.getSingleTask(id);
  91. // return res;
  92. // }
  93. private void changeTime2Long ( Object input){
  94. JSONObject temp = (JSONObject) input;
  95. temp.put("create_time",new Timestamp(Long.parseLong(temp.get("create_time").toString()))); // 修改创建时间的格式 以便前段展示
  96. }
  97. }