Browse Source

添加参数配置功能, 添加权限点

Gaokun Wang 3 weeks ago
parent
commit
363184518f
16 changed files with 472 additions and 4 deletions
  1. 10 2
      eco-nexus-core/nexus-core-biz/src/main/java/org/eco/vip/nexus/core/controller/client/ClientController.java
  2. 85 0
      eco-nexus-core/nexus-core-biz/src/main/java/org/eco/vip/nexus/core/controller/config/ConfigController.java
  3. 1 0
      eco-nexus-core/nexus-core-biz/src/main/java/org/eco/vip/nexus/core/controller/dict/DictController.java
  4. 3 0
      eco-nexus-core/nexus-core-biz/src/main/java/org/eco/vip/nexus/core/controller/menu/MenuController.java
  5. 1 0
      eco-nexus-core/nexus-core-biz/src/main/java/org/eco/vip/nexus/core/controller/org/OrgController.java
  6. 2 0
      eco-nexus-core/nexus-core-biz/src/main/java/org/eco/vip/nexus/core/controller/position/PositionController.java
  7. 6 0
      eco-nexus-core/nexus-core-biz/src/main/java/org/eco/vip/nexus/core/controller/role/RoleController.java
  8. 6 0
      eco-nexus-core/nexus-core-biz/src/main/java/org/eco/vip/nexus/core/controller/user/UserController.java
  9. 55 0
      eco-nexus-core/nexus-core-biz/src/main/java/org/eco/vip/nexus/core/domain/config/Config.java
  10. 55 0
      eco-nexus-core/nexus-core-biz/src/main/java/org/eco/vip/nexus/core/domain/config/pojo/ConfigBO.java
  11. 55 0
      eco-nexus-core/nexus-core-biz/src/main/java/org/eco/vip/nexus/core/domain/config/pojo/ConfigVO.java
  12. 21 0
      eco-nexus-core/nexus-core-biz/src/main/java/org/eco/vip/nexus/core/mapper/ConfigMapper.java
  13. 81 0
      eco-nexus-core/nexus-core-biz/src/main/java/org/eco/vip/nexus/core/service/config/ConfigService.java
  14. 65 0
      eco-nexus-core/nexus-core-biz/src/main/java/org/eco/vip/nexus/core/service/config/IConfigService.java
  15. 2 2
      eco-nexus-core/nexus-core-biz/src/main/java/org/eco/vip/nexus/core/service/dict/IDictService.java
  16. 24 0
      eco-start/src/main/resources/db/mysql/V1_0_0_1__sys-init-ddl.sql

+ 10 - 2
eco-nexus-core/nexus-core-biz/src/main/java/org/eco/vip/nexus/core/controller/client/ClientController.java

@@ -17,7 +17,12 @@ import org.eco.vip.orm.pojo.CommonResult;
 import org.eco.vip.orm.pojo.PageResult;
 import org.eco.vip.security.annotation.PermissionsResource;
 import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
 
 import java.util.List;
 
@@ -33,7 +38,7 @@ import static org.eco.vip.orm.pojo.CommonResult.success;
 @RestController
 @RequestMapping("/system/client")
 @Validated
-@PermissionsResource("客户端")
+@PermissionsResource("client")
 public class ClientController {
     @Resource
     private IClientService clientService;
@@ -50,6 +55,7 @@ public class ClientController {
     }
 
     @PostMapping("/add")
+    @SaCheckPermission("system:client:add")
     public CommonResult<String> add(@RequestBody @Valid ClientBO clientBO) {
         boolean result = clientService.insert(clientBO);
         if (!result) {
@@ -59,6 +65,7 @@ public class ClientController {
     }
 
     @PostMapping("/edit")
+    @SaCheckPermission("system:client:edit")
     public CommonResult<Void> edit(@RequestBody @Valid ClientBO clientBO) {
         boolean result = clientService.update(clientBO);
         if (!result) {
@@ -68,6 +75,7 @@ public class ClientController {
     }
 
     @DeleteMapping("/delete")
+    @SaCheckPermission("system:client:delete")
     public CommonResult<String> delete(@RequestBody @Valid @NotEmpty(message = "集合不能为空") List<String> ids) {
         boolean result = clientService.delete(ids);
         if (!result) {

+ 85 - 0
eco-nexus-core/nexus-core-biz/src/main/java/org/eco/vip/nexus/core/controller/config/ConfigController.java

@@ -0,0 +1,85 @@
+/*
+ * Copyright (c) 2025 GaoKunW
+ *
+ */
+
+package org.eco.vip.nexus.core.controller.config;
+
+
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import jakarta.annotation.Resource;
+import jakarta.validation.Valid;
+import jakarta.validation.constraints.NotEmpty;
+import org.eco.vip.nexus.core.domain.config.pojo.ConfigBO;
+import org.eco.vip.nexus.core.domain.config.pojo.ConfigVO;
+import org.eco.vip.nexus.core.service.config.IConfigService;
+import org.eco.vip.orm.pojo.CommonResult;
+import org.eco.vip.orm.pojo.PageResult;
+import org.eco.vip.security.annotation.PermissionsResource;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+import static org.eco.vip.orm.pojo.CommonResult.fail;
+import static org.eco.vip.orm.pojo.CommonResult.success;
+
+/**
+ * @description ConfigController
+ *
+ * @author GaoKunW
+ * @date 2025/7/17 11:33
+ */
+@RestController
+@RequestMapping("/system/config")
+@Validated
+@PermissionsResource("config")
+public class ConfigController {
+    @Resource
+    private IConfigService configService;
+
+    @GetMapping("/page")
+    public CommonResult<PageResult<ConfigVO>> page(ConfigBO configBO) {
+        return success(configService.selectPage(configBO));
+    }
+
+    @GetMapping("/list")
+    public CommonResult<List<ConfigVO>> list(ConfigBO configBO) {
+        return success(configService.selectList(configBO));
+    }
+
+    @PostMapping("/add")
+    @SaCheckPermission("system:config:add")
+    public CommonResult<String> add(@RequestBody @Valid ConfigBO configBO) {
+        boolean result = configService.insert(configBO);
+        if (!result) {
+            return fail("新增失败!");
+        }
+        return success();
+    }
+
+    @PostMapping("/edit")
+    @SaCheckPermission("system:config:edit")
+    public CommonResult<String> edit(@RequestBody @Valid ConfigBO configBO) {
+        boolean result = configService.update(configBO);
+        if (!result) {
+            return fail("更新失败!");
+        }
+        return success();
+    }
+
+    @DeleteMapping("/delete")
+    @SaCheckPermission("system:config:delete")
+    public CommonResult<String> delete(@RequestBody @Valid @NotEmpty(message = "集合不能为空") List<String> ids) {
+        boolean result = configService.delete(ids);
+        if (!result) {
+            return fail("删除失败!");
+        }
+        return success();
+    }
+}

+ 1 - 0
eco-nexus-core/nexus-core-biz/src/main/java/org/eco/vip/nexus/core/controller/dict/DictController.java

@@ -76,6 +76,7 @@ public class DictController {
     }
 
     @PostMapping("/edit")
+    @SaCheckPermission("system:dict:edit")
     public CommonResult<String> edit(@RequestBody @Valid DictBO dictBO) {
         boolean result = dictService.update(dictBO);
         if (!result) {

+ 3 - 0
eco-nexus-core/nexus-core-biz/src/main/java/org/eco/vip/nexus/core/controller/menu/MenuController.java

@@ -55,6 +55,7 @@ public class MenuController {
     public CommonResult<List<MenuVO>> list(MenuBO menuBO) {
         return success(menuService.selectList(menuBO));
     }
+
     @GetMapping("/auth/list")
     public CommonResult<List<MenuVO>> listByUserId() {
         String userId = LoginHelper.getUserId();
@@ -67,6 +68,7 @@ public class MenuController {
     }
 
     @PostMapping("/add")
+    @SaCheckPermission("system:menu:add")
     public CommonResult<String> add(@RequestBody @Valid MenuBO menuBO) {
         boolean result = menuService.insert(menuBO);
         if (!result) {
@@ -76,6 +78,7 @@ public class MenuController {
     }
 
     @PostMapping("/edit")
+    @SaCheckPermission("system:menu:edit")
     public CommonResult<String> edit(@RequestBody @Valid MenuBO menuBO) {
         boolean result = menuService.update(menuBO);
         if (!result) {

+ 1 - 0
eco-nexus-core/nexus-core-biz/src/main/java/org/eco/vip/nexus/core/controller/org/OrgController.java

@@ -69,6 +69,7 @@ public class OrgController {
     }
 
     @PostMapping("/edit")
+    @SaCheckPermission("system:org:edit")
     public CommonResult<String> edit(@RequestBody @Valid OrgBO orgBO) {
         boolean result = orgService.update(orgBO);
         if (!result) {

+ 2 - 0
eco-nexus-core/nexus-core-biz/src/main/java/org/eco/vip/nexus/core/controller/position/PositionController.java

@@ -65,11 +65,13 @@ public class PositionController {
     }
 
     @PostMapping("/edit")
+    @SaCheckPermission("system:position:edit")
     public CommonResult<String> edit(@RequestBody @Valid PositionBO positionBO) {
         return success();
     }
 
     @DeleteMapping("/delete")
+    @SaCheckPermission("system:position:delete")
     public CommonResult<Void> delete(@RequestBody @Valid @NotEmpty(message = "集合不能为空") List<String> ids) {
         boolean result = positionService.delete(ids);
         if (!result) {

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

@@ -6,6 +6,7 @@
 package org.eco.vip.nexus.core.controller.role;
 
 
+import cn.dev33.satoken.annotation.SaCheckPermission;
 import jakarta.annotation.Resource;
 import jakarta.validation.Valid;
 import jakarta.validation.constraints.NotEmpty;
@@ -14,6 +15,7 @@ import org.eco.vip.nexus.core.domain.role.pojo.RoleVO;
 import org.eco.vip.nexus.core.service.role.IRoleService;
 import org.eco.vip.orm.pojo.CommonResult;
 import org.eco.vip.orm.pojo.PageResult;
+import org.eco.vip.security.annotation.PermissionsResource;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.DeleteMapping;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -36,6 +38,7 @@ import static org.eco.vip.orm.pojo.CommonResult.success;
 @RestController
 @RequestMapping("/system/role")
 @Validated
+@PermissionsResource("role")
 public class RoleController {
     @Resource
     private IRoleService roleService;
@@ -51,6 +54,7 @@ public class RoleController {
     }
 
     @PostMapping("/add")
+    @SaCheckPermission("system:role:add")
     public CommonResult<String> add(@RequestBody @Valid RoleBO roleBO) {
         boolean result = roleService.insert(roleBO);
         if (!result) {
@@ -60,11 +64,13 @@ public class RoleController {
     }
 
     @PostMapping("/edit")
+    @SaCheckPermission("system:role:edit")
     public CommonResult<String> edit(@RequestBody @Valid RoleBO roleBO) {
         return success();
     }
 
     @DeleteMapping("/delete")
+    @SaCheckPermission("system:role:delete")
     public CommonResult<String> delete(@RequestBody @Valid @NotEmpty(message = "集合不能为空") List<String> ids) {
         boolean result = roleService.delete(ids);
         if (!result) {

+ 6 - 0
eco-nexus-core/nexus-core-biz/src/main/java/org/eco/vip/nexus/core/controller/user/UserController.java

@@ -6,6 +6,7 @@
 package org.eco.vip.nexus.core.controller.user;
 
 
+import cn.dev33.satoken.annotation.SaCheckPermission;
 import cn.hutool.crypto.digest.BCrypt;
 import jakarta.annotation.Resource;
 import jakarta.validation.Valid;
@@ -18,6 +19,7 @@ import org.eco.vip.orm.pojo.CommonResult;
 import org.eco.vip.orm.pojo.LoginUserStorage;
 import org.eco.vip.orm.pojo.PageResult;
 import org.eco.vip.orm.utils.ObjUtils;
+import org.eco.vip.security.annotation.PermissionsResource;
 import org.eco.vip.security.utils.LoginHelper;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.DeleteMapping;
@@ -41,6 +43,7 @@ import static org.eco.vip.orm.pojo.CommonResult.success;
 @RestController
 @RequestMapping("/system/user")
 @Validated
+@PermissionsResource("user")
 public class UserController {
 
     @Resource
@@ -57,6 +60,7 @@ public class UserController {
     }
 
     @PostMapping("/add")
+    @SaCheckPermission("system:user:add")
     public CommonResult<String> add(@RequestBody @Valid UserBO userBO) {
         userBO.setPassword(BCrypt.hashpw(userBO.getPassword()));
         boolean result = userService.insert(userBO);
@@ -67,6 +71,7 @@ public class UserController {
     }
 
     @PostMapping("/edit")
+    @SaCheckPermission("system:user:edit")
     public CommonResult<String> edit(@RequestBody @Valid UserBO userBO) {
         boolean result = userService.update(userBO);
         if (!result) {
@@ -76,6 +81,7 @@ public class UserController {
     }
 
     @DeleteMapping("/delete")
+    @SaCheckPermission("system:user:delete")
     public CommonResult<String> delete(@RequestBody @Valid @NotEmpty(message = "集合不能为空") List<String> ids) {
         boolean result = userService.delete(ids);
         if (!result) {

+ 55 - 0
eco-nexus-core/nexus-core-biz/src/main/java/org/eco/vip/nexus/core/domain/config/Config.java

@@ -0,0 +1,55 @@
+/*
+ * Copyright (c) 2025 GaoKunW
+ *
+ */
+
+package org.eco.vip.nexus.core.domain.config;
+
+
+import com.mybatisflex.annotation.Id;
+import com.mybatisflex.annotation.Table;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.eco.vip.orm.domain.BaseEntity;
+
+/**
+ * @description Config
+ *
+ * @author GaoKunW
+ * @date 2025/7/17 11:32
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@Table("system_config_t")
+public class Config extends BaseEntity {
+    /**
+     * 唯一标识
+     */
+    @Id
+    private String configId;
+
+    /**
+     * key
+     */
+    private String configKey;
+
+    /**
+     * 值
+     */
+    private String configValue;
+
+    /**
+     * 分类
+     */
+    private String category;
+
+    /**
+     * 是否锁定数据1锁定0不锁定
+     */
+    private String isLock;
+
+    /**
+     * 顺序
+     */
+    private Integer orderNum;
+}

+ 55 - 0
eco-nexus-core/nexus-core-biz/src/main/java/org/eco/vip/nexus/core/domain/config/pojo/ConfigBO.java

@@ -0,0 +1,55 @@
+/*
+ * Copyright (c) 2025 GaoKunW
+ *
+ */
+
+package org.eco.vip.nexus.core.domain.config.pojo;
+
+
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.eco.vip.nexus.core.domain.config.Config;
+import org.eco.vip.orm.domain.BaseBO;
+
+/**
+ * @description ConfigBO
+ *
+ * @author GaoKunW
+ * @date 2025/7/17 11:33
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = Config.class, reverseConvertGenerate = false)
+public class ConfigBO extends BaseBO {
+    /**
+     * 唯一标识
+     */
+    private String configId;
+
+    /**
+     * key
+     */
+    private String configKey;
+
+    /**
+     * 值
+     */
+    private String configValue;
+
+    /**
+     * 分类
+     */
+    private String category;
+
+    /**
+     * 是否锁定数据1锁定0不锁定
+     */
+    private String isLock;
+
+    /**
+     * 顺序
+     */
+    private Integer orderNum;
+
+}

+ 55 - 0
eco-nexus-core/nexus-core-biz/src/main/java/org/eco/vip/nexus/core/domain/config/pojo/ConfigVO.java

@@ -0,0 +1,55 @@
+/*
+ * Copyright (c) 2025 GaoKunW
+ *
+ */
+
+package org.eco.vip.nexus.core.domain.config.pojo;
+
+
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.eco.vip.nexus.core.domain.config.Config;
+import org.eco.vip.orm.domain.BaseEntity;
+
+/**
+ * @description ConfigVO
+ *
+ * @author GaoKunW
+ * @date 2025/7/17 11:32
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = Config.class, reverseConvertGenerate = false)
+public class ConfigVO extends BaseEntity {
+
+    /**
+     * 唯一标识
+     */
+    private String configId;
+
+    /**
+     * key
+     */
+    private String configKey;
+
+    /**
+     * 值
+     */
+    private String configValue;
+
+    /**
+     * 分类
+     */
+    private String category;
+
+    /**
+     * 是否锁定数据1锁定0不锁定
+     */
+    private String isLock;
+
+    /**
+     * 顺序
+     */
+    private Integer orderNum;
+}

+ 21 - 0
eco-nexus-core/nexus-core-biz/src/main/java/org/eco/vip/nexus/core/mapper/ConfigMapper.java

@@ -0,0 +1,21 @@
+/*
+ * Copyright (c) 2025 GaoKunW
+ *
+ */
+
+package org.eco.vip.nexus.core.mapper;
+
+
+import com.mybatisflex.core.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.eco.vip.nexus.core.domain.config.Config;
+
+/**
+ * @description ConfigMapper
+ *
+ * @author GaoKunW
+ * @date 2025/7/17 11:34
+ */
+@Mapper
+public interface ConfigMapper extends BaseMapper<Config> {
+}

+ 81 - 0
eco-nexus-core/nexus-core-biz/src/main/java/org/eco/vip/nexus/core/service/config/ConfigService.java

@@ -0,0 +1,81 @@
+/*
+ * Copyright (c) 2025 GaoKunW
+ *
+ */
+
+package org.eco.vip.nexus.core.service.config;
+
+
+import com.mybatisflex.core.paginate.Page;
+import com.mybatisflex.core.query.QueryWrapper;
+import jakarta.annotation.Resource;
+import org.eco.vip.nexus.core.domain.config.Config;
+import org.eco.vip.nexus.core.domain.config.pojo.ConfigBO;
+import org.eco.vip.nexus.core.domain.config.pojo.ConfigVO;
+import org.eco.vip.nexus.core.mapper.ConfigMapper;
+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.MapstructUtils;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+import static org.eco.vip.nexus.core.domain.config.table.ConfigTableDef.CONFIG;
+
+/**
+ * @description ConfigService
+ *
+ * @author GaoKunW
+ * @date 2025/7/17 11:33
+ */
+@Service
+public class ConfigService extends BaseService<ConfigMapper, Config> implements IConfigService {
+
+    @Resource
+    private ConfigMapper configMapper;
+
+    private QueryWrapper buildQueryWrapper(ConfigBO configBO) {
+        return super.buildBaseQueryWrapper()
+                .and(CONFIG.CONFIG_ID.eq(configBO.getConfigId()))
+                .and(CONFIG.CONFIG_KEY.eq(configBO.getConfigKey()))
+                .and(CONFIG.CONFIG_VALUE.eq(configBO.getConfigValue()))
+                .and(CONFIG.STATUS.eq(configBO.getStatus()));
+    }
+
+    @Override
+    public PageResult<ConfigVO> selectPage(ConfigBO configBO) {
+        QueryWrapper queryWrapper = buildQueryWrapper(configBO);
+        Page<ConfigVO> page = configMapper.paginateWithRelationsAs(PageQuery.build(), queryWrapper, ConfigVO.class);
+        return PageResult.build(page);
+    }
+
+    @Override
+    public List<ConfigVO> selectList(ConfigBO configBO) {
+        QueryWrapper queryWrapper = buildQueryWrapper(configBO);
+        return configMapper.selectListWithRelationsByQueryAs(queryWrapper, ConfigVO.class);
+    }
+
+    @Override
+    public boolean insert(ConfigBO configBO) {
+        Config config = MapstructUtils.convert(configBO, Config.class);
+        return this.save(config);
+    }
+
+    @Override
+    public boolean update(ConfigBO configBO) {
+        Config config = MapstructUtils.convert(configBO, Config.class);
+        return this.updateById(config);
+    }
+
+    @Override
+    public boolean delete(List<String> ids) {
+        return this.removeByIds(ids);
+    }
+
+    @Override
+    public ConfigVO selectById(String id) {
+        QueryWrapper queryWrapper = query().where(CONFIG.CONFIG_ID.eq(id));
+        return this.getOneAs(queryWrapper, ConfigVO.class);
+    }
+}

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

@@ -0,0 +1,65 @@
+/*
+ * Copyright (c) 2025 GaoKunW
+ *
+ */
+
+package org.eco.vip.nexus.core.service.config;
+
+
+import org.eco.vip.nexus.core.domain.config.pojo.ConfigBO;
+import org.eco.vip.nexus.core.domain.config.pojo.ConfigVO;
+import org.eco.vip.orm.pojo.PageResult;
+
+import java.util.List;
+
+/**
+ * @description IConfigService
+ *
+ * @author GaoKunW
+ * @date 2025/7/17 11:33
+ */
+public interface IConfigService {
+
+    /**
+     * @description: 分页查询
+     * @param configBO 参数
+     * @return PageResult<OrgVO>
+     **/
+    PageResult<ConfigVO> selectPage(ConfigBO configBO);
+
+    /**
+     * @description: 查询
+     * @param configBO 参数
+     * @return List<ConfigVO>
+     **/
+    List<ConfigVO> selectList(ConfigBO configBO);
+
+    /**
+     * @description: 新增
+     * @param configBO 参数
+     * @return boolean 是否成功
+     **/
+    boolean insert(ConfigBO configBO);
+
+    /**
+     * @description: 更新
+     * @param configBO 参数
+     * @return boolean 是否成功
+     **/
+    boolean update(ConfigBO configBO);
+
+    /**
+     * @description: 删除
+     * @param ids ids
+     * @return boolean 是否成功
+     **/
+    boolean delete(List<String> ids);
+
+    /**
+     * 根据ID查询信息
+     *
+     * @param id ID
+     * @return 信息
+     */
+    ConfigVO selectById(String id);
+}

+ 2 - 2
eco-nexus-core/nexus-core-biz/src/main/java/org/eco/vip/nexus/core/service/dict/IDictService.java

@@ -27,14 +27,14 @@ public interface IDictService extends IBaseService<Dict> {
     /**
      * @description: 分页查询
      * @param dictBO 参数
-     * @return PageResult<OrgVO>
+     * @return PageResult<DictVO>
      **/
     PageResult<DictVO> selectPage(DictBO dictBO);
 
     /**
      * @description: 查询
      * @param dictBO 参数
-     * @return List<OrgVO>
+     * @return List<DictVO>
      **/
     List<DictVO> selectList(DictBO dictBO);
 

+ 24 - 0
eco-start/src/main/resources/db/mysql/V1_0_0_1__sys-init-ddl.sql

@@ -372,5 +372,29 @@ INSERT INTO `system_dict_t`
 VALUES ('72249010234000105', '72248983950000119', '否', '0', NULL, 'danger', 2, '1', '1', '1', 0, '0', '1',
         '2025-07-16 18:11:10', '1', '2025-07-16 18:11:19', NULL);
 
+-- ----------------------------
+-- Table structure for system_config_t
+-- ----------------------------
+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 '唯一标识',
+    `config_kay`          varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'key',
+    `config_value`        varchar(500) 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;
+
 SET
 FOREIGN_KEY_CHECKS = 1;