Merge pull request #6650 from dataease/pr@dev@fixds

Pr@dev@fixds
This commit is contained in:
taojinlong 2023-11-12 19:50:33 -06:00 committed by GitHub
commit 8d3819f31e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 47 additions and 14 deletions

View File

@ -196,6 +196,11 @@ public class AuthServer implements AuthApi {
}
if (user.getIsAdmin() && user.getPassword().equals("40b8893ea9ebc2d631c4bb42bb1e8996")) {
result.put("passwordModified", false);
result.put("defaultPwd", "dataease");
}
if (!user.getIsAdmin() && user.getPassword().equals("83d923c9f1d8fcaa46cae0ed2aaa81b5")) {
result.put("passwordModified", false);
result.put("defaultPwd", DEFAULT_PWD);
}
}

View File

@ -17,6 +17,7 @@ public class ApiDefinition {
private List<DatasetTableFieldDTO> fields;
private ApiDefinitionRequest request;
private String dataPath;
private Integer queryTimeout;
private String status;
private List<Map<String,String>> data = new ArrayList<>();
private List<JSONObject> jsonFields = new ArrayList<>();

View File

@ -58,7 +58,7 @@ public class SysPluginController {
@RequiresPermissions("plugin:upload")
public Map<String, Object> update(@PathVariable("pluginId") Long pluginId, @RequestParam("file") MultipartFile file) throws Exception {
DeFileUtils.validateFile(file);
if (pluginService.uninstall(pluginId)) {
if (pluginService.uninstallForUpdate(pluginId, true)) {
return pluginService.localInstall(file);
}
return null;

View File

@ -37,14 +37,10 @@ public class ApiProvider extends Provider {
private static String path = "['%s']";
@Resource
private SystemParameterService systemParameterService;
@Override
public List<String[]> getData(DatasourceRequest datasourceRequest) throws Exception {
BasicInfo basicInfo = systemParameterService.basicInfo();
ApiDefinition apiDefinition = checkApiDefinition(datasourceRequest);
String response = execHttpRequest(apiDefinition, StringUtils.isNotBlank(basicInfo.getFrontTimeOut()) ? Integer.parseInt(basicInfo.getFrontTimeOut()) : 10);
String response = execHttpRequest(apiDefinition, apiDefinition.getQueryTimeout() == null || apiDefinition.getQueryTimeout()<=0 ? 30 : apiDefinition.getQueryTimeout());
return fetchResult(response, apiDefinition);
}
@ -68,12 +64,11 @@ public class ApiProvider extends Provider {
}
public Map<String, List> fetchResultAndField(DatasourceRequest datasourceRequest) throws Exception {
BasicInfo basicInfo = systemParameterService.basicInfo();
Map<String, List> result = new HashMap<>();
List<String[]> dataList = new ArrayList<>();
List<TableField> fieldList = new ArrayList<>();
ApiDefinition apiDefinition = checkApiDefinition(datasourceRequest);
String response = execHttpRequest(apiDefinition, StringUtils.isNotBlank(basicInfo.getFrontTimeOut()) ? Integer.parseInt(basicInfo.getFrontTimeOut()) : 10);
String response = execHttpRequest(apiDefinition, apiDefinition.getQueryTimeout() == null || apiDefinition.getQueryTimeout()<=0 ? 30 : apiDefinition.getQueryTimeout());
fieldList = getTableFields(apiDefinition);
result.put("fieldList", fieldList);

View File

@ -73,7 +73,7 @@ public class DorisDDLProvider extends DDLProviderImpl {
break;
case 3:
if(datasetTableField.getType().equalsIgnoreCase("DECIMAL") && datasetTableField.getAccuracy() != 0){
Column_Fields.append("DECIMAL(" + datasetTableField.getSize() + "," + datasetTableField.getAccuracy() + ")").append(",`");
Column_Fields.append("DecimalV3(" + datasetTableField.getSize() + "," + datasetTableField.getAccuracy() + ")").append(",`");
}else {
Column_Fields.append("DOUBLE").append(",`");
}

View File

@ -221,6 +221,10 @@ public class PluginService {
* @return
*/
public Boolean uninstall(Long pluginId) {
return uninstallForUpdate(pluginId, false);
}
public Boolean uninstallForUpdate(Long pluginId, boolean forUpdate) {
MyPlugin myPlugin = myPluginMapper.selectByPrimaryKey(pluginId);
if (ObjectUtils.isEmpty(myPlugin)) {
String msg = "当前插件不存在";
@ -232,7 +236,7 @@ public class PluginService {
CacheUtils.removeAll(AuthConstants.USER_ROLE_CACHE_NAME);
CacheUtils.removeAll(AuthConstants.USER_PERMISSION_CACHE_NAME);
if (myPlugin.getCategory().equalsIgnoreCase("datasource")) {
if (myPlugin.getCategory().equalsIgnoreCase("datasource") && !forUpdate) {
if (CollectionUtils.isNotEmpty(datasourceService.selectByType(myPlugin.getDsType()))) {
DEException.throwException(Translator.get("i18n_plugin_not_allow_delete"));
}

View File

@ -13,7 +13,7 @@
:title="$t('user.change_password')"
:show-close="false"
>
<PasswordUpdateForm old-pwd="dataease" />
<PasswordUpdateForm :old-pwd=defaultPwd />
</el-dialog>
</div>
</template>
@ -28,7 +28,8 @@ export default {
components: { PluginCom, PasswordUpdateForm },
data() {
return {
showPasswordModifiedDialog: false
showPasswordModifiedDialog: false,
defaultPwd: 'dataease'
}
},
computed: {
@ -46,6 +47,7 @@ export default {
},
mounted() {
const passwordModified = JSON.parse(localStorage.getItem('passwordModified'))
this.defaultPwd = localStorage.getItem('defaultPwd')
if (typeof passwordModified === 'boolean') {
this.$store.commit('user/SET_PASSWORD_MODIFIED', passwordModified)
}

View File

@ -86,6 +86,9 @@ const actions = {
if (Object.prototype.hasOwnProperty.call(data, 'passwordModified')) {
passwordModified = data.passwordModified
}
if (Object.prototype.hasOwnProperty.call(data, 'defaultPwd')) {
localStorage.setItem('defaultPwd', data.defaultPwd)
}
commit('SET_PASSWORD_MODIFIED', passwordModified)
localStorage.setItem('passwordModified', passwordModified)
resolve()

View File

@ -368,7 +368,7 @@ export default {
this.showParams = true
this.isRangeParamWidget = this.widget.isRangeParamWidget && this.widget.isRangeParamWidget()
}
if ('timeYearWidget,timeMonthWidget,timeDateWidget,textSelectWidget,numberSelectWidget'.indexOf(this.widget.name) !== -1) {
if ('textInputWidget,timeYearWidget,timeMonthWidget,timeDateWidget,textSelectWidget,numberSelectWidget'.indexOf(this.widget.name) !== -1) {
this.showParams = true
}
},

View File

@ -525,6 +525,20 @@
</el-input>
</el-form-item>
<el-form-item
:label="$t('datasource.query_timeout')"
prop="apiQueryTimeout"
>
<el-input
v-model="apiItem.queryTimeout"
autocomplete="off"
type="number"
:min="0"
>
<template slot="append">{{ $t('panel.second') }}</template>
</el-input>
</el-form-item>
<div v-loading="loading">
<div class="row-rules mr40">
<span>{{ $t('datasource.req_param') }}</span>
@ -981,6 +995,13 @@ export default {
trigger: 'blur'
}
],
'apiQueryTimeout': [
{
required: true,
message: i18n.t('datasource.please_input_query_timeout'),
trigger: 'blur'
}
],
dataPath: [
{
required: true,
@ -1001,6 +1022,7 @@ export default {
name: '',
url: '',
method: 'GET',
queryTimeout: 30,
request: {
headers: [{}],
arguments: [],
@ -1018,6 +1040,7 @@ export default {
url: '',
method: 'GET',
dataPath: '',
queryTimeout: 30,
request: {
headers: [],
arguments: [],

View File

@ -15,7 +15,7 @@ public enum DatasourceTypes {
pg("pg", "PostgreSQL", "\"", "\"", "\"", "\"", "", true, DatasourceCalculationMode.DIRECT_AND_SYNC, null, null,true, DatabaseClassification.OLTP),
kingbase("kingbase", "KingBase", "\"", "\"", "\"", "\"", "", false, DatasourceCalculationMode.DIRECT, null,null,true, DatabaseClassification.OLTP),
sqlServer("sqlServer", "SQL Server", "\"", "\"", "\"", "\"", "", true, DatasourceCalculationMode.DIRECT_AND_SYNC, null, null,true, DatabaseClassification.OLTP),
oracle("oracle", "Oracle", "\"", "\"", "\"", "\"", "", true, DatasourceCalculationMode.DIRECT_AND_SYNC, Arrays.asList("Default", "GBK", "BIG5", "ISO-8859-1", "UTF-8", "UTF-16", "CP850", "EUC_JP", "EUC_KR"), Arrays.asList("Default", "GBK", "UTF-8"),true, DatabaseClassification.OLTP),
oracle("oracle", "Oracle", "\"", "\"", "\"", "\"", "", true, DatasourceCalculationMode.DIRECT_AND_SYNC, Arrays.asList("Default", "GBK", "BIG5", "ISO-8859-1", "UTF-8", "UTF-16", "CP850", "EUC_JP", "EUC_KR", "US7ASCII", "AL32UTF8"), Arrays.asList("Default", "GBK", "UTF-8"),true, DatabaseClassification.OLTP),
mongo("mongo", "MongoDB", "`", "`", "\"", "\"", "rebuildschema=true&authSource=admin", true, DatasourceCalculationMode.DIRECT, null, null,true, DatabaseClassification.OLTP),
ck("ck", "ClickHouse", "`", "`", "", "", "", true, DatasourceCalculationMode.DIRECT, null, null,true, DatabaseClassification.OLAP),
db2("db2", "Db2", "\"", "\"", "\"", "\"", "", true, DatasourceCalculationMode.DIRECT_AND_SYNC, null, null,true, DatabaseClassification.OLTP),