Merge pull request #9646 from ulleo/dev
feat(X-Pack):【数据填报】创建表单可选择数据源增加配置项
This commit is contained in:
commit
b7fe5fa267
@ -76,6 +76,8 @@ public class DatasourceController {
|
||||
datasource.setCreateTime(null);
|
||||
datasource.setType(updataDsRequest.getType());
|
||||
datasource.setUpdateTime(System.currentTimeMillis());
|
||||
datasource.setEnableDataFill(updataDsRequest.getEnableDataFill());
|
||||
datasource.setEnableDataFillCreateTable(updataDsRequest.getEnableDataFillCreateTable());
|
||||
if (StringUtils.isNotEmpty(updataDsRequest.getId())) {
|
||||
datasource.setId(updataDsRequest.getId());
|
||||
}
|
||||
|
||||
@ -16,4 +16,6 @@ public class UpdataDsRequest {
|
||||
@ApiModelProperty(value = "配置详情", required = true)
|
||||
private String configuration;
|
||||
private boolean configurationEncryption = false;
|
||||
private Boolean enableDataFill;
|
||||
private Boolean enableDataFillCreateTable;
|
||||
}
|
||||
|
||||
@ -114,8 +114,11 @@ public class DataFillDataService {
|
||||
ds = datasource.get(datasourceId);
|
||||
} else {
|
||||
ds = datasource.getDataSourceDetails(datasourceId);
|
||||
//todo 判断是否能创建
|
||||
if (ds.getEnableDataFill() && ds.getEnableDataFillCreateTable()) {
|
||||
ds.setConfiguration(new String(java.util.Base64.getDecoder().decode(ds.getConfiguration())));
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -276,6 +276,14 @@ public class DatasourceService {
|
||||
|
||||
|
||||
public void updateDatasource(String id, Datasource datasource) {
|
||||
|
||||
if (datasource.getEnableDataFill() != null) {
|
||||
Datasource ds = datasourceMapper.selectByPrimaryKey(id);
|
||||
if (ds.getEnableDataFill()) {
|
||||
datasource.setEnableDataFill(true);
|
||||
}
|
||||
}
|
||||
|
||||
DatasourceExample example = new DatasourceExample();
|
||||
example.createCriteria().andIdEqualTo(id);
|
||||
Status status = checkDatasourceStatus(datasource);
|
||||
@ -469,7 +477,8 @@ public class DatasourceService {
|
||||
record.setVersion(status.getVersion());
|
||||
record.setStatus(status.getStatus());
|
||||
datasourceMapper.updateByExampleSelective(record, example);
|
||||
}catch (Exception ignore){}
|
||||
} catch (Exception ignore) {
|
||||
}
|
||||
try {
|
||||
handleConnectionPool(datasource, "add");
|
||||
} catch (Exception e) {
|
||||
@ -652,13 +661,14 @@ public class DatasourceService {
|
||||
datasourceMapper.updateByPrimaryKeyWithBLOBs(datasource);
|
||||
}
|
||||
|
||||
public void releaseDsconnections(){
|
||||
List<DefaultJdbcProvider> providers = (List<DefaultJdbcProvider>)SpringContextUtil.getApplicationContext().getBeansOfType(DefaultJdbcProvider.class).values();
|
||||
providers.forEach(provider ->{
|
||||
public void releaseDsconnections() {
|
||||
List<DefaultJdbcProvider> providers = (List<DefaultJdbcProvider>) SpringContextUtil.getApplicationContext().getBeansOfType(DefaultJdbcProvider.class).values();
|
||||
providers.forEach(provider -> {
|
||||
provider.getJdbcConnection().values().forEach(druidDataSource -> {
|
||||
try {
|
||||
druidDataSource.close();
|
||||
}catch (Exception e){}
|
||||
} catch (Exception e) {
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
@ -0,0 +1,3 @@
|
||||
alter table datasource
|
||||
add enable_data_fill tinyint(1) default 0 null comment '开启数据填报',
|
||||
add enable_data_fill_create_table tinyint(1) default 0 null comment '数据填报允许新建表';
|
||||
@ -597,6 +597,9 @@ export default {
|
||||
},
|
||||
data_fill: {
|
||||
data_fill: 'Data Filling',
|
||||
permission: 'Data Filling Permission',
|
||||
enable: 'Enable',
|
||||
enable_hint: 'Cannot disable after enable',
|
||||
new_folder: 'New Folder',
|
||||
form_manage: 'Form Manage',
|
||||
my_job: 'My Job',
|
||||
|
||||
@ -597,6 +597,9 @@ export default {
|
||||
},
|
||||
data_fill: {
|
||||
data_fill: '數據填報',
|
||||
permission: '填報權限',
|
||||
enable: '開啟',
|
||||
enable_hint: '數據填報開啟后,可將表單數據存放至數據源中,一旦開啟后,后期不允許關閉。',
|
||||
new_folder: '新建文件夾',
|
||||
form_manage: '表單管理',
|
||||
my_job: '我的填報',
|
||||
|
||||
@ -595,6 +595,9 @@ export default {
|
||||
},
|
||||
data_fill: {
|
||||
data_fill: '数据填报',
|
||||
permission: '填报权限',
|
||||
enable: '开启',
|
||||
enable_hint: '数据填报开启后,可将表单数据存放至数据源中,一旦开启后,后期不允许关闭。',
|
||||
new_folder: '新建文件夹',
|
||||
form_manage: '表单管理',
|
||||
my_job: '我的填报',
|
||||
|
||||
@ -117,7 +117,7 @@ export default {
|
||||
_types.push({
|
||||
name: dsMap[type][0]?.typeDesc,
|
||||
type: type,
|
||||
options: dsMap[type]
|
||||
options: filter(dsMap[type], d => d.enableDataFill && d.enableDataFillCreateTable)
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
@ -233,6 +233,44 @@
|
||||
:component-name="datasourceType.type"
|
||||
:obj="{ form, disabled }"
|
||||
/>
|
||||
|
||||
<el-form-item
|
||||
v-if="form.type === 'mysql' || form.type === 'mariadb'"
|
||||
prop="enableDataFill"
|
||||
label-position="left"
|
||||
>
|
||||
<span style="display: inline-block; width: 80px; font-weight: 700;">{{ $t('data_fill.data_fill') }}</span>
|
||||
<el-checkbox
|
||||
v-model="form.enableDataFill"
|
||||
:disabled="disableEditDataFill"
|
||||
>
|
||||
{{ $t('data_fill.enable') }}
|
||||
<el-tooltip
|
||||
class="item"
|
||||
effect="dark"
|
||||
>
|
||||
<div slot="content">
|
||||
{{ $t('data_fill.enable_hint') }}
|
||||
</div>
|
||||
<i
|
||||
class="el-icon-info"
|
||||
style="cursor: pointer;"
|
||||
/>
|
||||
</el-tooltip>
|
||||
</el-checkbox>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item
|
||||
v-if="(form.type === 'mysql' || form.type === 'mariadb') && form.enableDataFill"
|
||||
prop="enableDataFill"
|
||||
label-position="left"
|
||||
>
|
||||
<span style="display: inline-block; width: 80px; font-weight: 700;">{{ $t('data_fill.permission') }}</span>
|
||||
<el-checkbox
|
||||
v-model="form.enableDataFillCreateTable"
|
||||
>允许新建表</el-checkbox>
|
||||
</el-form-item>
|
||||
|
||||
</el-form>
|
||||
</div>
|
||||
</div>
|
||||
@ -424,6 +462,7 @@ export default {
|
||||
],
|
||||
datasourceHistoryId: [{ required: true, message: i18n.t('dataset.pls_slc_data_source'), trigger: 'blur' }]
|
||||
},
|
||||
disableEditDataFill: false,
|
||||
form: {
|
||||
configuration: {
|
||||
initialPoolSize: 5,
|
||||
@ -758,6 +797,7 @@ export default {
|
||||
if (res.data.apiConfigurationStr) {
|
||||
res.data.apiConfiguration = JSON.parse(Base64.decode(res.data.apiConfigurationStr))
|
||||
}
|
||||
this.disableEditDataFill = res.data.enableDataFill
|
||||
this.params = { ...res.data, showModel }
|
||||
if (showModel === 'copy') {
|
||||
this.params.id = ''
|
||||
|
||||
@ -28,5 +28,9 @@ public class Datasource implements Serializable {
|
||||
@ApiModelProperty(value = "配置详情", required = true)
|
||||
private String configuration;
|
||||
|
||||
private Boolean enableDataFill;
|
||||
|
||||
private Boolean enableDataFillCreateTable;
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
}
|
||||
@ -713,6 +713,126 @@ public class DatasourceExample {
|
||||
addCriterion("version not between", value1, value2, "version");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andEnableDataFillIsNull() {
|
||||
addCriterion("enable_data_fill is null");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andEnableDataFillIsNotNull() {
|
||||
addCriterion("enable_data_fill is not null");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andEnableDataFillEqualTo(Boolean value) {
|
||||
addCriterion("enable_data_fill =", value, "enableDataFill");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andEnableDataFillNotEqualTo(Boolean value) {
|
||||
addCriterion("enable_data_fill <>", value, "enableDataFill");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andEnableDataFillGreaterThan(Boolean value) {
|
||||
addCriterion("enable_data_fill >", value, "enableDataFill");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andEnableDataFillGreaterThanOrEqualTo(Boolean value) {
|
||||
addCriterion("enable_data_fill >=", value, "enableDataFill");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andEnableDataFillLessThan(Boolean value) {
|
||||
addCriterion("enable_data_fill <", value, "enableDataFill");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andEnableDataFillLessThanOrEqualTo(Boolean value) {
|
||||
addCriterion("enable_data_fill <=", value, "enableDataFill");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andEnableDataFillIn(List<Boolean> values) {
|
||||
addCriterion("enable_data_fill in", values, "enableDataFill");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andEnableDataFillNotIn(List<Boolean> values) {
|
||||
addCriterion("enable_data_fill not in", values, "enableDataFill");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andEnableDataFillBetween(Boolean value1, Boolean value2) {
|
||||
addCriterion("enable_data_fill between", value1, value2, "enableDataFill");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andEnableDataFillNotBetween(Boolean value1, Boolean value2) {
|
||||
addCriterion("enable_data_fill not between", value1, value2, "enableDataFill");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andEnableDataFillCreateTableIsNull() {
|
||||
addCriterion("enable_data_fill_create_table is null");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andEnableDataFillCreateTableIsNotNull() {
|
||||
addCriterion("enable_data_fill_create_table is not null");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andEnableDataFillCreateTableEqualTo(Boolean value) {
|
||||
addCriterion("enable_data_fill_create_table =", value, "enableDataFillCreateTable");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andEnableDataFillCreateTableNotEqualTo(Boolean value) {
|
||||
addCriterion("enable_data_fill_create_table <>", value, "enableDataFillCreateTable");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andEnableDataFillCreateTableGreaterThan(Boolean value) {
|
||||
addCriterion("enable_data_fill_create_table >", value, "enableDataFillCreateTable");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andEnableDataFillCreateTableGreaterThanOrEqualTo(Boolean value) {
|
||||
addCriterion("enable_data_fill_create_table >=", value, "enableDataFillCreateTable");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andEnableDataFillCreateTableLessThan(Boolean value) {
|
||||
addCriterion("enable_data_fill_create_table <", value, "enableDataFillCreateTable");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andEnableDataFillCreateTableLessThanOrEqualTo(Boolean value) {
|
||||
addCriterion("enable_data_fill_create_table <=", value, "enableDataFillCreateTable");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andEnableDataFillCreateTableIn(List<Boolean> values) {
|
||||
addCriterion("enable_data_fill_create_table in", values, "enableDataFillCreateTable");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andEnableDataFillCreateTableNotIn(List<Boolean> values) {
|
||||
addCriterion("enable_data_fill_create_table not in", values, "enableDataFillCreateTable");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andEnableDataFillCreateTableBetween(Boolean value1, Boolean value2) {
|
||||
addCriterion("enable_data_fill_create_table between", value1, value2, "enableDataFillCreateTable");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andEnableDataFillCreateTableNotBetween(Boolean value1, Boolean value2) {
|
||||
addCriterion("enable_data_fill_create_table not between", value1, value2, "enableDataFillCreateTable");
|
||||
return (Criteria) this;
|
||||
}
|
||||
}
|
||||
|
||||
public static class Criteria extends GeneratedCriteria {
|
||||
|
||||
@ -11,6 +11,8 @@
|
||||
<result column="update_time" jdbcType="BIGINT" property="updateTime" />
|
||||
<result column="create_by" jdbcType="VARCHAR" property="createBy" />
|
||||
<result column="version" jdbcType="VARCHAR" property="version" />
|
||||
<result column="enable_data_fill" jdbcType="BIT" property="enableDataFill" />
|
||||
<result column="enable_data_fill_create_table" jdbcType="BIT" property="enableDataFillCreateTable" />
|
||||
</resultMap>
|
||||
<resultMap extends="BaseResultMap" id="ResultMapWithBLOBs" type="io.dataease.plugins.common.base.domain.Datasource">
|
||||
<result column="status" jdbcType="LONGVARCHAR" property="status" />
|
||||
@ -74,7 +76,8 @@
|
||||
</where>
|
||||
</sql>
|
||||
<sql id="Base_Column_List">
|
||||
id, `name`, `desc`, `type`, configuration, create_time, update_time, create_by, version
|
||||
id, `name`, `desc`, `type`, configuration, create_time, update_time, create_by, version,
|
||||
enable_data_fill, enable_data_fill_create_table
|
||||
</sql>
|
||||
<sql id="Blob_Column_List">
|
||||
`status`
|
||||
@ -131,11 +134,13 @@
|
||||
insert into datasource (id, `name`, `desc`,
|
||||
`type`, configuration, create_time,
|
||||
update_time, create_by, version,
|
||||
`status`)
|
||||
enable_data_fill, enable_data_fill_create_table, `status`
|
||||
)
|
||||
values (#{id,jdbcType=VARCHAR}, #{name,jdbcType=VARCHAR}, #{desc,jdbcType=VARCHAR},
|
||||
#{type,jdbcType=VARCHAR}, #{configuration,jdbcType=VARCHAR}, #{createTime,jdbcType=BIGINT},
|
||||
#{updateTime,jdbcType=BIGINT}, #{createBy,jdbcType=VARCHAR}, #{version,jdbcType=VARCHAR},
|
||||
#{status,jdbcType=LONGVARCHAR})
|
||||
#{enableDataFill,jdbcType=BIT}, #{enableDataFillCreateTable,jdbcType=BIT}, #{status,jdbcType=LONGVARCHAR}
|
||||
)
|
||||
</insert>
|
||||
<insert id="insertSelective" parameterType="io.dataease.plugins.common.base.domain.Datasource">
|
||||
insert into datasource
|
||||
@ -167,6 +172,12 @@
|
||||
<if test="version != null">
|
||||
version,
|
||||
</if>
|
||||
<if test="enableDataFill != null">
|
||||
enable_data_fill,
|
||||
</if>
|
||||
<if test="enableDataFillCreateTable != null">
|
||||
enable_data_fill_create_table,
|
||||
</if>
|
||||
<if test="status != null">
|
||||
`status`,
|
||||
</if>
|
||||
@ -199,6 +210,12 @@
|
||||
<if test="version != null">
|
||||
#{version,jdbcType=VARCHAR},
|
||||
</if>
|
||||
<if test="enableDataFill != null">
|
||||
#{enableDataFill,jdbcType=BIT},
|
||||
</if>
|
||||
<if test="enableDataFillCreateTable != null">
|
||||
#{enableDataFillCreateTable,jdbcType=BIT},
|
||||
</if>
|
||||
<if test="status != null">
|
||||
#{status,jdbcType=LONGVARCHAR},
|
||||
</if>
|
||||
@ -240,6 +257,12 @@
|
||||
<if test="record.version != null">
|
||||
version = #{record.version,jdbcType=VARCHAR},
|
||||
</if>
|
||||
<if test="record.enableDataFill != null">
|
||||
enable_data_fill = #{record.enableDataFill,jdbcType=BIT},
|
||||
</if>
|
||||
<if test="record.enableDataFillCreateTable != null">
|
||||
enable_data_fill_create_table = #{record.enableDataFillCreateTable,jdbcType=BIT},
|
||||
</if>
|
||||
<if test="record.status != null">
|
||||
`status` = #{record.status,jdbcType=LONGVARCHAR},
|
||||
</if>
|
||||
@ -259,6 +282,8 @@
|
||||
update_time = #{record.updateTime,jdbcType=BIGINT},
|
||||
create_by = #{record.createBy,jdbcType=VARCHAR},
|
||||
version = #{record.version,jdbcType=VARCHAR},
|
||||
enable_data_fill = #{record.enableDataFill,jdbcType=BIT},
|
||||
enable_data_fill_create_table = #{record.enableDataFillCreateTable,jdbcType=BIT},
|
||||
`status` = #{record.status,jdbcType=LONGVARCHAR}
|
||||
<if test="_parameter != null">
|
||||
<include refid="Update_By_Example_Where_Clause" />
|
||||
@ -274,7 +299,9 @@
|
||||
create_time = #{record.createTime,jdbcType=BIGINT},
|
||||
update_time = #{record.updateTime,jdbcType=BIGINT},
|
||||
create_by = #{record.createBy,jdbcType=VARCHAR},
|
||||
version = #{record.version,jdbcType=VARCHAR}
|
||||
version = #{record.version,jdbcType=VARCHAR},
|
||||
enable_data_fill = #{record.enableDataFill,jdbcType=BIT},
|
||||
enable_data_fill_create_table = #{record.enableDataFillCreateTable,jdbcType=BIT}
|
||||
<if test="_parameter != null">
|
||||
<include refid="Update_By_Example_Where_Clause" />
|
||||
</if>
|
||||
@ -306,6 +333,12 @@
|
||||
<if test="version != null">
|
||||
version = #{version,jdbcType=VARCHAR},
|
||||
</if>
|
||||
<if test="enableDataFill != null">
|
||||
enable_data_fill = #{enableDataFill,jdbcType=BIT},
|
||||
</if>
|
||||
<if test="enableDataFillCreateTable != null">
|
||||
enable_data_fill_create_table = #{enableDataFillCreateTable,jdbcType=BIT},
|
||||
</if>
|
||||
<if test="status != null">
|
||||
`status` = #{status,jdbcType=LONGVARCHAR},
|
||||
</if>
|
||||
@ -322,6 +355,8 @@
|
||||
update_time = #{updateTime,jdbcType=BIGINT},
|
||||
create_by = #{createBy,jdbcType=VARCHAR},
|
||||
version = #{version,jdbcType=VARCHAR},
|
||||
enable_data_fill = #{enableDataFill,jdbcType=BIT},
|
||||
enable_data_fill_create_table = #{enableDataFillCreateTable,jdbcType=BIT},
|
||||
`status` = #{status,jdbcType=LONGVARCHAR}
|
||||
where id = #{id,jdbcType=VARCHAR}
|
||||
</update>
|
||||
@ -334,7 +369,9 @@
|
||||
create_time = #{createTime,jdbcType=BIGINT},
|
||||
update_time = #{updateTime,jdbcType=BIGINT},
|
||||
create_by = #{createBy,jdbcType=VARCHAR},
|
||||
version = #{version,jdbcType=VARCHAR}
|
||||
version = #{version,jdbcType=VARCHAR},
|
||||
enable_data_fill = #{enableDataFill,jdbcType=BIT},
|
||||
enable_data_fill_create_table = #{enableDataFillCreateTable,jdbcType=BIT}
|
||||
where id = #{id,jdbcType=VARCHAR}
|
||||
</update>
|
||||
</mapper>
|
||||
Loading…
Reference in New Issue
Block a user