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 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