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