处理特殊控制字符转义失败的问题
This commit is contained in:
@@ -69,12 +69,7 @@ public class JobCleanService {
|
||||
@Scheduled(cron = "0 */1 * * * ?")
|
||||
public void cleanJob() {
|
||||
// 批量锁定:原子操作,clean_status 0→1
|
||||
int locked = appJobDataMapper.update(null,
|
||||
new LambdaUpdateWrapper<AppJobData>()
|
||||
.set(AppJobData::getCleanStatus, 1)
|
||||
.eq(AppJobData::getCleanStatus, 0)
|
||||
.eq(AppJobData::getIsValid, 1)
|
||||
.last("LIMIT " + batchSize));
|
||||
int locked = appJobDataMapper.update(null, new LambdaUpdateWrapper<AppJobData>().set(AppJobData::getCleanStatus, 1).eq(AppJobData::getCleanStatus, 0).eq(AppJobData::getIsValid, 1).last("LIMIT " + batchSize));
|
||||
|
||||
if (locked == 0) {
|
||||
return;
|
||||
@@ -82,11 +77,7 @@ public class JobCleanService {
|
||||
log.info("岗位清洗:锁定{}条数据", locked);
|
||||
|
||||
// 查出刚锁定的数据
|
||||
List<AppJobData> dataList = appJobDataMapper.selectList(
|
||||
new LambdaQueryWrapper<AppJobData>()
|
||||
.eq(AppJobData::getCleanStatus, 1)
|
||||
.eq(AppJobData::getIsValid, 1)
|
||||
.last("LIMIT " + batchSize));
|
||||
List<AppJobData> dataList = appJobDataMapper.selectList(new LambdaQueryWrapper<AppJobData>().eq(AppJobData::getCleanStatus, 1).eq(AppJobData::getIsValid, 1).last("LIMIT " + batchSize));
|
||||
|
||||
// 多线程并发处理
|
||||
for (AppJobData data : dataList) {
|
||||
@@ -143,6 +134,8 @@ public class JobCleanService {
|
||||
if (json.startsWith("```")) {
|
||||
json = json.replaceAll("^```\\w*\\n?", "").replaceAll("\\n?```$", "").trim();
|
||||
}
|
||||
// 清除控制字符(Tab等),保留换行符,防止 Jackson 解析失败
|
||||
json = json.replaceAll("[\\x00-\\x08\\x0B\\x0C\\x0E-\\x1F]", "");
|
||||
|
||||
JsonNode root = HttpTool.objectMapper.readTree(json);
|
||||
|
||||
@@ -222,7 +215,8 @@ public class JobCleanService {
|
||||
6. tags 是核心职能标签(如数据分析、团队协作),最多5个
|
||||
7. skillTags 是技能关键词(如Java、MySQL),最多8个
|
||||
8. companyShortName 去掉地区后缀、招聘后缀、括号内容,保持简洁
|
||||
9. 只返回JSON,不要其他内容
|
||||
9. 字符串值中不允许出现Tab、换行等控制字符,用空格或中文标点替代
|
||||
10. 只返回JSON,不要其他内容
|
||||
""";
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user