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 | 54 ++++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 42 insertions(+), 12 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 932b35c..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,31 +1,41 @@
package com.vincent.rsf.server.manager.service;
+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.beans.factory.ObjectProvider;
-import org.springframework.jdbc.core.JdbcTemplate;
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 鏌ヨ锛涗粎浣跨敤鍓簱瑙嗗浘
+ * cus_item_sync_view 鏌ヨ锛涗粎浣跨敤鍓簱瑙嗗浘銆傛煡璇笉鍚簨鍔★紝{@code NOT_SUPPORTED} 鎸傝捣澶栧眰浠ュ埄璺敱鍓簱銆�
*/
+@UseDataSource(DataSourceNames.DJ_CLOUD_WMS)
@Service
@Slf4j
public class CusItemSyncViewQueryService {
@Autowired
- private JdbcTemplate jdbcTemplate;
+ private CusItemSyncViewMapper cusItemSyncViewMapper;
@Autowired
@Qualifier("cusItemSyncDataSource")
@@ -33,23 +43,23 @@
/** 褰撳墠瑙嗗浘鏌ヨ瀹為檯浣跨敤鐨勬暟鎹簮璇存槑 */
public String effectiveDataSourceLabel() {
- return cusItemSyncDataSourceProvider.getIfAvailable() != null ? "cus-item-sync" : "none";
+ return cusItemSyncDataSourceProvider.getIfAvailable() != null ? DataSourceNames.DJ_CLOUD_WMS : "none";
}
/**
* 鍙栬鍥惧墠鑻ュ共琛�
*/
- @UseDataSource(DataSourceNames.CUS_ITEM_SYNC)
+ @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));
- return jdbcTemplate.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());
}
- @UseDataSource(DataSourceNames.CUS_ITEM_SYNC)
+ @Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = true)
public List<Map<String, Object>> listByItemNos(Collection<String> itemNos) {
if (itemNos == null || itemNos.isEmpty()) {
return Collections.emptyList();
@@ -65,11 +75,31 @@
return Collections.emptyList();
}
if (cusItemSyncDataSourceProvider.getIfAvailable() == null) {
- log.warn("cus-item-sync 鏁版嵁婧愭湭閰嶇疆锛岃烦杩囪鍥炬煡璇�");
+ log.warn("dj-cloud-wms 鏁版嵁婧愭湭閰嶇疆锛岃烦杩囪鍥炬煡璇�");
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 jdbcTemplate.queryForList(sql, codes.toArray());
+ 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