PaperController.java 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. package com.mooctest.controller;
  2. import com.alibaba.fastjson.JSON;
  3. import com.alibaba.fastjson.JSONArray;
  4. import com.alibaba.fastjson.JSONObject;
  5. import com.mooctest.service.ExcelInputService;
  6. import com.mooctest.service.PaperService;
  7. import com.mooctest.util.ImportDataMap;
  8. import org.springframework.beans.factory.annotation.Autowired;
  9. import org.springframework.beans.factory.annotation.Value;
  10. import org.springframework.stereotype.Controller;
  11. import org.springframework.ui.Model;
  12. import org.springframework.web.bind.annotation.*;
  13. import org.springframework.web.multipart.MultipartFile;
  14. import javax.servlet.http.HttpServletResponse;
  15. import java.io.IOException;
  16. import java.sql.Timestamp;
  17. import java.util.Map;
  18. @Controller
  19. public class PaperController {
  20. @Value("${baseUrl.report.host}")
  21. String reportHost ;
  22. @Autowired
  23. PaperService paperService;
  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("/addExcel")
  33. public String addExcel (Model model){
  34. model.addAttribute("type_map", ImportDataMap.typeMap);
  35. return "add_excel_pro";
  36. }
  37. @PostMapping("/add_excel_pro")
  38. @ResponseBody
  39. public String excelToMongo (@RequestParam("name")String name, @RequestParam("excelFile") MultipartFile multipartFile, @RequestParam("come") Integer comeFrom) throws IOException {
  40. // 从前端接收Excel文件,并返回文件保存的全路径
  41. String fileFullPath = excelInputService.saveMultipartFile(multipartFile, name);
  42. // 拿取文件,并将文件内容插入到Mongo数据库中
  43. Map<String, Boolean> is_success = excelInputService.excelToMongo(fileFullPath, name, comeFrom);
  44. String insert_success_json= JSON.toJSONString(is_success);
  45. return insert_success_json;
  46. }
  47. @DeleteMapping("/dpaper")
  48. @ResponseBody
  49. public JSONObject deletePaper (Model model , @RequestParam("id") String id ){
  50. return paperService.deletePaper(id);
  51. }
  52. @GetMapping("/papers")
  53. public String auditTask ( Model model){
  54. JSONArray jsonArray = paperService.getPaperData(); // 所有的数据。
  55. for (Object single : jsonArray){
  56. single = (JSONObject) single;
  57. changeTime2Long(single); // 修改创建时间的格式 以便前段展示
  58. }
  59. model.addAttribute("tasks",jsonArray);
  60. model.addAttribute("reportHost",reportHost);
  61. return "paper_list";
  62. }
  63. @GetMapping("/changePaper")
  64. public String changeTask ( Model model ,@RequestParam("id") String id ){
  65. JSONObject data = paperService.getSinglePaper(id);
  66. JSONArray arrary = data.getJSONArray(ITEM_GROUP_NAME);
  67. model.addAttribute("data",data);
  68. model.addAttribute("ruleLength",arrary.size());
  69. model.addAttribute("reportHost",reportHost);
  70. return "changePaper";
  71. }
  72. @GetMapping("/paperDetail")
  73. public String paperDetail ( Model model , @RequestParam("id") String id){
  74. JSONObject data = paperService.getSinglePaper(id);
  75. JSONArray jobs = paperService.getJobsByPaperId(id);
  76. for(Object o : jobs){
  77. changeTime2Long(o);
  78. }
  79. model.addAttribute("data",data);
  80. model.addAttribute("reportHost",reportHost);
  81. model.addAttribute("jobs",jobs);
  82. return "paperDetail";
  83. }
  84. private void changeTime2Long ( Object input){
  85. JSONObject temp = (JSONObject) input;
  86. temp.put("create_time",new Timestamp(Long.parseLong(temp.get("create_time").toString()))); // 修改创建时间的格式 以便前段展示
  87. }
  88. }