From 04156492a68403aa39ac01d025aa2b1a28876bb0 Mon Sep 17 00:00:00 2001 From: Leo Date: Sat, 15 Nov 2025 15:15:09 +0800 Subject: [PATCH] 1 --- .../system/JDOrderListController.java | 60 +++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/JDOrderListController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/JDOrderListController.java index fefde48..6a4ae2a 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/JDOrderListController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/JDOrderListController.java @@ -181,4 +181,64 @@ public class JDOrderListController extends BaseController { return toAjax(jdOrderService.deleteJDOrderByIds(ids)); } + + /** + * 订单搜索工具接口(返回简易字段) + */ + @GetMapping("/tools/search") + public TableDataInfo searchOrders( + @RequestParam(required = false) String orderSearch, + @RequestParam(required = false) String address, + HttpServletRequest request) + { + // startPage会从request中读取pageNum和pageSize参数 + startPage(); + + JDOrder query = new JDOrder(); + + // 处理单号搜索(过滤TF、H、F、PDD等关键词) + if (orderSearch != null && !orderSearch.trim().isEmpty()) { + String searchKeyword = orderSearch.trim().toUpperCase(); + // 过滤掉TF、H、F、PDD等关键词 + if (searchKeyword.contains("TF") || searchKeyword.contains("H") || + searchKeyword.contains("F") || searchKeyword.contains("PDD")) { + // 如果包含过滤关键词,返回空结果 + return getDataTable(new java.util.ArrayList<>()); + } + // 至少5个字符 + if (searchKeyword.length() >= 5) { + query.getParams().put("orderSearch", orderSearch.trim()); + } + } + + // 处理地址搜索(至少3个字符) + if (address != null && !address.trim().isEmpty()) { + if (address.trim().length() >= 3) { + query.setAddress(address.trim()); + } + } + + // 如果没有有效的搜索条件,返回空结果 + if ((orderSearch == null || orderSearch.trim().isEmpty() || orderSearch.trim().length() < 5) && + (address == null || address.trim().isEmpty() || address.trim().length() < 3)) { + return getDataTable(new java.util.ArrayList<>()); + } + + java.util.List list = jdOrderService.selectJDOrderList(query); + + // 关联查询订单状态和赔付金额 + for (JDOrder jdOrder : list) { + OrderRows orderRows = orderRowsService.selectOrderRowsByOrderId(jdOrder.getOrderId()); + if (orderRows != null) { + jdOrder.setProPriceAmount(orderRows.getProPriceAmount()); + jdOrder.setFinishTime(orderRows.getFinishTime()); + jdOrder.setOrderStatus(orderRows.getValidCode()); + } else { + jdOrder.setProPriceAmount(0.0); + jdOrder.setOrderStatus(null); + } + } + + return getDataTable(list); + } }