From 01ab61191b93956954b463ab4416fda6b5f960ee Mon Sep 17 00:00:00 2001
From: cl <1442464845@qq.com>
Date: 星期三, 29 四月 2026 13:48:02 +0800
Subject: [PATCH] token 改到redis
---
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/CusItemSyncViewQueryService.java | 77 ++++++++++++++++++++++++++++----------
1 files changed, 57 insertions(+), 20 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 732f5a4..82e809c 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,49 +1,65 @@
package com.vincent.rsf.server.manager.service;
-import com.vincent.rsf.server.manager.mapper.MatnrMapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.vincent.rsf.server.common.datasource.DataSourceNames;
+import com.vincent.rsf.server.common.datasource.UseDataSource;
+import com.vincent.rsf.server.manager.entity.CusItemSyncView;
+import com.vincent.rsf.server.manager.mapper.CusItemSyncViewMapper;
+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.jdbc.core.JdbcTemplate;
+import org.springframework.beans.factory.ObjectProvider;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Propagation;
+import org.springframework.transaction.annotation.Transactional;
+import javax.sql.DataSource;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
+import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
+import java.util.stream.Collectors;
/**
- * cus_item_sync_view 鏌ヨ锛涢厤缃簡鍓簱 url 鏃惰蛋 JdbcTemplate锛屽惁鍒欒蛋涓诲簱 Mapper
+ * cus_item_sync_view 鏌ヨ锛涗粎浣跨敤鍓簱瑙嗗浘銆傛煡璇笉鍚簨鍔★紝{@code NOT_SUPPORTED} 鎸傝捣澶栧眰浠ュ埄璺敱鍓簱銆�
*/
+@UseDataSource(DataSourceNames.DJ_CLOUD_WMS)
@Service
+@Slf4j
public class CusItemSyncViewQueryService {
- @Autowired(required = false)
- @Qualifier("cusItemSyncJdbcTemplate")
- private JdbcTemplate cusItemSyncJdbcTemplate;
+ @Autowired
+ private CusItemSyncViewMapper cusItemSyncViewMapper;
@Autowired
- private JdbcTemplate jdbcTemplate;
-
- @Autowired
- private MatnrMapper matnrMapper;
+ @Qualifier("cusItemSyncDataSource")
+ private ObjectProvider<DataSource> cusItemSyncDataSourceProvider;
/** 褰撳墠瑙嗗浘鏌ヨ瀹為檯浣跨敤鐨勬暟鎹簮璇存槑 */
public String effectiveDataSourceLabel() {
- return cusItemSyncJdbcTemplate != null ? "cus-item-sync" : "primary";
+ return cusItemSyncDataSourceProvider.getIfAvailable() != null ? DataSourceNames.DJ_CLOUD_WMS : "none";
}
/**
- * 鍙栬鍥惧墠鑻ュ共琛岋紝鐢ㄤ簬杩為�氭�ч獙璇侊紙涓庝笟鍔℃煡璇㈠悓涓�濂楄矾鐢憋細鍓簱浼樺厛锛�
+ * 鍙栬鍥惧墠鑻ュ共琛�
*/
+ @Transactional(propagation = Propagation.NOT_SUPPORTED)
public List<Map<String, Object>> probeSample(int limit) {
+ if (cusItemSyncDataSourceProvider.getIfAvailable() == null) {
+ return Collections.emptyList();
+ }
int n = Math.min(50, Math.max(1, limit));
- JdbcTemplate tpl = cusItemSyncJdbcTemplate != null ? cusItemSyncJdbcTemplate : jdbcTemplate;
- return tpl.queryForList(
- "SELECT item_no, item_spec, unit_no FROM cus_item_sync_view LIMIT " + n);
+ IPage<CusItemSyncView> page = cusItemSyncViewMapper.selectPage(new Page<>(1, n), viewSelectWrapper());
+ return toViewMaps(page.getRecords());
}
+ @Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = true)
public List<Map<String, Object>> listByItemNos(Collection<String> itemNos) {
if (itemNos == null || itemNos.isEmpty()) {
return Collections.emptyList();
@@ -58,11 +74,32 @@
if (codes.isEmpty()) {
return Collections.emptyList();
}
- if (cusItemSyncJdbcTemplate != null) {
- 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());
+ if (cusItemSyncDataSourceProvider.getIfAvailable() == null) {
+ log.warn("dj-cloud-wms 鏁版嵁婧愭湭閰嶇疆锛岃烦杩囪鍥炬煡璇�");
+ return Collections.emptyList();
}
- return matnrMapper.selectByCusItemSyncView(codes);
+ List<CusItemSyncView> rows = cusItemSyncViewMapper.selectList(
+ viewSelectWrapper().in(CusItemSyncView::getItemNo, codes));
+ return toViewMaps(rows);
+ }
+
+ private static LambdaQueryWrapper<CusItemSyncView> viewSelectWrapper() {
+ return Wrappers.<CusItemSyncView>lambdaQuery()
+ .select(CusItemSyncView::getItemNo, CusItemSyncView::getItemSpec, CusItemSyncView::getUnitNo);
+ }
+
+ private List<Map<String, Object>> toViewMaps(List<CusItemSyncView> rows) {
+ if (rows == null || rows.isEmpty()) {
+ return Collections.emptyList();
+ }
+ return rows.stream().map(this::toViewRowMap).collect(Collectors.toList());
+ }
+
+ private Map<String, Object> toViewRowMap(CusItemSyncView row) {
+ Map<String, Object> m = new LinkedHashMap<>(3);
+ m.put("item_no", row.getItemNo());
+ m.put("item_spec", row.getItemSpec());
+ m.put("unit_no", row.getUnitNo());
+ return m;
}
}
--
Gitblit v1.9.1