diff --git a/ebike-staff/src/main/java/com/cdzy/staff/controller/EbikePermissionController.java b/ebike-staff/src/main/java/com/cdzy/staff/controller/EbikePermissionController.java index 6d1f01b..41fa245 100644 --- a/ebike-staff/src/main/java/com/cdzy/staff/controller/EbikePermissionController.java +++ b/ebike-staff/src/main/java/com/cdzy/staff/controller/EbikePermissionController.java @@ -10,6 +10,7 @@ import com.mybatisflex.core.paginate.Page; import com.mybatisflex.core.query.QueryWrapper; import com.mybatisflex.core.util.StringUtil; import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.List; @@ -35,7 +36,7 @@ public class EbikePermissionController { * @return {@code true} 添加成功,{@code false} 添加失败 */ @PostMapping("save") - public JsonResult save(@RequestBody EbikePermissionVo ebikePermission) { + public JsonResult save(@Validated @RequestBody EbikePermissionVo ebikePermission) { ebikePermissionService.savePermission(ebikePermission); return JsonResult.success(); } @@ -59,7 +60,7 @@ public class EbikePermissionController { * @return {@code true} 更新成功,{@code false} 更新失败 */ @PostMapping("update") - public JsonResult update(@RequestBody EbikePermissionVo ebikePermission) { + public JsonResult update(@Validated @RequestBody EbikePermissionVo ebikePermission) { ebikePermissionService.updatePermission(ebikePermission); return JsonResult.success(); } diff --git a/ebike-staff/src/main/java/com/cdzy/staff/model/entity/EbikePermission.java b/ebike-staff/src/main/java/com/cdzy/staff/model/entity/EbikePermission.java index a313d79..f3f43f4 100644 --- a/ebike-staff/src/main/java/com/cdzy/staff/model/entity/EbikePermission.java +++ b/ebike-staff/src/main/java/com/cdzy/staff/model/entity/EbikePermission.java @@ -1,5 +1,6 @@ package com.cdzy.staff.model.entity; +import com.mybatisflex.annotation.Column; import com.mybatisflex.annotation.Id; import com.mybatisflex.annotation.Table; import lombok.AllArgsConstructor; @@ -47,12 +48,15 @@ public class EbikePermission implements Serializable { private Long createBy; + @Column(onInsertValue = "now()") private LocalDateTime createTime; private Long updateBy; + @Column(onUpdateValue = "now()") private LocalDateTime updateTime; + @Column(isLogicDelete = true) private Boolean isDeleted; /** diff --git a/ebike-staff/src/main/java/com/cdzy/staff/model/vo/EbikePermissionVo.java b/ebike-staff/src/main/java/com/cdzy/staff/model/vo/EbikePermissionVo.java index 4f19448..04629e8 100644 --- a/ebike-staff/src/main/java/com/cdzy/staff/model/vo/EbikePermissionVo.java +++ b/ebike-staff/src/main/java/com/cdzy/staff/model/vo/EbikePermissionVo.java @@ -44,7 +44,6 @@ public class EbikePermissionVo implements Serializable { /** * 组件路径 */ - @NotBlank(message = "菜单标题不能为空") private String component; /** diff --git a/ebike-staff/src/main/java/com/cdzy/staff/service/impl/EbikePermissionServiceImpl.java b/ebike-staff/src/main/java/com/cdzy/staff/service/impl/EbikePermissionServiceImpl.java index 35a3ab9..0691ef9 100644 --- a/ebike-staff/src/main/java/com/cdzy/staff/service/impl/EbikePermissionServiceImpl.java +++ b/ebike-staff/src/main/java/com/cdzy/staff/service/impl/EbikePermissionServiceImpl.java @@ -66,20 +66,24 @@ public class EbikePermissionServiceImpl extends ServiceImpl tree() { QueryWrapper queryWrapper = QueryWrapper.create() - .isNull(EbikePermission::getParentId); - List first = ebikePermissionMapper.selectListByQueryAs(queryWrapper,EbikePermissionTreeNode.class); + .isNull(EbikePermission::getParentId); + List first = ebikePermissionMapper.selectListByQueryAs(queryWrapper, EbikePermissionTreeNode.class); List firstIds = first.stream().map(EbikePermissionTreeNode::getPermissionId).toList(); + List second = null; + List third = null; + if (!firstIds.isEmpty()) { + queryWrapper.clear(); + queryWrapper.in(EbikePermission::getParentId, firstIds); + second = ebikePermissionMapper.selectListByQueryAs(queryWrapper, EbikePermissionTreeNode.class); + List secondIds = second.stream().map(EbikePermissionTreeNode::getPermissionId).toList(); + if (!secondIds.isEmpty()) { + queryWrapper.clear(); + queryWrapper.in(EbikePermission::getParentId, secondIds); + third = ebikePermissionMapper.selectListByQueryAs(queryWrapper, EbikePermissionTreeNode.class); + } + } - queryWrapper.clear(); - queryWrapper.in(EbikePermission::getParentId,firstIds); - List second = ebikePermissionMapper.selectListByQueryAs(queryWrapper,EbikePermissionTreeNode.class); - List secondIds = second.stream().map(EbikePermissionTreeNode::getPermissionId).toList(); - - queryWrapper.clear(); - queryWrapper.in(EbikePermission::getParentId,secondIds); - List third = ebikePermissionMapper.selectListByQueryAs(queryWrapper,EbikePermissionTreeNode.class); - - TreeUtil.permissionTree(first,second,third); + TreeUtil.permissionTree(first, second, third); return first; } diff --git a/ebike-staff/src/main/java/com/cdzy/staff/utils/TreeUtil.java b/ebike-staff/src/main/java/com/cdzy/staff/utils/TreeUtil.java index f739e8a..2736d8a 100644 --- a/ebike-staff/src/main/java/com/cdzy/staff/utils/TreeUtil.java +++ b/ebike-staff/src/main/java/com/cdzy/staff/utils/TreeUtil.java @@ -19,8 +19,12 @@ public class TreeUtil { * @param third 三级 */ public static void permissionTree(List first, List second, List third) { - buildTree(second, third); - buildTree(first, second); + if (third != null && !third.isEmpty()) { + buildTree(second, third); + } + if (second != null && !second.isEmpty()) { + buildTree(first, second); + } } public static void buildTree(List parent, List child) {