feat(stock): 添加库存测试接口并优化相关服务

- 在 StockRepository 中添加 findTestStocks 方法,用于查询测试库存数据
- 在 StockService 中实现 getTestStocks 方法,处理查询逻辑
- 修改 StockResource 中的 getList 方法,更名为 getTest 并调用新服务方法
This commit is contained in:
user 2025-03-17 20:47:14 +08:00
parent 2c0f557b32
commit 325890143f
3 changed files with 27 additions and 3 deletions

View File

@ -2,6 +2,7 @@ package com.vxnet.pms.repository;
import com.vxnet.pms.domain.Stock;
import com.vxnet.pms.service.dto.StockDTO;
import java.util.List;
import java.util.Map;
import org.springframework.data.domain.Pageable;
import org.springframework.data.r2dbc.repository.Query;
@ -34,4 +35,7 @@ public interface StockRepository extends R2dbcRepository<Stock, Long> {
"AND (:#{#params['property']} IS NULL OR property LIKE CONCAT('%', :#{#params['property']}, '%'))"
)
Mono<Long> countStocks(String organization, Map<String, Object> params);
@Query("SELECT number, name, property, sort_no FROM jhi_stock ORDER BY number ASC")
Flux<Map<String, Object>> findTestStocks();
}

View File

@ -4,6 +4,8 @@ import com.vxnet.pms.domain.Stock;
import com.vxnet.pms.repository.StockRepository;
import com.vxnet.pms.security.SecurityUtils;
import com.vxnet.pms.service.dto.StockDTO;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -75,4 +77,22 @@ public class StockService {
.map(organization -> stockRepository.findActiveStocks(organization))
.flatMapMany(stocks -> stocks);
}
@Transactional(readOnly = true)
public Flux<Map<String, Object>> getTestStocks() {
LOG.info("开始查询库存数据");
return SecurityUtils.getCurrentOrganization()
.flatMapMany(organization ->
stockRepository
.findTestStocks()
.map(map -> {
Map<String, Object> result = new HashMap<>();
result.put("number", map.get("number"));
result.put("name", map.get("name"));
result.put("property", map.get("property"));
result.put("sortNo", map.get("sort_no"));
return result;
})
);
}
}

View File

@ -96,7 +96,7 @@ public class StockResource {
}
@GetMapping("/stocks/test")
public Mono<ResponseEntity<Flux<Map<String, Object>>>> getList() {
public Mono<ResponseEntity<Flux<Map<String, Object>>>> getTest() {
List<Map<String, Object>> list = new ArrayList<>();
Map<String, Object> map1 = new HashMap<>();
@ -111,7 +111,7 @@ public class StockResource {
list.add(map2);
//return Mono.just(list);
Flux<Map<String, Object>> fluxList = Flux.fromIterable(list);
return Mono.just(ResponseEntity.ok(fluxList));
//Flux<Map<String, Object>> fluxList = Flux.fromIterable(list);
return Mono.just(ResponseEntity.ok().body(stockService.getTestStocks()));
}
}