diff --git a/src/main/java/cn/lihongjie/coal/goodsSearch/service/GoodsSearchService.java b/src/main/java/cn/lihongjie/coal/goodsSearch/service/GoodsSearchService.java index 1deddd3c..dd449276 100644 --- a/src/main/java/cn/lihongjie/coal/goodsSearch/service/GoodsSearchService.java +++ b/src/main/java/cn/lihongjie/coal/goodsSearch/service/GoodsSearchService.java @@ -1,5 +1,6 @@ package cn.lihongjie.coal.goodsSearch.service; +import cn.lihongjie.coal.exception.BizException; import cn.lihongjie.coal.goodsSearch.dto.GoodsSearchRequest; import cn.lihongjie.coal.goodsSearch.dto.GoodsSearchResponse; @@ -31,8 +32,10 @@ import java.nio.charset.StandardCharsets; public class GoodsSearchService { @Autowired ObjectMapper objectMapper; + @Value("${goods.search.ak}") private String ak; + @Value("${goods.search.sk}") private String sk; @@ -47,11 +50,20 @@ public class GoodsSearchService { } @SneakyThrows - @Cacheable(cacheNames = "goodsSearch", key = "#request.code", condition = "#request.code != null", unless = "#result.flag.equals('true')") + @Cacheable( + cacheNames = "goodsSearch", + key = "#request.code", + condition = "#request.code != null", + unless = "#result.flag.equals('true')") public GoodsSearchResponse search(GoodsSearchRequest request) { ApiResponse response = Client.getInstance().search(request.getCode()); + if (response.getCode() != 200) { + log.warn("failed to search goods {} {} ", request.getCode(), response.getMessage()); + throw new BizException(response.getMessage()); + } + String bodyStr = new String(response.getBody(), StandardCharsets.UTF_8); ObjectNode jsonNodes = objectMapper.readValue(bodyStr, ObjectNode.class); diff --git a/src/main/java/cn/lihongjie/coal/warehouseReceipt/service/WarehouseReceiptService.java b/src/main/java/cn/lihongjie/coal/warehouseReceipt/service/WarehouseReceiptService.java index fc461cfa..6fe9cb05 100644 --- a/src/main/java/cn/lihongjie/coal/warehouseReceipt/service/WarehouseReceiptService.java +++ b/src/main/java/cn/lihongjie/coal/warehouseReceipt/service/WarehouseReceiptService.java @@ -609,7 +609,7 @@ public class WarehouseReceiptService <#if endTime??> and re.receipt_date <= :endTime - + <#if reason??> and re.reason like '%' || :reason || '%' @@ -815,6 +815,36 @@ from ( .toList(); } + if (CollectionUtils.isEmpty(content)) { + content = + ans.stream() + .map( + x -> { + if (x instanceof Map) { + + HashMap map = new HashMap<>(); + + map.putAll((Map) x); + + map.put("prevNumber", 0.0); + map.put("prevAmount", 0.0); + map.put("prevPrice", 0.0); + map.put("currNumber", 0.0); + map.put("currAmount", 0.0); + map.put("currPrice", 0.0); + map.put("type0Number", 0.0); + map.put("type1Number", 0.0); + map.put("type0Amount", 0.0); + map.put("type1Amount", 0.0); + map.put("type0Price", 0.0); + map.put("type1Price", 0.0); + return map; + } + return null; + }) + .toList(); + } + for (Object o : content) { if (o instanceof Map prevMap) { @@ -902,9 +932,6 @@ from ( (Specification) (root, query, criteriaBuilder) -> criteriaBuilder.and( - root.get("detail") - .get("goods") - .get("id") - .in(ids))); + root.get("detail").get("goods").get("id").in(ids))); } }