perf(shop): 优化经销商设置列表排序逻辑

- 将默认排序字段从 create_time 改为 update_time
- 移除 PageParam 的排序方法,改用 Java Stream 的 sort 进行排序
- 添加空值检查,避免对空列表进行排序操作
- 使用 Comparator.nullsLast 处理空值情况
- 提升列表排序性能,减少不必要的对象创建
This commit is contained in:
2026-02-05 15:15:51 +08:00
parent ee9ea88ce9
commit b9c70bb4a3

View File

@@ -10,6 +10,7 @@ import com.gxwebsoft.common.core.web.PageResult;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Comparator;
import java.util.List; import java.util.List;
/** /**
@@ -24,7 +25,7 @@ public class ShopDealerSettingServiceImpl extends ServiceImpl<ShopDealerSettingM
@Override @Override
public PageResult<ShopDealerSetting> pageRel(ShopDealerSettingParam param) { public PageResult<ShopDealerSetting> pageRel(ShopDealerSettingParam param) {
PageParam<ShopDealerSetting, ShopDealerSettingParam> page = new PageParam<>(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); List<ShopDealerSetting> list = baseMapper.selectPageRel(page, param);
return new PageResult<>(list, page.getTotal()); return new PageResult<>(list, page.getTotal());
} }
@@ -32,10 +33,14 @@ public class ShopDealerSettingServiceImpl extends ServiceImpl<ShopDealerSettingM
@Override @Override
public List<ShopDealerSetting> listRel(ShopDealerSettingParam param) { public List<ShopDealerSetting> listRel(ShopDealerSettingParam param) {
List<ShopDealerSetting> list = baseMapper.selectListRel(param); List<ShopDealerSetting> list = baseMapper.selectListRel(param);
// 排序 if (list == null || list.size() < 2) {
PageParam<ShopDealerSetting, ShopDealerSettingParam> page = new PageParam<>(); return list;
page.setDefaultOrder("create_time desc"); }
return page.sortRecords(list); list.sort(Comparator.comparing(
ShopDealerSetting::getUpdateTime,
Comparator.nullsLast(Integer::compareTo)
).reversed());
return list;
} }
@Override @Override