fix(aihr): return pilot export as csv

This commit is contained in:
2026-07-09 14:38:32 +08:00
parent 5e0a5c7af7
commit 68c4b8547e
@@ -2,6 +2,7 @@ package org.dromara.aihr.controller;
import cn.dev33.satoken.annotation.SaCheckRole;
import cn.dev33.satoken.annotation.SaMode;
import jakarta.servlet.http.HttpServletResponse;
import lombok.RequiredArgsConstructor;
import org.dromara.aihr.domain.AihrPracticeDto.AnnotationResponse;
import org.dromara.aihr.domain.AihrPracticeDto.AnnotationSaveRequest;
@@ -25,8 +26,6 @@ import org.dromara.common.core.domain.model.LoginUser;
import org.dromara.common.core.enums.UserType;
import org.dromara.common.satoken.utils.LoginHelper;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PatchMapping;
import org.springframework.web.bind.annotation.PathVariable;
@@ -36,6 +35,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.util.List;
/**
@@ -85,11 +86,14 @@ public class AihrPracticeController {
@SaCheckRole(value = {TenantConstants.SUPER_ADMIN_ROLE_KEY, HR_OPERATOR_ROLE}, mode = SaMode.OR)
@GetMapping("/export")
public ResponseEntity<String> export() {
return ResponseEntity.ok()
.header(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=aihr-practice-pilot.csv")
.contentType(MediaType.parseMediaType("text/csv;charset=UTF-8"))
.body(practiceSeedService.exportPilotCsv());
public void export(HttpServletResponse response) throws IOException {
byte[] body = ("\uFEFF" + practiceSeedService.exportPilotCsv()).getBytes(StandardCharsets.UTF_8);
response.reset();
response.setCharacterEncoding(StandardCharsets.UTF_8.name());
response.setContentType("text/csv;charset=UTF-8");
response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=aihr-practice-pilot.csv");
response.setContentLength(body.length);
response.getOutputStream().write(body);
}
@PostMapping("/start")