From 0f3c8f75b2443f4d4184b2b5dde2aec611db90aa Mon Sep 17 00:00:00 2001 From: Theo <971366405@qq.com> Date: Sat, 28 Sep 2024 00:19:07 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E9=87=8D=E6=9E=84=E4=BA=86?= =?UTF-8?q?=E9=83=A8=E5=88=86=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1.重构了配置和部门的entity的注释部分 2.部门的删除功能重构为了标识删除 3.修复了在修改菜单时,选中菜单填入已存在的路由名称再点回目录时候提示路由名称重复的bug --- .../boot/system/model/entity/Config.java | 29 ++++++++++++++----- .../youlai/boot/system/model/entity/Dept.java | 7 +++++ .../service/impl/ConfigServiceImpl.java | 7 ++++- .../system/service/impl/DeptServiceImpl.java | 10 +++++-- .../system/service/impl/MenuServiceImpl.java | 6 +++- .../service/impl/NoticeServiceImpl.java | 3 +- 6 files changed, 49 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/youlai/boot/system/model/entity/Config.java b/src/main/java/com/youlai/boot/system/model/entity/Config.java index 1100ee96..842aef4c 100644 --- a/src/main/java/com/youlai/boot/system/model/entity/Config.java +++ b/src/main/java/com/youlai/boot/system/model/entity/Config.java @@ -18,26 +18,39 @@ import lombok.EqualsAndHashCode; @TableName("sys_config") public class Config extends BaseEntity { - @Schema(description = "配置名称") + /** + * 配置名称 + */ private String configName; - @Schema(description = "配置键") + /** + * 配置键 + */ private String configKey; - @Schema(description = "配置值") + /** + * 配置值 + */ private String configValue; - @Schema(description = "描述、备注") + /** + * 描述、备注 + */ private String remark; - @Schema(description = "创建人ID") - @TableField(fill = FieldFill.INSERT) + /** + * 创建人ID + */ private Long createBy; - @Schema(description = "更新人ID") - @TableField(fill = FieldFill.UPDATE) + /** + * 更新人ID + */ private Long updateBy; + /** + * 逻辑删除标识(0-未删除 1-已删除) + */ @TableLogic(value = "0", delval = "1") private Integer isDeleted; diff --git a/src/main/java/com/youlai/boot/system/model/entity/Dept.java b/src/main/java/com/youlai/boot/system/model/entity/Dept.java index 9083ffd2..c59712be 100644 --- a/src/main/java/com/youlai/boot/system/model/entity/Dept.java +++ b/src/main/java/com/youlai/boot/system/model/entity/Dept.java @@ -1,5 +1,6 @@ package com.youlai.boot.system.model.entity; +import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; import com.youlai.boot.common.base.BaseEntity; import lombok.Getter; @@ -56,4 +57,10 @@ public class Dept extends BaseEntity { */ private Long updateBy; + /** + * 逻辑删除标识(0-未删除 1-已删除) + */ + @TableLogic(value = "0", delval = "1") + private Integer isDeleted; + } \ No newline at end of file diff --git a/src/main/java/com/youlai/boot/system/service/impl/ConfigServiceImpl.java b/src/main/java/com/youlai/boot/system/service/impl/ConfigServiceImpl.java index c7f8579f..76f149dd 100644 --- a/src/main/java/com/youlai/boot/system/service/impl/ConfigServiceImpl.java +++ b/src/main/java/com/youlai/boot/system/service/impl/ConfigServiceImpl.java @@ -1,6 +1,7 @@ package com.youlai.boot.system.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -123,7 +124,11 @@ public class ConfigServiceImpl extends ServiceImpl impleme @Override public boolean delete(Long id) { if (id != null) { - return super.remove(new LambdaQueryWrapper().eq(Config::getId,id)); + return super.update(new LambdaUpdateWrapper() + .eq(Config::getId,id) + .set(Config::getIsDeleted, 1) + .set(Config::getUpdateBy, SecurityUtils.getUserId()) + ); } return false; } diff --git a/src/main/java/com/youlai/boot/system/service/impl/DeptServiceImpl.java b/src/main/java/com/youlai/boot/system/service/impl/DeptServiceImpl.java index 98402189..0d0714e0 100644 --- a/src/main/java/com/youlai/boot/system/service/impl/DeptServiceImpl.java +++ b/src/main/java/com/youlai/boot/system/service/impl/DeptServiceImpl.java @@ -4,7 +4,9 @@ import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.lang.Assert; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.youlai.boot.core.security.util.SecurityUtils; import com.youlai.boot.system.converter.DeptConverter; import com.youlai.boot.system.mapper.DeptMapper; import com.youlai.boot.system.model.entity.Dept; @@ -148,6 +150,7 @@ public class DeptServiceImpl extends ServiceImpl implements De String treePath = generateDeptTreePath(formData.getParentId()); entity.setTreePath(treePath); + entity.setCreateBy(SecurityUtils.getUserId()); // 保存部门并返回部门ID boolean result = this.save(entity); Assert.isTrue(result, "部门保存失败"); @@ -236,10 +239,13 @@ public class DeptServiceImpl extends ServiceImpl implements De if (StrUtil.isNotBlank(ids)) { String[] menuIds = ids.split(SymbolConstant.COMMA); for (String deptId : menuIds) { - this.remove(new LambdaQueryWrapper() + this.update(new LambdaUpdateWrapper() .eq(Dept::getId, deptId) .or() - .apply("CONCAT (',',tree_path,',') LIKE CONCAT('%,',{0},',%')", deptId)); + .apply("CONCAT (',',tree_path,',') LIKE CONCAT('%,',{0},',%')", deptId) + .set(Dept::getIsDeleted, 1) + .set(Dept::getUpdateBy, SecurityUtils.getUserId()) + ); } } return true; diff --git a/src/main/java/com/youlai/boot/system/service/impl/MenuServiceImpl.java b/src/main/java/com/youlai/boot/system/service/impl/MenuServiceImpl.java index c46cc090..8ecfcc54 100644 --- a/src/main/java/com/youlai/boot/system/service/impl/MenuServiceImpl.java +++ b/src/main/java/com/youlai/boot/system/service/impl/MenuServiceImpl.java @@ -254,11 +254,15 @@ public class MenuServiceImpl extends ServiceImpl implements Me } else { entity.setParams(null); } - if (menuType != MenuTypeEnum.BUTTON) { + // 新增类型为菜单时候 路由名称唯一 + if (MenuTypeEnum.MENU.equals(menuType)) { Assert.isFalse(this.exists(new LambdaQueryWrapper() .eq(Menu::getRouteName, entity.getRouteName()) .ne(menuForm.getId() != null, Menu::getId, menuForm.getId()) ), "路由名称已存在"); + }else{ + // 其他类型时 给路由名称赋值为空 + entity.setRouteName(null); } boolean result = this.saveOrUpdate(entity); diff --git a/src/main/java/com/youlai/boot/system/service/impl/NoticeServiceImpl.java b/src/main/java/com/youlai/boot/system/service/impl/NoticeServiceImpl.java index a8fddbd6..d78250a1 100644 --- a/src/main/java/com/youlai/boot/system/service/impl/NoticeServiceImpl.java +++ b/src/main/java/com/youlai/boot/system/service/impl/NoticeServiceImpl.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.youlai.boot.common.constant.SymbolConstant; import com.youlai.boot.common.exception.BusinessException; import com.youlai.boot.core.security.util.SecurityUtils; import com.youlai.boot.module.websocket.service.OnlineUserService; @@ -139,7 +140,7 @@ public class NoticeServiceImpl extends ServiceImpl impleme } // 逻辑删除 - List idList = Arrays.stream(ids.split(",")) + List idList = Arrays.stream(ids.split(SymbolConstant.COMMA)) .map(Long::parseLong) .toList(); boolean isRemoved = this.removeByIds(idList);