diff --git a/src/main/java/com/mini/mybigscreen/biz/controller/ChartInfoController.java b/src/main/java/com/mini/mybigscreen/biz/controller/ChartInfoController.java index 28149c0..e664867 100644 --- a/src/main/java/com/mini/mybigscreen/biz/controller/ChartInfoController.java +++ b/src/main/java/com/mini/mybigscreen/biz/controller/ChartInfoController.java @@ -39,19 +39,20 @@ public class ChartInfoController { @PostMapping("setting") public Result save(@RequestBody List configs) { for (ChartConfig config : configs) { - if (!config.getChartId().equals(config.getOldChartId())){ - LambdaQueryWrapper newQuery = new LambdaQueryWrapper() - .eq(ChartInfo::getChartId, config.getChartId()) - .eq(ChartInfo::getChartCode, config.getChartCode()); - ChartInfo newChartInfo = chartInfoService.getOne(newQuery); - newChartInfo.setSort(config.getSort()); - chartInfoService.updateById(newChartInfo); - LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper() - .eq(ChartInfo::getChartId, config.getOldChartId()) - .eq(ChartInfo::getChartCode, config.getChartCode()) - .set(ChartInfo::getSort, null); - chartInfoService.update(updateWrapper); - } + LambdaQueryWrapper newQuery = new LambdaQueryWrapper() + .eq(ChartInfo::getChartId, config.getChartId()) + .eq(ChartInfo::getChartCode, config.getChartCode()); + ChartInfo newChartInfo = chartInfoService.getOne(newQuery); + newChartInfo.setSort(config.getSort()); + chartInfoService.updateById(newChartInfo); + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper() + .eq(ChartInfo::getChartId, config.getOldChartId()) + .eq(ChartInfo::getChartCode, config.getChartCode()) + .notIn(ChartInfo::getChartId, configs.stream() + .map(ChartConfig::getChartId) + .toList()) + .set(ChartInfo::getSort, null); + chartInfoService.update(updateWrapper); } return Result.success(new Message("配置保存成功", 200)); }