Commit db93e21b by zwb

修改简历pdf生成时名称添加随机值

parent 5838e4e5
......@@ -16,6 +16,7 @@ import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.dromara.common.core.annotation.RepeatSubmit;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.exception.JxgException;
import org.dromara.common.core.exception.WarnException;
......@@ -68,6 +69,7 @@ public class JobRecommendController {
* @param dto
* @return
*/
@RepeatSubmit(interval = 1000)
@PostMapping("/save-analysis-data")
private R<String> saveAnalysisData(@RequestBody AnalysisCareerDto dto){
if (CollectionUtil.isEmpty(dto.getCareer())) {
......@@ -82,6 +84,12 @@ public class JobRecommendController {
if (ObjectUtil.isEmpty(dto.getResumeId())) {
throw new JxgException("简历Id不能为空");
}
if (dto.getCareer().size()>5){
throw new JxgException("期望职业最多只能选择五个");
}
if (dto.getTargetCity().size()>5){
throw new JxgException("期望城市最多只能选择五个");
}
String id = aiAnalysisService.saveAnalysisData(dto);
return new R<>(id);
}
......
......@@ -50,10 +50,7 @@ import java.io.InputStreamReader;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.concurrent.CompletableFuture;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
......@@ -1091,6 +1088,9 @@ public class NewEditionResumeServiceImpl implements NewEditionResumeService {
public String sanitizeFileName(String fileName) {
if (fileName == null) return null;
// 生成8位随机字符串(包含数字和小写字母)
String randomSuffix = generateRandomString(5);
// [^a-zA-Z0-9\u4e00-\u9fa5.-] 表示不是字母、数字、中文、点、短横线的字符都替换成 _
String sanitized = fileName.replaceAll("[^a-zA-Z0-9\\u4e00-\\u9fa5.-]", "_");
......@@ -1100,7 +1100,22 @@ public class NewEditionResumeServiceImpl implements NewEditionResumeService {
// 可选:连续多个特殊字符替换成一个 _
sanitized = sanitized.replaceAll("_+", "_");
return sanitized;
// 组合最终文件名:原始清理后的名称 + 随机后缀
return sanitized + "_" + randomSuffix;
}
// 生成指定长度的随机字符串
private String generateRandomString(int length) {
String chars = "abcdefghijklmnopqrstuvwxyz0123456789";
StringBuilder sb = new StringBuilder();
Random random = new Random();
for (int i = 0; i < length; i++) {
int index = random.nextInt(chars.length());
sb.append(chars.charAt(index));
}
return sb.toString();
}
private ResumeModelVo initModelVo(FunctionResumeModel m) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment