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

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

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