铭牌增加 顾问信息
This commit is contained in:
@@ -17,17 +17,17 @@ import java.util.concurrent.TimeUnit;
|
|||||||
@Configuration
|
@Configuration
|
||||||
public class ExecutorConfig {
|
public class ExecutorConfig {
|
||||||
|
|
||||||
// @Value("${task.pool.corePoolSize}")
|
@Value("${task.pool.corePoolSize}")
|
||||||
private int corePoolSize=3;
|
private int corePoolSize;
|
||||||
|
|
||||||
// @Value("${task.pool.maxPoolSize}")
|
@Value("${task.pool.maxPoolSize}")
|
||||||
private int maxPoolSize=5;
|
private int maxPoolSize;
|
||||||
|
|
||||||
// @Value("${task.pool.keepAliveSeconds}")
|
@Value("${task.pool.keepAliveSeconds}")
|
||||||
private int keepAliveSeconds=6000000;
|
private int keepAliveSeconds=6000000;
|
||||||
|
|
||||||
// @Value("${task.pool.queueCapacity}")
|
@Value("${task.pool.queueCapacity}")
|
||||||
private int queueCapacity=10;
|
private int queueCapacity;
|
||||||
|
|
||||||
private ThreadPoolTaskExecutor executor;
|
private ThreadPoolTaskExecutor executor;
|
||||||
private ThreadPoolExecutor blockingExecutor;
|
private ThreadPoolExecutor blockingExecutor;
|
||||||
|
|||||||
@@ -65,45 +65,14 @@ public class NameplateKafkaConsumer {
|
|||||||
ack.acknowledge();
|
ack.acknowledge();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 使用CountDownLatch等待所有异步任务完成
|
|
||||||
CountDownLatch latch = new CountDownLatch(tmNameplateCorpus.getData().size());
|
|
||||||
AtomicBoolean hasError = new AtomicBoolean(false);
|
|
||||||
|
|
||||||
tmNameplateCorpus.getData().forEach(nameplate ->
|
tmNameplateCorpus.getData().forEach(nameplate ->
|
||||||
CompletableFuture.runAsync(() -> {
|
tmNameplateCorpusService.processItem(nameplate));
|
||||||
try {
|
|
||||||
if (!semaphore.tryAcquire(5, TimeUnit.SECONDS)) {
|
|
||||||
log.warn("获取许可超时,跳过处理");
|
|
||||||
hasError.set(true);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
tmNameplateCorpusService.processItem(nameplate);
|
|
||||||
} catch (Exception e) {
|
|
||||||
log.error("处理铭牌数据失败", e);
|
|
||||||
hasError.set(true);
|
|
||||||
} finally {
|
|
||||||
semaphore.release();
|
|
||||||
latch.countDown();
|
|
||||||
}
|
|
||||||
}, executor));
|
|
||||||
|
|
||||||
// 等待所有任务完成
|
|
||||||
if (latch.await(30, TimeUnit.SECONDS)) {
|
|
||||||
if (!hasError.get()) {
|
|
||||||
ack.acknowledge(); // 只有所有任务成功才提交offset
|
|
||||||
} else {
|
|
||||||
log.error("部分任务失败,不提交offset");
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
log.error("任务执行超时,不提交offset");
|
|
||||||
}
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("处理消息失败", e);
|
log.error("处理消息失败", e);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -325,10 +325,11 @@ public class TmOdsVdqwMessagearchivingServiceImpl extends ServiceImpl<TmOdsVdqwM
|
|||||||
DiFyReq diFyImageReq2 = new DiFyReq();
|
DiFyReq diFyImageReq2 = new DiFyReq();
|
||||||
diFyImageReq2.setUser(ConstantStr.corpus_user);
|
diFyImageReq2.setUser(ConstantStr.corpus_user);
|
||||||
Map<String, Object> inputMap2 = new HashMap<>();
|
Map<String, Object> inputMap2 = new HashMap<>();
|
||||||
inputMap2.put("businessId", unionId+","+corpusReportDTO.getUserId());
|
inputMap2.put("businessId", unionId);
|
||||||
inputMap2.put("consultantId", corpusReportDTO.getUserId());//顾问id
|
inputMap2.put("consultantId", corpusReportDTO.getUserId());//顾问id
|
||||||
inputMap2.put("communicateDate", DateUtil.format(maxMsgTimeItem.getMsgTime(), DatePattern.NORM_DATETIME_PATTERN));
|
inputMap2.put("communicateDate", DateUtil.format(maxMsgTimeItem.getMsgTime(), DatePattern.NORM_DATETIME_PATTERN));
|
||||||
inputMap2.put("analysisScene", "1");
|
inputMap2.put("analysisScene", "1");
|
||||||
|
inputMap2.put("consultantId", corpusReportDTO.getUserId());
|
||||||
inputMap2.put("version", 2);
|
inputMap2.put("version", 2);
|
||||||
inputMap2.put("chat", chatList.toString());
|
inputMap2.put("chat", chatList.toString());
|
||||||
diFyImageReq2.setInputs(inputMap2);
|
diFyImageReq2.setInputs(inputMap2);
|
||||||
|
|||||||
Reference in New Issue
Block a user