This commit is contained in:
2025-11-03 10:51:02 +08:00
parent 2ba5b9de4e
commit 5b4cc5d4f7

View File

@@ -58,6 +58,12 @@ public class JDOrderListController extends BaseController
query.getParams().put("endTime", endTimeStr);
}
// 处理完成日期筛选参数
String hasFinishTime = request.getParameter("hasFinishTime");
if (hasFinishTime != null && "true".equalsIgnoreCase(hasFinishTime)) {
query.getParams().put("hasFinishTime", true);
}
java.util.List<JDOrder> list;
if (orderBy != null && !orderBy.isEmpty()) {
// 设置排序参数
@@ -70,13 +76,34 @@ public class JDOrderListController extends BaseController
TableDataInfo dataTable = getDataTable(list);
List<JDOrder> rows = (List<JDOrder>) dataTable.getRows();
for (JDOrder jdOrder : rows) {
OrderRows orderRows = orderRowsService.selectOrderRowsByOrderId(jdOrder.getOrderId());
if (orderRows != null) {
jdOrder.setProPriceAmount(orderRows.getProPriceAmount());
jdOrder.setFinishTime(orderRows.getFinishTime());
} else {
jdOrder.setProPriceAmount(0.0);
// 如果需要筛选完成日期不为空,先过滤后再关联查询
if (hasFinishTime != null && "true".equalsIgnoreCase(hasFinishTime)) {
// 先关联查询所有订单的完成时间
for (JDOrder jdOrder : rows) {
OrderRows orderRows = orderRowsService.selectOrderRowsByOrderId(jdOrder.getOrderId());
if (orderRows != null) {
jdOrder.setProPriceAmount(orderRows.getProPriceAmount());
jdOrder.setFinishTime(orderRows.getFinishTime());
} else {
jdOrder.setProPriceAmount(0.0);
jdOrder.setFinishTime(null);
}
}
// 过滤掉完成时间为空的订单
rows.removeIf(jdOrder -> jdOrder.getFinishTime() == null);
// 更新总数
dataTable.setTotal(rows.size());
} else {
// 正常关联查询
for (JDOrder jdOrder : rows) {
OrderRows orderRows = orderRowsService.selectOrderRowsByOrderId(jdOrder.getOrderId());
if (orderRows != null) {
jdOrder.setProPriceAmount(orderRows.getProPriceAmount());
jdOrder.setFinishTime(orderRows.getFinishTime());
} else {
jdOrder.setProPriceAmount(0.0);
}
}
}