1
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user