perf(shop): 优化经销商设置列表排序逻辑
- 将默认排序字段从 create_time 改为 update_time - 移除 PageParam 的排序方法,改用 Java Stream 的 sort 进行排序 - 添加空值检查,避免对空列表进行排序操作 - 使用 Comparator.nullsLast 处理空值情况 - 提升列表排序性能,减少不必要的对象创建
This commit is contained in:
@@ -10,6 +10,7 @@ import com.gxwebsoft.common.core.web.PageResult;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -24,7 +25,7 @@ public class ShopDealerSettingServiceImpl extends ServiceImpl<ShopDealerSettingM
|
||||
@Override
|
||||
public PageResult<ShopDealerSetting> pageRel(ShopDealerSettingParam param) {
|
||||
PageParam<ShopDealerSetting, ShopDealerSettingParam> page = new PageParam<>(param);
|
||||
page.setDefaultOrder("create_time desc");
|
||||
page.setDefaultOrder("update_time desc");
|
||||
List<ShopDealerSetting> list = baseMapper.selectPageRel(page, param);
|
||||
return new PageResult<>(list, page.getTotal());
|
||||
}
|
||||
@@ -32,10 +33,14 @@ public class ShopDealerSettingServiceImpl extends ServiceImpl<ShopDealerSettingM
|
||||
@Override
|
||||
public List<ShopDealerSetting> listRel(ShopDealerSettingParam param) {
|
||||
List<ShopDealerSetting> list = baseMapper.selectListRel(param);
|
||||
// 排序
|
||||
PageParam<ShopDealerSetting, ShopDealerSettingParam> page = new PageParam<>();
|
||||
page.setDefaultOrder("create_time desc");
|
||||
return page.sortRecords(list);
|
||||
if (list == null || list.size() < 2) {
|
||||
return list;
|
||||
}
|
||||
list.sort(Comparator.comparing(
|
||||
ShopDealerSetting::getUpdateTime,
|
||||
Comparator.nullsLast(Integer::compareTo)
|
||||
).reversed());
|
||||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user