Browse Source

增加数据源管理

test
smallchill 6 years ago
parent
commit
4292ef1837
  1. 2
      blade-auth/src/main/java/org/springblade/auth/service/BladeClientDetailsServiceImpl.java
  2. 4
      blade-gateway/src/main/java/org/springblade/gateway/filter/AuthFilter.java
  3. 3
      blade-gateway/src/main/java/org/springblade/gateway/props/AuthProperties.java
  4. 2
      blade-gateway/src/main/java/org/springblade/gateway/provider/AuthProvider.java
  5. 20
      blade-ops/blade-develop/src/main/java/org/springblade/develop/controller/CodeController.java
  6. 12
      blade-ops/blade-develop/src/main/java/org/springblade/develop/controller/DatasourceController.java
  7. 19
      blade-ops/blade-develop/src/main/java/org/springblade/develop/entity/Code.java
  8. 7
      blade-ops/blade-develop/src/main/java/org/springblade/develop/entity/Datasource.java
  9. 9
      blade-ops/blade-develop/src/main/java/org/springblade/develop/mapper/CodeMapper.xml
  10. 2
      blade-ops/blade-develop/src/main/java/org/springblade/develop/mapper/DatasourceMapper.xml
  11. 36
      doc/sql/update/mysql-update-2.0.6~2.0.7.sql

2
blade-auth/src/main/java/org/springblade/auth/service/BladeClientDetailsServiceImpl.java

@ -19,6 +19,7 @@ package org.springblade.auth.service;
import lombok.SneakyThrows;
import org.springframework.security.oauth2.provider.ClientDetails;
import org.springframework.security.oauth2.provider.client.JdbcClientDetailsService;
import org.springframework.stereotype.Component;
import javax.sql.DataSource;
@ -27,6 +28,7 @@ import javax.sql.DataSource;
*
* @author Chill
*/
@Component
public class BladeClientDetailsServiceImpl extends JdbcClientDetailsService {
public BladeClientDetailsServiceImpl(DataSource dataSource) {

4
blade-gateway/src/main/java/org/springblade/gateway/filter/AuthFilter.java

@ -58,8 +58,8 @@ public class AuthFilter implements GlobalFilter, Ordered {
return chain.filter(exchange);
}
ServerHttpResponse resp = exchange.getResponse();
String headerToken = exchange.getRequest().getHeaders().getFirst(AuthProvider.AUTH_HEADER);
String paramToken = exchange.getRequest().getQueryParams().getFirst(AuthProvider.AUTH_HEADER);
String headerToken = exchange.getRequest().getHeaders().getFirst(AuthProvider.AUTH_KEY);
String paramToken = exchange.getRequest().getQueryParams().getFirst(AuthProvider.AUTH_KEY);
if (StringUtils.isAllBlank(headerToken, paramToken)) {
return unAuth(resp, "缺失令牌,鉴权失败");
}

3
blade-gateway/src/main/java/org/springblade/gateway/props/AuthProperties.java

@ -33,6 +33,9 @@ import java.util.List;
@ConfigurationProperties("blade.secure")
public class AuthProperties {
/**
* 放行API集合
*/
private final List<String> skipUrl = new ArrayList<>();
}

2
blade-gateway/src/main/java/org/springblade/gateway/provider/AuthProvider.java

@ -28,7 +28,7 @@ public class AuthProvider {
public static String TARGET = "/**";
public static String REPLACEMENT = "";
public static String AUTH_HEADER = "Blade-Auth";
public static String AUTH_KEY = "Blade-Auth";
private static List<String> defaultSkipUrl = new ArrayList<>();
static {

20
blade-ops/blade-develop/src/main/java/org/springblade/develop/controller/CodeController.java

@ -98,11 +98,24 @@ public class CodeController extends BladeController {
return R.status(codeService.removeByIds(Func.toLongList(ids)));
}
/**
* 复制
*/
@PostMapping("/copy")
@ApiOperationSupport(order = 5)
@ApiOperation(value = "复制", notes = "传入id")
public R copy(@ApiParam(value = "主键", required = true) @RequestParam Long id) {
Code code = codeService.getById(id);
code.setId(null);
code.setCodeName(code.getCodeName() + "-copy");
return R.status(codeService.save(code));
}
/**
* 代码生成
*/
@PostMapping("/gen-code")
@ApiOperationSupport(order = 5)
@ApiOperationSupport(order = 6)
@ApiOperation(value = "代码生成", notes = "传入ids")
public R genCode(@ApiParam(value = "主键集合", required = true) @RequestParam String ids, @RequestParam(defaultValue = "sword") String system) {
Collection<Code> codes = codeService.listByIds(Func.toLongList(ids));
@ -110,14 +123,15 @@ public class CodeController extends BladeController {
BladeCodeGenerator generator = new BladeCodeGenerator();
generator.setSystemName(system);
generator.setServiceName(code.getServiceName());
generator.setCodeName(code.getCodeName());
generator.setPackageName(code.getPackageName());
generator.setPackageDir(code.getApiPath());
generator.setPackageWebDir(code.getWebPath());
generator.setTablePrefix(Func.toStrArray(code.getTablePrefix()));
generator.setIncludeTables(Func.toStrArray(code.getTableName()));
// 设置是否继承基础业务字段
generator.setHasSuperEntity(false);
generator.setHasSuperEntity(code.getBaseMode() == 2);
// 设置是否开启包装器模式
generator.setHasWrapper(code.getWrapMode() == 2);
generator.run();
});
return R.success("代码生成成功");

12
blade-ops/blade-develop/src/main/java/org/springblade/develop/controller/DatasourceController.java

@ -32,6 +32,7 @@ import org.springblade.develop.service.IDatasourceService;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.List;
/**
* 数据源配置表 控制器
@ -109,5 +110,16 @@ public class DatasourceController extends BladeController {
return R.status(datasourceService.deleteLogic(Func.toLongList(ids)));
}
/**
* 数据源列表
*/
@GetMapping("/select")
@ApiOperationSupport(order = 8)
@ApiOperation(value = "下拉数据源", notes = "查询列表")
public R<List<Datasource>> select() {
List<Datasource> list = datasourceService.list();
return R.data(list);
}
}

19
blade-ops/blade-develop/src/main/java/org/springblade/develop/entity/Code.java

@ -48,6 +48,13 @@ public class Code implements Serializable {
@TableId(value = "id", type = IdType.ID_WORKER)
private Long id;
/**
* 数据源主键
*/
@JsonSerialize(using = ToStringSerializer.class)
@ApiModelProperty(value = "数据源主键")
private Long datasourceId;
/**
* 模块名称
*/
@ -78,6 +85,18 @@ public class Code implements Serializable {
@ApiModelProperty(value = "主键名")
private String pkName;
/**
* 基础业务模式
*/
@ApiModelProperty(value = "基础业务模式")
private Integer baseMode;
/**
* 包装器模式
*/
@ApiModelProperty(value = "包装器模式")
private Integer wrapMode;
/**
* 后端包名
*/

7
blade-ops/blade-develop/src/main/java/org/springblade/develop/entity/Datasource.java

@ -36,6 +36,11 @@ public class Datasource extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 名称
*/
@ApiModelProperty(value = "名称")
private String name;
/**
* 驱动类
*/
@ -45,7 +50,7 @@ public class Datasource extends BaseEntity {
* 连接地址
*/
@ApiModelProperty(value = "连接地址")
private String jdbcUrl;
private String url;
/**
* 用户名
*/

9
blade-ops/blade-develop/src/main/java/org/springblade/develop/mapper/CodeMapper.xml

@ -5,10 +5,13 @@
<!-- 通用查询映射结果 -->
<resultMap id="codeResultMap" type="org.springblade.develop.entity.Code">
<id column="id" property="id"/>
<result column="datasource_id" property="datasourceId"/>
<result column="service_name" property="serviceName"/>
<result column="code_name" property="codeName"/>
<result column="table_name" property="tableName"/>
<result column="pk_name" property="pkName"/>
<result column="base_mode" property="baseMode"/>
<result column="wrap_mode" property="wrapMode"/>
<result column="table_prefix" property="tablePrefix"/>
<result column="package_name" property="packageName"/>
<result column="api_path" property="apiPath"/>
@ -16,10 +19,4 @@
<result column="is_deleted" property="isDeleted"/>
</resultMap>
<!-- 通用查询结果列 -->
<sql id="baseColumnList">
select
id, service_name, code_name, table_name, pk_name, model_name, package_name, api_path, web_path, is_deleted
</sql>
</mapper>

2
blade-ops/blade-develop/src/main/java/org/springblade/develop/mapper/DatasourceMapper.xml

@ -13,7 +13,7 @@
<result column="status" property="status"/>
<result column="is_deleted" property="isDeleted"/>
<result column="driver_class" property="driverClass"/>
<result column="jdbc_url" property="jdbcUrl"/>
<result column="url" property="url"/>
<result column="username" property="username"/>
<result column="password" property="password"/>
<result column="remark" property="remark"/>

36
doc/sql/update/mysql-update-2.0.6~2.0.7.sql

@ -1,10 +1,17 @@
-- ----------------------------
-- 用户表增加头像字段
-- ----------------------------
ALTER TABLE `blade_user`
ADD COLUMN `avatar` varchar(500) NULL COMMENT '头像' AFTER `real_name`;
-- ----------------------------
-- 创建数据源配置表
-- ----------------------------
CREATE TABLE `blade_datasource` (
`id` bigint(64) NOT NULL COMMENT '主键',
`name` varchar(100) NULL COMMENT '名称',
`driver_class` varchar(100) NULL COMMENT '驱动类',
`jdbc_url` varchar(500) NULL COMMENT '连接地址',
`url` varchar(500) NULL COMMENT '连接地址',
`username` varchar(50) NULL COMMENT '用户名',
`password` varchar(50) NULL COMMENT '密码',
`remark` varchar(255) NULL COMMENT '备注',
@ -18,6 +25,16 @@ CREATE TABLE `blade_datasource` (
PRIMARY KEY (`id`)
) COMMENT = '数据源配置表' ;
-- ----------------------------
-- 插入数据源默认数据
-- ----------------------------
INSERT INTO `blade_datasource`(`id`, `name`, `driver_class`, `url`, `username`, `password`, `remark`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`) VALUES (1161483357481541634, 'mysql', 'com.mysql.cj.jdbc.Driver', 'jdbc:mysql://localhost:3306/bladex?useSSL=false&amp;useUnicode=true&amp;characterEncoding=utf-8&amp;zeroDateTimeBehavior=convertToNull&amp;transformedBitIsBoolean=true&amp;serverTimezone=GMT%2B8&amp;nullCatalogMeansCurrent=true&amp;allowPublicKeyRetrieval=true', 'root', 'root', 'mysql', 1123598821738675201, 1123598813738675201, '2019-08-14 11:43:06', 1123598821738675201, '2019-08-14 11:43:06', 1, 0);
INSERT INTO `blade_datasource`(`id`, `name`, `driver_class`, `url`, `username`, `password`, `remark`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`) VALUES (1161483504353484802, 'postgresql', 'org.postgresql.Driver', 'jdbc:postgresql://127.0.0.1:5432/bladex', 'postgres', '123456', 'postgresql', 1123598821738675201, 1123598813738675201, '2019-08-14 11:43:41', 1123598821738675201, '2019-08-14 11:43:41', 1, 0);
INSERT INTO `blade_datasource`(`id`, `name`, `driver_class`, `url`, `username`, `password`, `remark`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`) VALUES (1161483594023510018, 'oracle', 'oracle.jdbc.OracleDriver', 'jdbc:oracle:thin:@127.0.0.1:49161:orcl', 'BLADEX', 'bladex', 'oracle', 1123598821738675201, 1123598813738675201, '2019-08-14 11:44:03', 1123598821738675201, '2019-08-14 11:44:03', 1, 0);
-- ----------------------------
-- 插入数据源菜单数据
-- ----------------------------
INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
VALUES ('1161272593873321991', '1123598815738675217', 'datasource', '数据源管理', 'menu', '/tool/datasource', 'iconfont icon-caidanguanli', 2, 1, 0, 1, NULL, 0);
INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
@ -29,6 +46,9 @@ VALUES ('1161272593873321994', '1161272593873321991', 'datasource_delete', '删
INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
VALUES ('1161272593873321995', '1161272593873321991', 'datasource_view', '查看', 'view', '/tool/datasource/view', 'file-text', 4, 2, 2, 2, NULL, 0);
-- ----------------------------
-- 插入数据源角色权限数据
-- ----------------------------
INSERT INTO `blade_role_menu`(`id`,`menu_id`,`role_id`)
VALUES ('1161272593873322991', '1161272593873321991', '1123598816738675201');
INSERT INTO `blade_role_menu`(`id`,`menu_id`,`role_id`)
@ -39,3 +59,17 @@ INSERT INTO `blade_role_menu`(`id`,`menu_id`,`role_id`)
VALUES ('1161272593873322994', '1161272593873321994', '1123598816738675201');
INSERT INTO `blade_role_menu`(`id`,`menu_id`,`role_id`)
VALUES ('1161272593873322995', '1161272593873321995', '1123598816738675201');
-- ----------------------------
-- 代码生成表增加数据源字段
-- ----------------------------
ALTER TABLE `blade_code`
ADD COLUMN `datasource_id` bigint(64) NULL COMMENT '数据源主键' AFTER `id`,
ADD COLUMN `base_mode` int(2) NULL COMMENT '基础业务模式' AFTER `package_name`,
ADD COLUMN `wrap_mode` int(2) NULL COMMENT '包装器模式' AFTER `base_mode`;
-- ----------------------------
-- 代码生成记录增加数据源字段
-- ----------------------------
UPDATE `blade_code` SET `datasource_id` = 1161483357481541634, `base_mode` = 1, `wrap_mode` = 1 WHERE `id` = 1123598812738675201;

Loading…
Cancel
Save