diff --git a/src/main/java/com/vxnet/pms/repository/StockRepository.java b/src/main/java/com/vxnet/pms/repository/StockRepository.java index 43605f1..edbdc3d 100644 --- a/src/main/java/com/vxnet/pms/repository/StockRepository.java +++ b/src/main/java/com/vxnet/pms/repository/StockRepository.java @@ -23,9 +23,9 @@ public interface StockRepository extends R2dbcRepository { Flux findStocks(String organization, Map params, Pageable pageable); @Query( - "SELECT number, name, property, sort_no as sortNo FROM jhi_stock WHERE (:#{#organization} = '*' OR organization = :#{#organization}) AND status = 1 ORDER BY number ASC" + "SELECT number, name, property, sort_no as sortNo FROM jhi_stock WHERE (:#{#organization} = '*' OR organization = :#{#organization}) AND status = '1' ORDER BY number ASC" ) - Flux> findActiveStocks(String organization); + List> findActiveStocks(String organization); @Query( "SELECT COUNT(*) FROM jhi_stock WHERE (:#{#organization} = '*' OR organization = :#{#organization}) " + diff --git a/src/main/java/com/vxnet/pms/service/StockService.java b/src/main/java/com/vxnet/pms/service/StockService.java index 3bdd164..b3e2dc5 100644 --- a/src/main/java/com/vxnet/pms/service/StockService.java +++ b/src/main/java/com/vxnet/pms/service/StockService.java @@ -6,6 +6,8 @@ import com.vxnet.pms.security.SecurityUtils; import java.util.List; import java.util.Map; import java.util.function.Function; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -18,6 +20,8 @@ import reactor.core.publisher.Mono; @Service public class StockService { + private static final Logger LOG = LoggerFactory.getLogger(StockService.class); + private final StockRepository stockRepository; public StockService(StockRepository stockRepository) { @@ -66,7 +70,8 @@ public class StockService { } @Transactional(readOnly = true) - public Flux> getActiveStocks() { - return SecurityUtils.getCurrentOrganization().flatMapMany(organization -> stockRepository.findActiveStocks(organization)); // 将 Flux 转换为 Mono>> + public List> getActiveStocks() { + LOG.info("开始查询活动库存数据"); + return stockRepository.findActiveStocks("*"); } } diff --git a/src/main/java/com/vxnet/pms/web/rest/StockResource.java b/src/main/java/com/vxnet/pms/web/rest/StockResource.java index 7ff023a..57032ec 100644 --- a/src/main/java/com/vxnet/pms/web/rest/StockResource.java +++ b/src/main/java/com/vxnet/pms/web/rest/StockResource.java @@ -91,15 +91,9 @@ public class StockResource { @GetMapping(value = "/stocks/active", produces = org.springframework.http.MediaType.APPLICATION_JSON_VALUE) public Mono>>> getActiveStocks() { - List> list = stockService.getActiveStocks().collectList().block(); - return Mono.just( - ResponseEntity.ok( - stockService - .getActiveStocks() - .doOnNext(map -> LOG.info("Active stock data: keys={}, values={}", map.keySet(), map.values())) - .doOnError(error -> LOG.error("Error processing active stocks: {}", error.getMessage())) - ) - ).defaultIfEmpty(ResponseEntity.notFound().build()); + List> list = stockService.getActiveStocks(); + Flux> fluxList = Flux.fromIterable(list); + return Mono.just(ResponseEntity.ok(fluxList)); } @GetMapping("/stocks/test")