提交 696cd8b3 authored 作者: 黄承天's avatar 黄承天

[设置模块]序号处理逻辑改动

上级 d5029e7e
......@@ -12,4 +12,6 @@ public interface StatisticsSettingRepository extends JpaRepository<StatisticsSet
List<StatisticsSetting> findAllByOrderPosLessThanEqual(Integer index);
StatisticsSetting findByOrderPos(Integer orderPos);
}
......@@ -63,30 +63,15 @@ public class StatisticsSettingService {
}
public void deleteById(Integer id) {
StatisticsSetting statisticsSetting = statisticsSettingRepository.findById(id).orElseThrow(() -> new RuntimeException("未找到该id的数据"));
Integer order = statisticsSetting.getOrderPos();
statisticsSettingRepository.deleteById(id);
//矫正后排数据的序号
List<StatisticsSetting> otherStatisticsSettingList = statisticsSettingRepository.findAllByOrderPosGreaterThanEqual(order);
for (StatisticsSetting setting : otherStatisticsSettingList) {
setting.setOrderPos(setting.getOrderPos() - 1);
statisticsSettingRepository.save(setting);
}
}
private void handleAndSave(StatisticsSetting statisticsSetting) {
Integer order = statisticsSetting.getOrderPos();
long count = statisticsSettingRepository.count();
if (Objects.isNull(order) || order > count + 1 || order < 0) {
//如果检查到序号值非法 则强制将序号赋值为末尾序号
statisticsSetting.setOrderPos(Math.toIntExact(count + 1));
} else {
//矫正后排数据的序号
List<StatisticsSetting> otherStatisticsSettingList = statisticsSettingRepository.findAllByOrderPosGreaterThanEqual(statisticsSetting.getOrderPos());
for (StatisticsSetting setting : otherStatisticsSettingList) {
setting.setOrderPos(setting.getOrderPos() + 1);
statisticsSettingRepository.save(setting);
}
StatisticsSetting origin = statisticsSettingRepository.findByOrderPos(order);
if (Objects.nonNull(origin)) {
origin.setOrderPos(null);
statisticsSettingRepository.save(origin);
}
statisticsSettingRepository.save(statisticsSetting);
}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论