From 86fd4ec5fd97081f212e4c35523ee3d44f233fb6 Mon Sep 17 00:00:00 2001
From: cl <1442464845@qq.com>
Date: 星期五, 17 四月 2026 17:07:04 +0800
Subject: [PATCH] 配置多数据源
---
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/CusItemSyncViewQueryService.java | 25 +++++++++++++++++--------
1 files changed, 17 insertions(+), 8 deletions(-)
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/CusItemSyncViewQueryService.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/CusItemSyncViewQueryService.java
index 7e1b3c0..932b35c 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/CusItemSyncViewQueryService.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/CusItemSyncViewQueryService.java
@@ -1,12 +1,16 @@
package com.vincent.rsf.server.manager.service;
+import com.vincent.rsf.server.common.datasource.DataSourceNames;
+import com.vincent.rsf.server.common.datasource.UseDataSource;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.beans.factory.ObjectProvider;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
+import javax.sql.DataSource;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
@@ -20,27 +24,32 @@
@Slf4j
public class CusItemSyncViewQueryService {
- @Autowired(required = false)
- @Qualifier("cusItemSyncJdbcTemplate")
- private JdbcTemplate cusItemSyncJdbcTemplate;
+ @Autowired
+ private JdbcTemplate jdbcTemplate;
+
+ @Autowired
+ @Qualifier("cusItemSyncDataSource")
+ private ObjectProvider<DataSource> cusItemSyncDataSourceProvider;
/** 褰撳墠瑙嗗浘鏌ヨ瀹為檯浣跨敤鐨勬暟鎹簮璇存槑 */
public String effectiveDataSourceLabel() {
- return cusItemSyncJdbcTemplate != null ? "cus-item-sync" : "none";
+ return cusItemSyncDataSourceProvider.getIfAvailable() != null ? "cus-item-sync" : "none";
}
/**
* 鍙栬鍥惧墠鑻ュ共琛�
*/
+ @UseDataSource(DataSourceNames.CUS_ITEM_SYNC)
public List<Map<String, Object>> probeSample(int limit) {
- if (cusItemSyncJdbcTemplate == null) {
+ if (cusItemSyncDataSourceProvider.getIfAvailable() == null) {
return Collections.emptyList();
}
int n = Math.min(50, Math.max(1, limit));
- return cusItemSyncJdbcTemplate.queryForList(
+ return jdbcTemplate.queryForList(
"SELECT item_no, item_spec, unit_no FROM cus_item_sync_view LIMIT " + n);
}
+ @UseDataSource(DataSourceNames.CUS_ITEM_SYNC)
public List<Map<String, Object>> listByItemNos(Collection<String> itemNos) {
if (itemNos == null || itemNos.isEmpty()) {
return Collections.emptyList();
@@ -55,12 +64,12 @@
if (codes.isEmpty()) {
return Collections.emptyList();
}
- if (cusItemSyncJdbcTemplate == null) {
+ if (cusItemSyncDataSourceProvider.getIfAvailable() == null) {
log.warn("cus-item-sync 鏁版嵁婧愭湭閰嶇疆锛岃烦杩囪鍥炬煡璇�");
return Collections.emptyList();
}
String placeholders = String.join(",", Collections.nCopies(codes.size(), "?"));
String sql = "SELECT item_no, item_spec, unit_no FROM cus_item_sync_view WHERE item_no IN (" + placeholders + ")";
- return cusItemSyncJdbcTemplate.queryForList(sql, codes.toArray());
+ return jdbcTemplate.queryForList(sql, codes.toArray());
}
}
--
Gitblit v1.9.1