wanggaokun 3 недель назад
Родитель
Сommit
f6415d3b67

+ 7 - 0
eco-nexus-core/nexus-core-biz/src/main/java/org/eco/vip/nexus/core/controller/role/RoleController.java

@@ -56,6 +56,9 @@ public class RoleController {
     @PostMapping("/add")
     @SaCheckPermission("system:role:add")
     public CommonResult<String> add(@RequestBody @Valid RoleBO roleBO) {
+        if(roleService.hasRoleByCode(roleBO.getCode())) {
+            return fail("角色标识已存在!");
+        }
         boolean result = roleService.insert(roleBO);
         if (!result) {
             return fail("新增组织失败!");
@@ -66,6 +69,10 @@ public class RoleController {
     @PostMapping("/edit")
     @SaCheckPermission("system:role:edit")
     public CommonResult<String> edit(@RequestBody @Valid RoleBO roleBO) {
+        boolean result = roleService.update(roleBO);
+        if (!result) {
+            return fail("更新组织失败!");
+        }
         return success();
     }
 

+ 5 - 0
eco-nexus-core/nexus-core-biz/src/main/java/org/eco/vip/nexus/core/domain/role/Role.java

@@ -53,4 +53,9 @@ public class Role extends BaseEntity {
      * 显示顺序
      */
     private Integer orderNum;
+
+    /**
+     * 是否锁定数据1锁定0不锁定
+     */
+    private String isLock;
 }

+ 7 - 3
eco-nexus-core/nexus-core-biz/src/main/java/org/eco/vip/nexus/core/domain/role/pojo/RoleBO.java

@@ -26,9 +26,9 @@ import org.eco.vip.orm.domain.BaseBO;
 public class RoleBO extends BaseBO {
 
     /**
-     * id
+     * roleId
      */
-    private String id;
+    private String roleId;
 
     /**
      * 组织id
@@ -50,7 +50,6 @@ public class RoleBO extends BaseBO {
     /**
      * 分类
      */
-    @NotBlank(message = "category不能为空")
     private String category;
 
     /**
@@ -58,4 +57,9 @@ public class RoleBO extends BaseBO {
      */
     @NotNull(message = "orderNum不能为空")
     private Integer orderNum;
+
+    /**
+     * 是否锁定数据1锁定0不锁定
+     */
+    private String isLock;
 }

+ 5 - 0
eco-nexus-core/nexus-core-biz/src/main/java/org/eco/vip/nexus/core/domain/role/pojo/RoleVO.java

@@ -51,4 +51,9 @@ public class RoleVO extends BaseEntity {
      * 显示顺序
      */
     private Integer orderNum;
+
+    /**
+     * 是否锁定数据1锁定0不锁定
+     */
+    private String isLock;
 }

+ 1 - 1
eco-nexus-core/nexus-core-biz/src/main/java/org/eco/vip/nexus/core/service/config/IConfigService.java

@@ -64,7 +64,7 @@ public interface IConfigService {
     ConfigVO selectById(String id);
 
     /**
-     * @description: 删除
+     * @description: 校验是否存在
      * @param key key
      * @return boolean 是否成功
      **/

+ 7 - 0
eco-nexus-core/nexus-core-biz/src/main/java/org/eco/vip/nexus/core/service/role/IRoleService.java

@@ -81,6 +81,13 @@ public interface IRoleService extends IBaseService<Role> {
      */
     RoleVO selectById(String id);
 
+    /**
+     * @description: 校验是否存在
+     * @param code code
+     * @return boolean 是否成功
+     **/
+    boolean hasRoleByCode(String code);
+
     /**
      * 根据用户ID查询角色权限
      *

+ 10 - 1
eco-nexus-core/nexus-core-biz/src/main/java/org/eco/vip/nexus/core/service/role/RoleService.java

@@ -22,6 +22,7 @@ import org.eco.vip.nexus.core.mapper.RolePermMapper;
 import org.eco.vip.orm.domain.PageQuery;
 import org.eco.vip.orm.pojo.PageResult;
 import org.eco.vip.orm.service.BaseService;
+import org.eco.vip.orm.utils.CollUtils;
 import org.eco.vip.orm.utils.MapstructUtils;
 import org.springframework.stereotype.Service;
 
@@ -92,7 +93,8 @@ public class RoleService extends BaseService<RoleMapper, Role> implements IRoleS
 
     @Override
     public boolean update(RoleBO roleBO) {
-        return false;
+        Role role = MapstructUtils.convert(roleBO, Role.class);
+        return this.updateById(role);
     }
 
     @Override
@@ -105,6 +107,13 @@ public class RoleService extends BaseService<RoleMapper, Role> implements IRoleS
         return null;
     }
 
+    @Override
+    public boolean hasRoleByCode(String code) {
+        QueryWrapper queryWrapper = query().where(ROLE.CODE.eq(code));
+        List<Role> list = this.list(queryWrapper);
+        return CollUtils.isNotEmpty(list);
+    }
+
     @Override
     public List<String> selectPermissionCodesByUserId(String userId) {
         QueryWrapper queryWrapper = QueryWrapper.create()

+ 19 - 18
eco-start/src/main/resources/db/mysql/V1_0_0_1__sys-init-ddl.sql

@@ -246,6 +246,7 @@ CREATE TABLE `system_role_t`
     `code`        varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '编码',
     `category`    varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分类',
     `order_num`   int NULL DEFAULT NULL COMMENT '显示顺序',
+    `is_lock`     varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '数据锁1:锁定',
     `tenant_id`   varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '租户编号',
     `status`      varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '状态(1正常 0停用)',
     `version`     int NULL DEFAULT NULL COMMENT '乐观锁',
@@ -262,7 +263,7 @@ CREATE TABLE `system_role_t`
 -- Records of system_role_t
 -- ----------------------------
 INSERT INTO `system_role_t`
-VALUES ('1', NULL, '超级管理员', 'superAdminRole', 'GLOBAL', 0, '1', '1', 0, '0', '1', '2025-07-14 15:50:52', '1',
+VALUES ('1', NULL, '超级管理员', 'superAdminRole', 'GLOBAL', 0, '1', '1', '1', 0, '0', '1', '2025-07-14 15:50:52', '1',
         '2025-07-14 15:50:52', NULL);
 
 -- ----------------------------
@@ -295,7 +296,7 @@ CREATE TABLE `system_user_t`
     `password`     varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '密码',
     `login_ip`     varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '最后登陆IP',
     `login_date`   datetime NULL DEFAULT NULL COMMENT '最后登陆时间',
-    `is_lock`             varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '数据锁1:锁定',
+    `is_lock`      varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '数据锁1:锁定',
     `tenant_id`    varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '租户编号',
     `status`       varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '状态(1正常 0停用)',
     `version`      int NULL DEFAULT NULL COMMENT '乐观锁',
@@ -379,22 +380,22 @@ VALUES ('72249010234000105', '72248983950000119', '否', '0', NULL, 'danger', 2,
 DROP TABLE IF EXISTS `system_config_t`;
 CREATE TABLE `system_config_t`
 (
-    `config_id`           varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '唯一标识',
-    `name`                varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称',
-    `config_key`          varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'key',
-    `config_value`        varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'value',
-    `category`            varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分类',
-    `order_num`           int NULL DEFAULT NULL COMMENT '显示顺序',
-    `is_lock`             varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '数据锁1:锁定',
-    `tenant_id`           varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '租户编号',
-    `status`              varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '状态(1正常 0停用)',
-    `version`             int NULL DEFAULT NULL COMMENT '乐观锁',
-    `del_flag`            varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '删除标志(1代表已删除 0代表存在)',
-    `create_by`           varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建者',
-    `create_time`         datetime NULL DEFAULT NULL COMMENT '创建时间',
-    `update_by`           varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新者',
-    `update_time`         datetime NULL DEFAULT NULL COMMENT '更新时间',
-    `remark`              varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
+    `config_id`    varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '唯一标识',
+    `name`         varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称',
+    `config_key`   varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'key',
+    `config_value` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'value',
+    `category`     varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分类',
+    `order_num`    int NULL DEFAULT NULL COMMENT '显示顺序',
+    `is_lock`      varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '数据锁1:锁定',
+    `tenant_id`    varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '租户编号',
+    `status`       varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '状态(1正常 0停用)',
+    `version`      int NULL DEFAULT NULL COMMENT '乐观锁',
+    `del_flag`     varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '删除标志(1代表已删除 0代表存在)',
+    `create_by`    varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建者',
+    `create_time`  datetime NULL DEFAULT NULL COMMENT '创建时间',
+    `update_by`    varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新者',
+    `update_time`  datetime NULL DEFAULT NULL COMMENT '更新时间',
+    `remark`       varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
     PRIMARY KEY (`config_id`) USING BTREE
 ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统配置参数表' ROW_FORMAT = DYNAMIC;