From 56a75f41d1fd6dc06879aebca3e827efbb59338a Mon Sep 17 00:00:00 2001 From: xiaoCJ <406612557@qq.com> Date: Thu, 11 Jul 2024 10:51:44 +0800 Subject: [PATCH] 1 --- .../controller/CourseTagManageController.java | 13 +++-- .../mapper/SysThreeCatalogMapper.java | 2 + .../mapper/SysThreeCatalogMapper.xml | 53 +++++++++++++++++++ .../resources/mapper/SysTwoCatalogMapper.xml | 45 ++++++++++------ 4 files changed, 89 insertions(+), 24 deletions(-) diff --git a/src/main/java/com/sztzjy/resource_center/controller/CourseTagManageController.java b/src/main/java/com/sztzjy/resource_center/controller/CourseTagManageController.java index 4a05590..75f1fc5 100644 --- a/src/main/java/com/sztzjy/resource_center/controller/CourseTagManageController.java +++ b/src/main/java/com/sztzjy/resource_center/controller/CourseTagManageController.java @@ -153,10 +153,9 @@ public class CourseTagManageController { @AnonymousAccess @ApiOperation("二级目录重新排序") @PostMapping("setTwoCatalogueRank") - public ResultEntity setTwoCatalogueRank(@ApiParam("需要一级ID,二级ID和sort")@RequestBody List sysTwoCatalogs) { + public ResultEntity setTwoCatalogueRank(@ApiParam("一级ID(可为空),二级ID和sort必传")@RequestBody List sysTwoCatalogs) { for (SysTwoCatalog sysTwoCatalog : sysTwoCatalogs) { - if (StringUtils.isBlank(sysTwoCatalog.getOneId()) - || StringUtils.isBlank(sysTwoCatalog.getTwoId()) + if (StringUtils.isBlank(sysTwoCatalog.getTwoId()) || sysTwoCatalog.getSort() == null) { return new ResultEntity<>(HttpStatus.BAD_REQUEST, "更新失败,缺少必须的数据!"); } @@ -169,13 +168,13 @@ public class CourseTagManageController { @AnonymousAccess @ApiOperation("三级目录重新排序") @PostMapping("setThreeCatalogueRank") - public ResultEntity setThreeCatalogueRank(@ApiParam("需要一级,二级,三级ID和sort")@RequestBody List sysOneCatalogs) { - for (SysOneCatalog sysOneCatalog : sysOneCatalogs) { - if (StringUtils.isBlank(sysOneCatalog.getOneId()) || sysOneCatalog.getSort() == null) { + public ResultEntity setThreeCatalogueRank(@ApiParam("需要一级(可为空)二级(可为空),三级ID和sort必传")@RequestBody List sysThreeCatalogs) { + for (SysThreeCatalog sysThreeCatalog : sysThreeCatalogs) { + if (StringUtils.isBlank(sysThreeCatalog.getThreeId()) || sysThreeCatalog.getSort() == null) { return new ResultEntity<>(HttpStatus.BAD_REQUEST, "更新失败,缺少必须的数据!"); } } - sysOneCatalogMapper.updateByBatch(sysOneCatalogs); + sysThreeCatalogMapper.updateByBatch(sysThreeCatalogs); return null; } diff --git a/src/main/java/com/sztzjy/resource_center/mapper/SysThreeCatalogMapper.java b/src/main/java/com/sztzjy/resource_center/mapper/SysThreeCatalogMapper.java index 5683c65..d4f7d10 100644 --- a/src/main/java/com/sztzjy/resource_center/mapper/SysThreeCatalogMapper.java +++ b/src/main/java/com/sztzjy/resource_center/mapper/SysThreeCatalogMapper.java @@ -34,4 +34,6 @@ public interface SysThreeCatalogMapper { @Select("select three_id,three_name from sys_three_catalog where ont_id = #{oneId} and two_id =#{twoId} order by sort ASC") List> getAllThreeCatalogList(@Param("oneId")String oneId, @Param("twoId")String twoId); + + void updateByBatch(@Param("sysThreeCatalogs") List sysThreeCatalogs); } \ No newline at end of file diff --git a/src/main/resources/mapper/SysThreeCatalogMapper.xml b/src/main/resources/mapper/SysThreeCatalogMapper.xml index fff36be..8e2ec1a 100644 --- a/src/main/resources/mapper/SysThreeCatalogMapper.xml +++ b/src/main/resources/mapper/SysThreeCatalogMapper.xml @@ -240,4 +240,57 @@ create_time = #{createTime,jdbcType=TIMESTAMP} where three_id = #{threeId,jdbcType=VARCHAR} + + + + UPDATE sys_three_catalog + + + + + ont_id = CASE + + + WHEN three_id = #{innerItem.threeId} THEN #{innerItem.ontId} + + + ELSE ont_id + END, + + + + + + + two_id = CASE + + + WHEN three_id = #{innerItem.threeId} THEN #{innerItem.twoId} + + + ELSE two_id + END, + + + + + + + sort = CASE + + + WHEN three_id = #{innerItem.threeId} THEN #{innerItem.sort} + + + ELSE sort + END + + + + WHERE three_id IN + + #{item.threeId} + + + \ No newline at end of file diff --git a/src/main/resources/mapper/SysTwoCatalogMapper.xml b/src/main/resources/mapper/SysTwoCatalogMapper.xml index 4c6daae..b4a9365 100644 --- a/src/main/resources/mapper/SysTwoCatalogMapper.xml +++ b/src/main/resources/mapper/SysTwoCatalogMapper.xml @@ -226,24 +226,35 @@ where two_id = #{twoId,jdbcType=VARCHAR} - - - UPDATE sys_two_catalog - - - sort = CASE - - - WHEN one_id = #{item.oneId} THEN #{item.sort} + + + UPDATE sys_two_catalog + + + + one_id = CASE + + + WHEN two_id = #{item.twoId} THEN #{item.oneId} + + + ELSE one_id -- 可选项,用于处理未在 list 中的 twoId + END, + sort = CASE + + + WHEN two_id = #{item.twoId} THEN #{item.sort} + + + ELSE sort -- 可选项,用于处理未在 list 中的 twoId + END - ELSE sort -- 可选项,用于处理未在 list 中的 oneId - END + + WHERE two_id IN + + #{item.twoId} - - WHERE one_id IN - - #{item.oneId} - - + + \ No newline at end of file