Align create task API

This commit is contained in:
黄仁欢 2026-03-16 16:35:05 +08:00
parent e4f9b6f511
commit 00b7251435
2 changed files with 13 additions and 2 deletions

View File

@ -13,7 +13,7 @@
| 7 | GET | `/api/reports` | 报告列表 | `src/api/report.js` | ✅ 已修正 | 支持 `status` 过滤并返回前端表格字段(含 `approval_id`、`报告编号`、`检测机构`、`提交时间`、`状态` |
| 8 | GET | `/api/reports/{id}` | 报告详情 | `src/api/report.js` | ✅ 已修正 | 返回 `status(0/1/2/3)`、`report_id`、`report_type`、`institution`、`submit_time`、`testing_date`、`audit_opinion`、`ocr_result`、`attachments`、`history` |
| 9 | GET | `/api/reports/{id}/preview` | 报告预览(图片/历史) | `src/api/report.js` | ✅ 已修正 | 返回 `ocr_result.API核验/org_exists/cma_exists`,并附带 `pages/history``status` |
| 10 | POST | `/api/tasks` | 创建识别任务 | `src/api/report.js` | | |
| 10 | POST | `/api/tasks` | 创建识别任务 | `src/api/report.js` | ✅ 已修正 | 支持 `product_name/testing_date/contact_phone` 等表单字段 |
| 11 | POST | `/api/reports/{id}/submit` | 用户确认提交 | `src/api/report.js` | | |
| 12 | POST | `/api/reports/{id}/audit` | 审核提交 | `src/api/report.js` | | |
| 13 | DELETE | `/api/reports/{id}` | 删除报告 | `src/api/report.js` | | |

View File

@ -15,6 +15,8 @@ import org.springframework.web.multipart.MultipartFile;
import java.util.HashMap;
import java.util.Map;
import java.time.LocalDate;
import java.time.ZoneId;
@RestController
@RequestMapping("/api")
@ -102,15 +104,24 @@ public class TaskController {
@RequestParam("cma_number") String cmaNumber,
@RequestParam("institution") String institution,
@RequestParam("report_id") String reportId,
@RequestParam(value = "product_name", required = false) String productName,
@RequestParam(value = "testing_date", required = false) String testingDate,
@RequestParam("applicant_name") String applicantName,
@RequestParam("applicant_email") String applicantEmail) {
@RequestParam("applicant_email") String applicantEmail,
@RequestParam(value = "contact_phone", required = false) String contactPhone) {
try {
Task task = new Task();
task.setCmaNumber(cmaNumber);
task.setInstitution(institution);
task.setReportId(reportId);
task.setProductName(productName);
task.setApplicantName(applicantName);
task.setApplicantEmail(applicantEmail);
task.setContactPhone(contactPhone);
if (testingDate != null && !testingDate.isBlank()) {
LocalDate d = LocalDate.parse(testingDate);
task.setTestingDate(java.util.Date.from(d.atStartOfDay(ZoneId.systemDefault()).toInstant()));
}
Task created = taskService.createTask(file, task);