From 9dc4a877092b435c56d85ad3fbd3d2fce5c3c072 Mon Sep 17 00:00:00 2001 From: konbai <1527468660@qq.com> Date: Sat, 19 Mar 2022 14:42:58 +0800 Subject: [PATCH] =?UTF-8?q?fix=20--=20=E5=90=8C=E6=AD=A5=20RuoYi-Vue-Plus?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 13 ++- ruoyi-admin/pom.xml | 15 ++++ .../src/main/resources/application-dev.yml | 14 ++- .../src/main/resources/application-prod.yml | 14 ++- .../common/core/domain/entity/SysDept.java | 2 +- .../core/domain/entity/SysDictData.java | 2 +- .../common/core/domain/entity/SysMenu.java | 2 +- .../common/core/domain/entity/SysRole.java | 9 +- .../ruoyi/common/helper/DataBaseHelper.java | 5 +- .../demo/controller/TestBatchController.java | 4 +- .../java/com/ruoyi/demo/domain/TestDemo.java | 2 +- ruoyi-extend/ruoyi-xxl-job-admin/pom.xml | 5 +- .../service/GenTableColumnServiceImpl.java | 68 --------------- .../service/IGenTableColumnService.java | 44 ---------- .../ruoyi/generator/util/VelocityUtils.java | 2 +- .../mapper/generator/GenTableColumnMapper.xml | 31 +++++++ .../mapper/generator/GenTableMapper.xml | 86 ++++++++++++++++++- .../java/com/ruoyi/system/domain/SysPost.java | 5 +- .../service/impl/SysDeptServiceImpl.java | 2 +- .../service/impl/SysMenuServiceImpl.java | 2 +- .../resources/mapper/system/SysMenuMapper.xml | 4 +- ruoyi-ui/src/views/system/role/index.vue | 16 ++-- script/sql/postgres/postgres_ry_20220319.sql | 2 +- script/sql/sqlserver/sqlserver_ry_vue_4.X.sql | 42 +-------- 24 files changed, 198 insertions(+), 193 deletions(-) delete mode 100644 ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableColumnServiceImpl.java delete mode 100644 ruoyi-generator/src/main/java/com/ruoyi/generator/service/IGenTableColumnService.java diff --git a/pom.xml b/pom.xml index a4240fe8..58da40ee 100644 --- a/pom.xml +++ b/pom.xml @@ -14,22 +14,24 @@ 4.0.1 - 2.6.3 + 2.6.4 UTF-8 UTF-8 1.8 3.2.2 + 2.2.0 1.2.8 3.0.3 1.5.22 4.1.2 + 1.21 3.0.5 3.3.0 2.3 1.29.0 3.5.1 3.9.1 - 5.7.20 + 5.7.21 4.9.2 2.6.2 3.16.8 @@ -110,6 +112,13 @@ ${poi.version} + + + org.apache.commons + commons-compress + ${commons-compress.version} + + com.alibaba easyexcel diff --git a/ruoyi-admin/pom.xml b/ruoyi-admin/pom.xml index d8613957..ae492433 100644 --- a/ruoyi-admin/pom.xml +++ b/ruoyi-admin/pom.xml @@ -29,6 +29,21 @@ mysql mysql-connector-java + + + com.oracle.database.jdbc + ojdbc8 + + + + org.postgresql + postgresql + + + + com.microsoft.sqlserver + mssql-jdbc + diff --git a/ruoyi-admin/src/main/resources/application-dev.yml b/ruoyi-admin/src/main/resources/application-dev.yml index 2e408e7f..d487979f 100644 --- a/ruoyi-admin/src/main/resources/application-dev.yml +++ b/ruoyi-admin/src/main/resources/application-dev.yml @@ -67,6 +67,18 @@ spring: # driverClassName: oracle.jdbc.OracleDriver # url: jdbc:oracle:thin:@//localhost:1521/XE # username: ROOT +# password: root +# druid: +# validationQuery: SELECT 1 FROM DUAL +# postgres: +# driverClassName: org.postgresql.Driver +# url: jdbc:postgresql://localhost:5432/postgres?useUnicode=true&characterEncoding=utf8&useSSL=true&autoReconnect=true&reWriteBatchedInserts=true +# username: root +# password: root +# sqlserver: +# driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver +# url: jdbc:sqlserver://localhost:1433;DatabaseName=tempdb;SelectMethod=cursor;rewriteBatchedStatements=true +# username: SA # password: root druid: # 初始连接数 @@ -84,7 +96,7 @@ spring: # 配置一个连接在池中最大生存的时间,单位是毫秒 maxEvictableIdleTimeMillis: 900000 # 配置检测连接是否有效 - validationQuery: SELECT 1 FROM DUAL + validationQuery: SELECT 1 testWhileIdle: true testOnBorrow: false testOnReturn: false diff --git a/ruoyi-admin/src/main/resources/application-prod.yml b/ruoyi-admin/src/main/resources/application-prod.yml index 069639ea..51392215 100644 --- a/ruoyi-admin/src/main/resources/application-prod.yml +++ b/ruoyi-admin/src/main/resources/application-prod.yml @@ -74,6 +74,18 @@ spring: # driverClassName: oracle.jdbc.OracleDriver # url: jdbc:oracle:thin:@//172.30.0.36:1521/XE # username: ROOT +# password: root +# druid: +# validationQuery: SELECT 1 FROM DUAL +# postgres: +# driverClassName: org.postgresql.Driver +# url: jdbc:postgresql://172.30.0.36:5432/postgres?useUnicode=true&characterEncoding=utf8&useSSL=true&autoReconnect=true&reWriteBatchedInserts=true +# username: root +# password: root +# sqlserver: +# driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver +# url: jdbc:sqlserver://172.30.0.36:1433;DatabaseName=tempdb;SelectMethod=cursor;rewriteBatchedStatements=true +# username: SA # password: root druid: # 初始连接数 @@ -91,7 +103,7 @@ spring: # 配置一个连接在池中最大生存的时间,单位是毫秒 maxEvictableIdleTimeMillis: 900000 # 配置检测连接是否有效 - validationQuery: SELECT 1 FROM DUAL + validationQuery: SELECT 1 testWhileIdle: true testOnBorrow: false testOnReturn: false diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDept.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDept.java index ccfe07d9..2dc3bdc4 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDept.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDept.java @@ -47,7 +47,7 @@ public class SysDept extends TreeEntity { */ @ApiModelProperty(value = "显示顺序") @NotNull(message = "显示顺序不能为空") - private Long orderNum; + private Integer orderNum; /** * 负责人 diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDictData.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDictData.java index dc7f0512..c61c9172 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDictData.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDictData.java @@ -42,7 +42,7 @@ public class SysDictData extends BaseEntity { */ @ApiModelProperty(value = "字典排序") @ExcelProperty(value = "字典排序") - private Long dictSort; + private Integer dictSort; /** * 字典标签 diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysMenu.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysMenu.java index 8668481b..cf337fbe 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysMenu.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysMenu.java @@ -45,7 +45,7 @@ public class SysMenu extends TreeEntity { */ @ApiModelProperty(value = "显示顺序") @NotNull(message = "显示顺序不能为空") - private Long orderNum; + private Integer orderNum; /** * 路由地址 diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysRole.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysRole.java index 662989ef..8d916609 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysRole.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysRole.java @@ -16,6 +16,7 @@ import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; /** @@ -62,8 +63,8 @@ public class SysRole extends BaseEntity { */ @ApiModelProperty(value = "角色排序") @ExcelProperty(value = "角色排序") - @NotBlank(message = "显示顺序不能为空") - private String roleSort; + @NotNull(message = "显示顺序不能为空") + private Integer roleSort; /** * 数据范围(1:所有数据权限;2:自定义数据权限;3:本部门数据权限;4:本部门及以下数据权限;5:仅本人数据权限) @@ -77,13 +78,13 @@ public class SysRole extends BaseEntity { * 菜单树选择项是否关联显示( 0:父子不互相关联显示 1:父子互相关联显示) */ @ApiModelProperty(value = "菜单树选择项是否关联显示( 0:父子不互相关联显示 1:父子互相关联显示)") - private boolean menuCheckStrictly; + private Integer menuCheckStrictly; /** * 部门树选择项是否关联显示(0:父子不互相关联显示 1:父子互相关联显示 ) */ @ApiModelProperty(value = "部门树选择项是否关联显示(0:父子不互相关联显示 1:父子互相关联显示 )") - private boolean deptCheckStrictly; + private Integer deptCheckStrictly; /** * 角色状态(0正常 1停用) diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/helper/DataBaseHelper.java b/ruoyi-common/src/main/java/com/ruoyi/common/helper/DataBaseHelper.java index c1adea31..34afa5b8 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/helper/DataBaseHelper.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/helper/DataBaseHelper.java @@ -9,6 +9,7 @@ import lombok.AccessLevel; import lombok.NoArgsConstructor; import javax.sql.DataSource; +import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.SQLException; @@ -26,8 +27,8 @@ public class DataBaseHelper { public static DataBaseType getDataBaseType() { DynamicRoutingDataSource ds = (DynamicRoutingDataSource) SpringUtils.getBean(DataSource.class); DataSource dataSource = ds.determineDataSource(); - try { - DatabaseMetaData metaData = dataSource.getConnection().getMetaData(); + try (Connection conn = dataSource.getConnection()) { + DatabaseMetaData metaData = conn.getMetaData(); String databaseProductName = metaData.getDatabaseProductName(); return DataBaseType.find(databaseProductName); } catch (SQLException e) { diff --git a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestBatchController.java b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestBatchController.java index 1bb9d9fa..aa1f064a 100644 --- a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestBatchController.java +++ b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestBatchController.java @@ -45,7 +45,7 @@ public class TestBatchController extends BaseController { List list = new ArrayList<>(); for (int i = 0; i < 1000; i++) { TestDemo testDemo = new TestDemo(); - testDemo.setOrderNum(-1L); + testDemo.setOrderNum(-1); testDemo.setTestKey("批量新增"); testDemo.setValue("测试新增"); list.add(testDemo); @@ -65,7 +65,7 @@ public class TestBatchController extends BaseController { List list = new ArrayList<>(); for (int i = 0; i < 1000; i++) { TestDemo testDemo = new TestDemo(); - testDemo.setOrderNum(-1L); + testDemo.setOrderNum(-1); testDemo.setTestKey("批量新增"); testDemo.setValue("测试新增"); list.add(testDemo); } diff --git a/ruoyi-demo/src/main/java/com/ruoyi/demo/domain/TestDemo.java b/ruoyi-demo/src/main/java/com/ruoyi/demo/domain/TestDemo.java index c079d122..dc19ce2c 100644 --- a/ruoyi-demo/src/main/java/com/ruoyi/demo/domain/TestDemo.java +++ b/ruoyi-demo/src/main/java/com/ruoyi/demo/domain/TestDemo.java @@ -39,7 +39,7 @@ public class TestDemo extends BaseEntity { * 排序号 */ @OrderBy(asc = false, sort = 1) - private Long orderNum; + private Integer orderNum; /** * key键 diff --git a/ruoyi-extend/ruoyi-xxl-job-admin/pom.xml b/ruoyi-extend/ruoyi-xxl-job-admin/pom.xml index 65125b90..f59b63df 100644 --- a/ruoyi-extend/ruoyi-xxl-job-admin/pom.xml +++ b/ruoyi-extend/ruoyi-xxl-job-admin/pom.xml @@ -10,8 +10,6 @@ jar - 2.1.4 - 8.0.23 @@ -62,13 +60,12 @@ org.mybatis.spring.boot mybatis-spring-boot-starter - ${mybatis-spring-boot-starter.version} + ${spring-boot.mybatis} mysql mysql-connector-java - ${mysql-connector-java.version} diff --git a/ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableColumnServiceImpl.java b/ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableColumnServiceImpl.java deleted file mode 100644 index 78260aa7..00000000 --- a/ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableColumnServiceImpl.java +++ /dev/null @@ -1,68 +0,0 @@ -package com.ruoyi.generator.service; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.ruoyi.generator.domain.GenTableColumn; -import com.ruoyi.generator.mapper.GenTableColumnMapper; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Service; - -import java.util.Arrays; -import java.util.List; - -/** - * 业务字段 服务层实现 - * - * @author Lion Li - */ -@RequiredArgsConstructor -@Service -public class GenTableColumnServiceImpl implements IGenTableColumnService { - - private final GenTableColumnMapper baseMapper; - - /** - * 查询业务字段列表 - * - * @param tableId 业务字段编号 - * @return 业务字段集合 - */ - @Override - public List selectGenTableColumnListByTableId(Long tableId) { - return baseMapper.selectList(new LambdaQueryWrapper() - .eq(GenTableColumn::getTableId, tableId) - .orderByAsc(GenTableColumn::getSort)); - } - - /** - * 新增业务字段 - * - * @param genTableColumn 业务字段信息 - * @return 结果 - */ - @Override - public int insertGenTableColumn(GenTableColumn genTableColumn) { - return baseMapper.insert(genTableColumn); - } - - /** - * 修改业务字段 - * - * @param genTableColumn 业务字段信息 - * @return 结果 - */ - @Override - public int updateGenTableColumn(GenTableColumn genTableColumn) { - return baseMapper.updateById(genTableColumn); - } - - /** - * 删除业务字段对象 - * - * @param ids 需要删除的数据ID - * @return 结果 - */ - @Override - public int deleteGenTableColumnByIds(String ids) { - return baseMapper.deleteBatchIds(Arrays.asList(ids.split(","))); - } -} diff --git a/ruoyi-generator/src/main/java/com/ruoyi/generator/service/IGenTableColumnService.java b/ruoyi-generator/src/main/java/com/ruoyi/generator/service/IGenTableColumnService.java deleted file mode 100644 index f14f36a5..00000000 --- a/ruoyi-generator/src/main/java/com/ruoyi/generator/service/IGenTableColumnService.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.ruoyi.generator.service; - -import com.ruoyi.generator.domain.GenTableColumn; - -import java.util.List; - -/** - * 业务字段 服务层 - * - * @author Lion Li - */ -public interface IGenTableColumnService { - /** - * 查询业务字段列表 - * - * @param tableId 业务字段编号 - * @return 业务字段集合 - */ - List selectGenTableColumnListByTableId(Long tableId); - - /** - * 新增业务字段 - * - * @param genTableColumn 业务字段信息 - * @return 结果 - */ - int insertGenTableColumn(GenTableColumn genTableColumn); - - /** - * 修改业务字段 - * - * @param genTableColumn 业务字段信息 - * @return 结果 - */ - int updateGenTableColumn(GenTableColumn genTableColumn); - - /** - * 删除业务字段信息 - * - * @param ids 需要删除的数据ID - * @return 结果 - */ - int deleteGenTableColumnByIds(String ids); -} diff --git a/ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityUtils.java b/ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityUtils.java index 81afe56c..74649704 100644 --- a/ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityUtils.java +++ b/ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityUtils.java @@ -139,7 +139,7 @@ public class VelocityUtils { if (DataBaseHelper.isOracle()) { templates.add("vm/sql/oracle/sql.vm"); } else if (DataBaseHelper.isPostgerSql()) { - templates.add("vm/sql/postgers/sql.vm"); + templates.add("vm/sql/postgres/sql.vm"); } else if (DataBaseHelper.isSqlServer()) { templates.add("vm/sql/sqlserver/sql.vm"); } else { diff --git a/ruoyi-generator/src/main/resources/mapper/generator/GenTableColumnMapper.xml b/ruoyi-generator/src/main/resources/mapper/generator/GenTableColumnMapper.xml index 4614dd41..7b1e9c5f 100644 --- a/ruoyi-generator/src/main/resources/mapper/generator/GenTableColumnMapper.xml +++ b/ruoyi-generator/src/main/resources/mapper/generator/GenTableColumnMapper.xml @@ -62,6 +62,37 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ORDER BY temp.column_id + SELECT column_name, is_required, is_pk, sort, column_comment, is_increment, column_type + FROM ( + SELECT c.relname AS table_name, + a.attname AS column_name, + d.description AS column_comment, + CASE WHEN a.attnotnull AND con.conname IS NULL THEN 1 ELSE 0 + END AS is_required, + CASE WHEN con.conname IS NOT NULL THEN 1 ELSE 0 + END AS is_pk, + a.attnum AS sort, + CASE WHEN "position"(pg_get_expr(ad.adbin, ad.adrelid), + ((c.relname::text || '_'::text) || a.attname::text) || '_seq'::text) > 0 THEN 1 ELSE 0 + END AS is_increment, + btrim( + CASE WHEN t.typelem ]]> 0::oid AND t.typlen = '-1'::integer THEN 'ARRAY'::text ELSE + CASE WHEN t.typtype = 'd'::"char" THEN format_type(t.typbasetype, NULL::integer) + ELSE format_type(a.atttypid, NULL::integer) END + END, '"'::text + ) AS column_type + FROM pg_attribute a + JOIN (pg_class c JOIN pg_namespace n ON c.relnamespace = n.oid) ON a.attrelid = c.oid + LEFT JOIN pg_description d ON d.objoid = c.oid AND a.attnum = d.objsubid + LEFT JOIN pg_constraint con ON con.conrelid = c.oid AND (a.attnum = ANY (con.conkey)) + LEFT JOIN pg_attrdef ad ON a.attrelid = ad.adrelid AND a.attnum = ad.adnum + LEFT JOIN pg_type t ON a.atttypid = t.oid + WHERE (c.relkind = ANY (ARRAY ['r'::"char", 'p'::"char"])) + AND a.attnum > 0 + AND n.nspname = 'public'::name + ORDER BY c.relname, a.attnum + ) temp + WHERE table_name = (#{tableName}) diff --git a/ruoyi-generator/src/main/resources/mapper/generator/GenTableMapper.xml b/ruoyi-generator/src/main/resources/mapper/generator/GenTableMapper.xml index 306f7af2..b66b25d8 100644 --- a/ruoyi-generator/src/main/resources/mapper/generator/GenTableMapper.xml +++ b/ruoyi-generator/src/main/resources/mapper/generator/GenTableMapper.xml @@ -57,7 +57,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select table_name, table_comment, create_time, update_time from information_schema.tables - AND table_name NOT LIKE 'qrtz_%' AND table_name NOT LIKE 'gen_%' + where table_schema = (select database()) + AND table_name NOT LIKE 'xxl_job_%' AND table_name NOT LIKE 'gen_%' AND table_name NOT IN (select table_name from gen_table) AND lower(table_name) like lower(concat('%', #{genTable.tableName}, '%')) @@ -73,7 +74,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where dt.table_name = dtc.table_name and dt.table_name = uo.object_name and uo.object_type = 'TABLE' - AND dt.table_name NOT LIKE 'QRTZ_%' AND dt.table_name NOT LIKE 'GEN_%' + AND dt.table_name NOT LIKE 'XXL_JOB_%' AND dt.table_name NOT LIKE 'GEN_%' AND lower(dt.table_name) NOT IN (select table_name from gen_table) AND lower(dt.table_name) like lower(concat(concat('%', #{genTable.tableName}), '%')) @@ -84,6 +85,28 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" order by create_time desc + select table_name, table_comment, create_time, update_time + from ( + SELECT c.relname AS table_name, + obj_description(c.oid) AS table_comment, + CURRENT_TIMESTAMP AS create_time, + CURRENT_TIMESTAMP AS update_time + FROM pg_class c + LEFT JOIN pg_namespace n ON n.oid = c.relnamespace + WHERE (c.relkind = ANY (ARRAY ['r'::"char", 'p'::"char"])) + AND c.relname != 'spatial_%'::text + AND n.nspname = 'public'::name + AND n.nspname ]]> ''::name + ) list_table + where table_name NOT LIKE 'xxl_job_%' AND table_name NOT LIKE 'gen_%' + AND table_name NOT IN (select table_name from gen_table) + + AND lower(table_name) like lower(concat('%', #{genTable.tableName}, '%')) + + + AND lower(table_comment) like lower(concat('%', #{genTable.tableComment}, '%')) + + order by create_time desc @@ -93,7 +116,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select table_name, table_comment, create_time, update_time from information_schema.tables - AND table_name NOT LIKE 'qrtz_%' AND table_name NOT LIKE 'gen_%' + AND table_name NOT LIKE 'xxl_job_%' AND table_name NOT LIKE 'gen_%' AND table_name NOT IN (select table_name from gen_table) AND lower(table_name) like lower(concat('%', #{tableName}, '%')) @@ -109,7 +132,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where dt.table_name = dtc.table_name and dt.table_name = uo.object_name and uo.object_type = 'TABLE' - AND dt.table_name NOT LIKE 'QRTZ_%' AND dt.table_name NOT LIKE 'GEN_%' + AND dt.table_name NOT LIKE 'XXL_JOB_%' AND dt.table_name NOT LIKE 'GEN_%' AND lower(dt.table_name) NOT IN (select table_name from gen_table) AND lower(dt.table_name) like lower(concat(concat('%', #{tableName}), '%')) @@ -120,6 +143,28 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" order by create_time desc + select table_name, table_comment, create_time, update_time + from ( + SELECT c.relname AS table_name, + obj_description(c.oid) AS table_comment, + CURRENT_TIMESTAMP AS create_time, + CURRENT_TIMESTAMP AS update_time + FROM pg_class c + LEFT JOIN pg_namespace n ON n.oid = c.relnamespace + WHERE (c.relkind = ANY (ARRAY ['r'::"char", 'p'::"char"])) + AND c.relname != 'spatial_%'::text + AND n.nspname = 'public'::name + AND n.nspname ]]> ''::name + ) list_table + where table_name NOT LIKE 'xxl_job_%' AND table_name NOT LIKE 'gen_%' + AND table_name NOT IN (select table_name from gen_table) + + AND lower(table_name) like lower(concat('%', #{genTable.tableName}, '%')) + + + AND lower(table_comment) like lower(concat('%', #{genTable.tableComment}, '%')) + + order by create_time desc @@ -148,6 +193,24 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + select table_name, table_comment, create_time, update_time + from ( + SELECT c.relname AS table_name, + obj_description(c.oid) AS table_comment, + CURRENT_TIMESTAMP AS create_time, + CURRENT_TIMESTAMP AS update_time + FROM pg_class c + LEFT JOIN pg_namespace n ON n.oid = c.relnamespace + WHERE (c.relkind = ANY (ARRAY ['r'::"char", 'p'::"char"])) + AND c.relname != 'spatial_%'::text + AND n.nspname = 'public'::name + AND n.nspname ]]> ''::name + ) list_table + where table_name NOT LIKE 'xxl_job_%' and table_name NOT LIKE 'gen_%' + and table_name in + + #{name} + @@ -170,6 +233,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and lower(dt.table_name) = #{tableName} + select table_name, table_comment, create_time, update_time + from ( + SELECT c.relname AS table_name, + obj_description(c.oid) AS table_comment, + CURRENT_TIMESTAMP AS create_time, + CURRENT_TIMESTAMP AS update_time + FROM pg_class c + LEFT JOIN pg_namespace n ON n.oid = c.relnamespace + WHERE (c.relkind = ANY (ARRAY ['r'::"char", 'p'::"char"])) + AND c.relname != 'spatial_%'::text + AND n.nspname = 'public'::name + AND n.nspname ]]> ''::name + ) list_table + where table_name NOT LIKE 'xxl_job_%' and table_name NOT LIKE 'gen_%' + and table_name = #{tableName} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysPost.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysPost.java index 80bf275c..d0c968e4 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysPost.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysPost.java @@ -14,6 +14,7 @@ import lombok.Data; import lombok.EqualsAndHashCode; import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; /** @@ -60,8 +61,8 @@ public class SysPost extends BaseEntity { */ @ApiModelProperty(value = "岗位排序") @ExcelProperty(value = "岗位排序") - @NotBlank(message = "显示顺序不能为空") - private String postSort; + @NotNull(message = "显示顺序不能为空") + private Integer postSort; /** * 状态(0正常 1停用) diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java index 6b6fddd3..0b6fc706 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java @@ -85,7 +85,7 @@ public class SysDeptServiceImpl implements ISysDeptService { @Override public List selectDeptListByRoleId(Long roleId) { SysRole role = roleMapper.selectById(roleId); - return baseMapper.selectDeptListByRoleId(roleId, role.isDeptCheckStrictly()); + return baseMapper.selectDeptListByRoleId(roleId, role.getDeptCheckStrictly() == 1); } /** diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java index 5b6213eb..87723134 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java @@ -123,7 +123,7 @@ public class SysMenuServiceImpl implements ISysMenuService { @Override public List selectMenuListByRoleId(Long roleId) { SysRole role = roleMapper.selectById(roleId); - return baseMapper.selectMenuListByRoleId(roleId, role.isMenuCheckStrictly()); + return baseMapper.selectMenuListByRoleId(roleId, role.getMenuCheckStrictly() == 1); } /** diff --git a/ruoyi-system/src/main/resources/mapper/system/SysMenuMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysMenuMapper.xml index df17efd4..08838c59 100644 --- a/ruoyi-system/src/main/resources/mapper/system/SysMenuMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/SysMenuMapper.xml @@ -60,8 +60,8 @@ left join sys_user u on ur.user_id = u.user_id where u.user_id = #{userId} and m.menu_type in ('M', 'C') - and m.status = 0 - AND ro.status = 0 + and m.status = '0' + and ro.status = '0' order by m.parent_id, m.order_num diff --git a/ruoyi-ui/src/views/system/role/index.vue b/ruoyi-ui/src/views/system/role/index.vue index b08cf347..a1202451 100644 --- a/ruoyi-ui/src/views/system/role/index.vue +++ b/ruoyi-ui/src/views/system/role/index.vue @@ -187,14 +187,14 @@ 展开/折叠 全选/全不选 - 父子联动 + 父子联动 @@ -231,7 +231,7 @@ 展开/折叠 全选/全不选 - 父子联动 + 父子联动 @@ -440,8 +440,8 @@ export default { status: "0", menuIds: [], deptIds: [], - menuCheckStrictly: true, - deptCheckStrictly: true, + menuCheckStrictly: 1, + deptCheckStrictly: 1, remark: undefined }; this.resetForm("form"); @@ -501,9 +501,9 @@ export default { // 树权限(父子联动) handleCheckedTreeConnect(value, type) { if (type == 'menu') { - this.form.menuCheckStrictly = value ? true: false; + this.form.menuCheckStrictly = value ? 1: 0; } else if (type == 'dept') { - this.form.deptCheckStrictly = value ? true: false; + this.form.deptCheckStrictly = value ? 1: 0; } }, /** 新增按钮操作 */ diff --git a/script/sql/postgres/postgres_ry_20220319.sql b/script/sql/postgres/postgres_ry_20220319.sql index 38a17c00..9dc5375d 100644 --- a/script/sql/postgres/postgres_ry_20220319.sql +++ b/script/sql/postgres/postgres_ry_20220319.sql @@ -878,7 +878,7 @@ drop table if exists gen_table_column; create table gen_table_column ( column_id int8, - table_id varchar(64) default null::varchar, + table_id int8, column_name varchar(200) default null::varchar, column_comment varchar(500) default null::varchar, column_type varchar(100) default null::varchar, diff --git a/script/sql/sqlserver/sqlserver_ry_vue_4.X.sql b/script/sql/sqlserver/sqlserver_ry_vue_4.X.sql index 1fd4aa8d..92ea9c62 100644 --- a/script/sql/sqlserver/sqlserver_ry_vue_4.X.sql +++ b/script/sql/sqlserver/sqlserver_ry_vue_4.X.sql @@ -325,7 +325,7 @@ GO CREATE TABLE [sys_config] ( - [config_id] bigint IDENTITY (1,1) NOT NULL, + [config_id] bigint NOT NULL, [config_name] nvarchar(100) DEFAULT '' NULL, [config_key] nvarchar(100) DEFAULT '' NULL, [config_value] nvarchar(500) DEFAULT '' NULL, @@ -408,8 +408,6 @@ EXEC sys.sp_addextendedproperty 'TABLE', N'sys_config' GO -SET IDENTITY_INSERT [sys_config] ON -GO INSERT [sys_config] ([config_id], [config_name], [config_key], [config_value], [config_type], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1, N'主框架页-默认皮肤样式名称', N'sys.index.skinName', N'skin-blue', N'Y', N'admin', getdate(), N'', NULL, N'蓝色 skin-blue、绿色 skin-green、紫色 skin-purple、红色 skin-red、黄色 skin-yellow') GO INSERT [sys_config] ([config_id], [config_name], [config_key], [config_value], [config_type], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (2, N'用户管理-账号初始密码', N'sys.user.initPassword', N'123456', N'Y', N'admin', getdate(), N'', NULL, N'初始化密码 123456') @@ -422,8 +420,6 @@ INSERT [sys_config] ([config_id], [config_name], [config_key], [config_value], [ GO INSERT [sys_config] ([config_id], [config_name], [config_key], [config_value], [config_type], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (11, N'OSS预览列表资源开关', N'sys.oss.previewListResource', N'true', N'Y', N'admin', getdate(), N'', null, N'true:开启, false:关闭'); GO -SET IDENTITY_INSERT [sys_config] OFF -GO CREATE TABLE [sys_dept] ( @@ -538,8 +534,6 @@ EXEC sys.sp_addextendedproperty 'TABLE', N'sys_dept' GO -SET IDENTITY_INSERT [sys_dept] ON -GO INSERT [sys_dept] ([dept_id], [parent_id], [ancestors], [dept_name], [order_num], [leader], [phone], [email], [status], [del_flag], [create_by], [create_time], [update_by], [update_time]) VALUES (100, 0, N'0', N'若依科技', 0, N'若依', N'15888888888', N'ry@qq.com', N'0', N'0', N'admin', getdate(), N'', NULL) GO INSERT [sys_dept] ([dept_id], [parent_id], [ancestors], [dept_name], [order_num], [leader], [phone], [email], [status], [del_flag], [create_by], [create_time], [update_by], [update_time]) VALUES (101, 100, N'0,100', N'深圳总公司', 1, N'若依', N'15888888888', N'ry@qq.com', N'0', N'0', N'admin', getdate(), N'', NULL) @@ -560,8 +554,6 @@ INSERT [sys_dept] ([dept_id], [parent_id], [ancestors], [dept_name], [order_num] GO INSERT [sys_dept] ([dept_id], [parent_id], [ancestors], [dept_name], [order_num], [leader], [phone], [email], [status], [del_flag], [create_by], [create_time], [update_by], [update_time]) VALUES (109, 102, N'0,100,102', N'财务部门', 2, N'若依', N'15888888888', N'ry@qq.com', N'0', N'0', N'admin', getdate(), N'', NULL) GO -SET IDENTITY_INSERT [sys_dept] OFF -GO CREATE TABLE [sys_dict_data] ( @@ -676,8 +668,6 @@ EXEC sys.sp_addextendedproperty 'TABLE', N'sys_dict_data' GO -SET IDENTITY_INSERT [sys_dict_data] ON -GO INSERT [sys_dict_data] ([dict_code], [dict_sort], [dict_label], [dict_value], [dict_type], [css_class], [list_class], [is_default], [status], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1, 1, N'男', N'0', N'sys_user_sex', N'', N'', N'Y', N'0', N'admin', getdate(), N'', NULL, N'性别男') GO INSERT [sys_dict_data] ([dict_code], [dict_sort], [dict_label], [dict_value], [dict_type], [css_class], [list_class], [is_default], [status], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (2, 2, N'女', N'1', N'sys_user_sex', N'', N'', N'N', N'0', N'admin', getdate(), N'', NULL, N'性别女') @@ -734,8 +724,6 @@ INSERT [sys_dict_data] ([dict_code], [dict_sort], [dict_label], [dict_value], [d GO INSERT [sys_dict_data] ([dict_code], [dict_sort], [dict_label], [dict_value], [dict_type], [css_class], [list_class], [is_default], [status], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (28, 2, N'失败', N'1', N'sys_common_status', N'', N'danger', N'N', N'0', N'admin', getdate(), N'', NULL, N'停用状态') GO -SET IDENTITY_INSERT [sys_dict_data] OFF -GO CREATE TABLE [sys_dict_type] ( @@ -815,8 +803,6 @@ EXEC sys.sp_addextendedproperty 'TABLE', N'sys_dict_type' GO -SET IDENTITY_INSERT [sys_dict_type] ON -GO INSERT [sys_dict_type] ([dict_id], [dict_name], [dict_type], [status], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1, N'用户性别', N'sys_user_sex', N'0', N'admin', getdate(), N'', NULL, N'用户性别列表') GO INSERT [sys_dict_type] ([dict_id], [dict_name], [dict_type], [status], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (2, N'菜单状态', N'sys_show_hide', N'0', N'admin', getdate(), N'', NULL, N'菜单状态列表') @@ -837,8 +823,6 @@ INSERT [sys_dict_type] ([dict_id], [dict_name], [dict_type], [status], [create_b GO INSERT [sys_dict_type] ([dict_id], [dict_name], [dict_type], [status], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (10, N'系统状态', N'sys_common_status', N'0', N'admin', getdate(), N'', NULL, N'登录状态列表') GO -SET IDENTITY_INSERT [sys_dict_type] OFF -GO CREATE TABLE [sys_logininfor] ( @@ -1066,8 +1050,6 @@ EXEC sys.sp_addextendedproperty 'TABLE', N'sys_menu' GO -SET IDENTITY_INSERT [sys_menu] ON -GO INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1, N'系统管理', 0, 1, N'system', NULL, N'', 1, 0, N'M', N'0', N'0', N'', N'system', N'admin', getdate(), N'', NULL, N'系统管理目录') GO INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (2, N'系统监控', 0, 2, N'monitor', NULL, N'', 1, 0, N'M', N'0', N'0', N'', N'monitor', N'admin', getdate(), N'', NULL, N'系统监控目录') @@ -1235,8 +1217,6 @@ INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [co GO INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1605, N'配置编辑', 118, 6, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:oss:edit', N'#', N'admin', getdate(), N'', NULL, N''); GO -SET IDENTITY_INSERT [sys_menu] OFF -GO CREATE TABLE [sys_notice] ( @@ -1324,14 +1304,10 @@ EXEC sys.sp_addextendedproperty 'TABLE', N'sys_notice' GO -SET IDENTITY_INSERT [sys_notice] ON -GO INSERT [sys_notice] ([notice_id], [notice_title], [notice_type], [notice_content], [status], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1, N'温馨提醒:2018-07-01 若依新版本发布啦', N'2', N'

1111111111

', N'0', N'admin', getdate(), N'admin', getdate(), N'管理员') GO INSERT [sys_notice] ([notice_id], [notice_title], [notice_type], [notice_content], [status], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (2, N'维护通知:2018-07-01 若依系统凌晨维护', N'1', N'

', N'0', N'admin', getdate(), N'admin', getdate(), N'管理员') GO -SET IDENTITY_INSERT [sys_notice] OFF -GO CREATE TABLE [sys_oper_log] ( @@ -1545,8 +1521,6 @@ EXEC sys.sp_addextendedproperty 'TABLE', N'sys_post' GO -SET IDENTITY_INSERT [sys_post] ON -GO INSERT [sys_post] ([post_id], [post_code], [post_name], [post_sort], [status], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1, N'ceo', N'董事长', 1, N'0', N'admin', getdate(), N'', NULL, N'') GO INSERT [sys_post] ([post_id], [post_code], [post_name], [post_sort], [status], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (2, N'se', N'项目经理', 2, N'0', N'admin', getdate(), N'', NULL, N'') @@ -1555,8 +1529,6 @@ INSERT [sys_post] ([post_id], [post_code], [post_name], [post_sort], [status], [ GO INSERT [sys_post] ([post_id], [post_code], [post_name], [post_sort], [status], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (4, N'user', N'普通员工', 4, N'0', N'admin', getdate(), N'', NULL, N'') GO -SET IDENTITY_INSERT [sys_post] OFF -GO CREATE TABLE [sys_role] ( @@ -1671,14 +1643,10 @@ EXEC sys.sp_addextendedproperty 'TABLE', N'sys_role' GO -SET IDENTITY_INSERT [sys_role] ON -GO INSERT [sys_role] ([role_id], [role_name], [role_key], [role_sort], [data_scope], [menu_check_strictly], [dept_check_strictly], [status], [del_flag], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1, N'超级管理员', N'admin', 1, N'1', 1, 1, N'0', N'0', N'admin', getdate(), N'', NULL, N'超级管理员') GO INSERT [sys_role] ([role_id], [role_name], [role_key], [role_sort], [data_scope], [menu_check_strictly], [dept_check_strictly], [status], [del_flag], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (2, N'普通角色', N'common', 2, N'2', 1, 1, N'0', N'0', N'admin', getdate(), N'admin', CAST(N'2021-12-04T15:44:20.0000000' AS DateTime2), N'普通角色') GO -SET IDENTITY_INSERT [sys_role] OFF -GO CREATE TABLE [sys_role_dept] ( @@ -2058,14 +2026,10 @@ EXEC sys.sp_addextendedproperty 'TABLE', N'sys_user' GO -SET IDENTITY_INSERT [sys_user] ON -GO INSERT [sys_user] ([user_id], [dept_id], [user_name], [nick_name], [user_type], [email], [phonenumber], [sex], [avatar], [password], [status], [del_flag], [login_ip], [login_date], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1, 103, N'admin', N'疯狂的狮子Li', N'sys_user', N'crazyLionLi@163.com', N'15888888888', N'1', N'', N'$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2', N'0', N'0', N'127.0.0.1', getdate(), N'admin', getdate(), N'', getdate(), N'管理员') GO INSERT [sys_user] ([user_id], [dept_id], [user_name], [nick_name], [user_type], [email], [phonenumber], [sex], [avatar], [password], [status], [del_flag], [login_ip], [login_date], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (2, 105, N'ry', N'疯狂的狮子Li', N'sys_user', N'crazyLionLi@qq.com', N'15666666666', N'1', N'', N'$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2', N'0', N'0', N'127.0.0.1', getdate(), N'admin', getdate(), N'admin', getdate(), N'测试员') GO -SET IDENTITY_INSERT [sys_user] OFF -GO CREATE TABLE [sys_user_post] ( @@ -2347,8 +2311,6 @@ EXEC sp_addextendedproperty 'TABLE', N'sys_oss_config' GO -SET IDENTITY_INSERT [sys_oss_config] ON -GO INSERT INTO [sys_oss_config] ([oss_config_id], [config_key], [access_key], [secret_key], [bucket_name], [prefix], [endpoint], [is_https], [region], [status], [ext1], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (N'1', N'minio', N'lihongbo', N'lihongbo.123', N'ruoyi', N'', N'http://81.70.150.73:9000', N'N', N'', N'0', N'', N'admin', getdate(), N'admin', getdate(), NULL) GO INSERT INTO [sys_oss_config] ([oss_config_id], [config_key], [access_key], [secret_key], [bucket_name], [prefix], [endpoint], [is_https], [region], [status], [ext1], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (N'2', N'qiniu', N'XXXXXXXXXXXXXXXX', N'XXXXXXXXXXXXXXX', N'ruoyi', N'', N'http://XXX.XXXX.com', N'N', N'z0', N'1', N'', N'admin', getdate(), N'admin', getdate(), NULL) @@ -2357,5 +2319,3 @@ INSERT INTO [sys_oss_config] ([oss_config_id], [config_key], [access_key], [secr GO INSERT INTO [sys_oss_config] ([oss_config_id], [config_key], [access_key], [secret_key], [bucket_name], [prefix], [endpoint], [is_https], [region], [status], [ext1], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (N'4', N'qcloud', N'XXXXXXXXXXXXXXX', N'XXXXXXXXXXXXXXX', N'ruoyi-1250000000', N'', N'http://cos.ap-beijing.myqcloud.com', N'N', N'ap-beijing', N'1', N'', N'admin', getdate(), N'admin', getdate(), NULL) GO -SET IDENTITY_INSERT [sys_oss_config] OFF -GO