核查系统api
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

118 lines
4.3 KiB

2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
  1. package com.iflytop.nuclear.controller;
  2. import com.alibaba.fastjson2.JSONObject;
  3. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  4. import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
  5. import com.iflytop.nuclear.model.Account;
  6. import com.iflytop.nuclear.model.NuclearCoreConfig;
  7. import com.iflytop.nuclear.model.Task;
  8. import com.iflytop.nuclear.service.NuclearCoreConfigService;
  9. import com.iflytop.nuclear.service.TaskService;
  10. import com.iflytop.nuclear.service.impl.CheckServiceImpl;
  11. import com.iflytop.nuclear.utils.JwtTokenUtils;
  12. import com.iflytop.nuclear.utils.ResponseData;
  13. import com.iflytop.nuclear.vo.TaskVO;
  14. import io.jsonwebtoken.Claims;
  15. import lombok.extern.slf4j.Slf4j;
  16. import org.springframework.beans.factory.annotation.Autowired;
  17. import org.springframework.security.access.prepost.PreAuthorize;
  18. import org.springframework.web.bind.annotation.*;
  19. import javax.servlet.http.HttpServletRequest;
  20. import java.io.IOException;
  21. import java.util.Date;
  22. import java.util.List;
  23. import java.util.Map;
  24. /**
  25. * @author cool
  26. * @date 2023/6/29 15:21
  27. */
  28. @Slf4j
  29. @RestController
  30. @CrossOrigin
  31. @RequestMapping("/task")
  32. // @PreAuthorize("hasRole('ADMIN')")
  33. public class TaskController {
  34. @Autowired
  35. TaskService taskService;
  36. @Autowired
  37. NuclearCoreConfigService nuclearCoreConfigService;
  38. @Autowired
  39. HttpServletRequest request;
  40. @Autowired
  41. CheckServiceImpl checkServiceImpl;
  42. @PostMapping("/create")
  43. public ResponseData createTask(@RequestBody Task taskInfo) {
  44. taskInfo.setPublishTime(new Date());
  45. taskInfo.setStatus(0);
  46. boolean save = taskService.save(taskInfo);
  47. JSONObject jsonObject = new JSONObject();
  48. jsonObject.put("result", save);
  49. return ResponseData.success(jsonObject);
  50. }
  51. @GetMapping("/list")
  52. public ResponseData getTaskListByUserId() {
  53. String token = request.getHeader("Authorization");
  54. if (token.length() > 0){
  55. String[] s = token.split(" ");
  56. String username = JwtTokenUtils.getUsername(s[1]);
  57. String user_role = JwtTokenUtils.getUserRole(s[1]);
  58. List<TaskVO> taskList = taskService.getTaskInfoByUsername(username, user_role);
  59. JSONObject jo = new JSONObject();
  60. jo.put("list", taskList);
  61. return ResponseData.success(taskList);
  62. }
  63. return ResponseData.fail("用户登陆信息错误");
  64. }
  65. @PostMapping("/delete/{id}")
  66. public ResponseData deleteTask(@PathVariable(name = "id") int id) {
  67. boolean b = taskService.removeById(id);
  68. // 同时将对应的excel 配置删除
  69. QueryWrapper<NuclearCoreConfig> nuclearCoreConfigQueryWrapper = new QueryWrapper<>();
  70. nuclearCoreConfigQueryWrapper.eq("task_id", id);
  71. boolean remove = nuclearCoreConfigService.remove(nuclearCoreConfigQueryWrapper);
  72. JSONObject jo = new JSONObject();
  73. jo.put("result", b);
  74. return ResponseData.success(jo);
  75. }
  76. @PostMapping("/delete/excel/{id}")
  77. public ResponseData deleteTaskExcel(@PathVariable(name = "id") int id) throws IOException {
  78. QueryWrapper<NuclearCoreConfig> nuclearCoreConfigQueryWrapper = new QueryWrapper<>();
  79. nuclearCoreConfigQueryWrapper.eq("task_id", id);
  80. boolean remove = nuclearCoreConfigService.remove(nuclearCoreConfigQueryWrapper);
  81. // 将当前任务状态修改为0
  82. checkServiceImpl.updateCoordAndStatus(id, null, 0, false, false, null);
  83. JSONObject jo = new JSONObject();
  84. jo.put("result", remove);
  85. return ResponseData.success(jo);
  86. }
  87. @PostMapping("/update/{id}")
  88. public ResponseData updateOperInfo(@PathVariable(name = "id") int taskId, @RequestBody Map<String,String> taskInfo) {
  89. UpdateWrapper<Task> taskUpdateWrapper = new UpdateWrapper<>();
  90. taskUpdateWrapper.eq("id",taskId);
  91. Task task = new Task();
  92. task.setOperatorId(taskInfo.get("operatorId"));
  93. boolean update = taskService.update(task, taskUpdateWrapper);
  94. JSONObject jo = new JSONObject();
  95. jo.put("result", update);
  96. return ResponseData.success(jo);
  97. }
  98. /**
  99. * 获取处于进行中任务的状态信息
  100. * @return
  101. */
  102. @GetMapping("/process")
  103. public ResponseData getProcessTaskInfo() {
  104. TaskVO taskVO = taskService.processTask();
  105. return ResponseData.success(taskVO);
  106. }
  107. }