mirror of
https://gitee.com/lab1024/smart-admin.git
synced 2026-07-03 00:48:36 +08:00
优化代码生成,添加字典预览与文件预览,使其适配当前版本
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
package net.lab1024.sa.base.module.support.codegenerator.service.variable;
|
||||
|
||||
import com.google.common.base.CaseFormat;
|
||||
import net.lab1024.sa.base.common.util.SmartStringUtil;
|
||||
import net.lab1024.sa.base.module.support.codegenerator.constant.CodeFrontComponentEnum;
|
||||
import net.lab1024.sa.base.module.support.codegenerator.domain.form.CodeGeneratorConfigForm;
|
||||
import net.lab1024.sa.base.module.support.codegenerator.domain.model.CodeField;
|
||||
@@ -89,7 +88,7 @@ public abstract class CodeGenerateBaseVariableService {
|
||||
}
|
||||
|
||||
CodeInsertAndUpdateField field = first.get();
|
||||
return SmartStringUtil.equals(field.getFrontComponent(), CodeFrontComponentEnum.FILE_UPLOAD.getValue());
|
||||
return CodeFrontComponentEnum.FILE_UPLOAD.equalsValue(field.getFrontComponent());
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -84,14 +84,6 @@ public class VOVariableService extends CodeGenerateBaseVariableService {
|
||||
packageList.add("import io.swagger.v3.oas.annotations.media.Schema;");
|
||||
}
|
||||
|
||||
|
||||
//字典
|
||||
if (isDict(field.getColumnName(), form)) {
|
||||
finalFieldMap.put("dict", "\n @JsonSerialize(using = DictValueVoSerializer.class)");
|
||||
packageList.add("import com.fasterxml.jackson.databind.annotation.JsonSerialize;");
|
||||
packageList.add("import net.lab1024.sa.base.common.json.serializer.DictValueVoSerializer;");
|
||||
}
|
||||
|
||||
//文件上传
|
||||
if (isFile(field.getColumnName(), form)) {
|
||||
finalFieldMap.put("file", "\n @JsonSerialize(using = FileKeyVoSerializer.class)");
|
||||
|
||||
@@ -2,9 +2,12 @@ package net.lab1024.sa.base.module.support.codegenerator.service.variable.front;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.google.common.base.CaseFormat;
|
||||
import net.lab1024.sa.base.common.util.SmartStringUtil;
|
||||
import net.lab1024.sa.base.module.support.codegenerator.constant.CodeFrontComponentEnum;
|
||||
import net.lab1024.sa.base.module.support.codegenerator.constant.CodeQueryFieldQueryTypeEnum;
|
||||
import net.lab1024.sa.base.module.support.codegenerator.domain.form.CodeGeneratorConfigForm;
|
||||
import net.lab1024.sa.base.module.support.codegenerator.domain.model.CodeField;
|
||||
import net.lab1024.sa.base.module.support.codegenerator.domain.model.CodeInsertAndUpdateField;
|
||||
import net.lab1024.sa.base.module.support.codegenerator.domain.model.CodeQueryField;
|
||||
import net.lab1024.sa.base.module.support.codegenerator.service.variable.CodeGenerateBaseVariableService;
|
||||
|
||||
@@ -29,7 +32,7 @@ public class ListVariableService extends CodeGenerateBaseVariableService {
|
||||
public Map<String, Object> getInjectVariablesMap(CodeGeneratorConfigForm form) {
|
||||
Map<String, Object> variablesMap = new HashMap<>();
|
||||
|
||||
List<Map<String, Object>> variableList = new ArrayList<>();
|
||||
List<Map<String, Object>> queryVariable = new ArrayList<>();
|
||||
List<CodeQueryField> queryFields = form.getQueryFields();
|
||||
HashSet<String> frontImportSet = new HashSet<>();
|
||||
frontImportSet.add("import " + CaseFormat.LOWER_CAMEL.to(CaseFormat.UPPER_CAMEL, form.getBasic().getModuleName()) + "Form from './" + CaseFormat.UPPER_CAMEL.to(CaseFormat.LOWER_HYPHEN, form.getBasic().getModuleName()) + "-form.vue';");
|
||||
@@ -52,11 +55,34 @@ public class ListVariableService extends CodeGenerateBaseVariableService {
|
||||
if(CodeQueryFieldQueryTypeEnum.DATE_RANGE.equalsValue(queryField.getQueryTypeEnum())){
|
||||
frontImportSet.add("import { defaultTimeRanges } from '/@/lib/default-time-ranges';");
|
||||
}
|
||||
variableList.add(objectMap);
|
||||
|
||||
queryVariable.add(objectMap);
|
||||
}
|
||||
variablesMap.put("queryFields",variableList);
|
||||
variablesMap.put("frontImportList",new ArrayList<>(frontImportSet));
|
||||
|
||||
List<Map<String, Object>> listVariable = new ArrayList<>();
|
||||
for (CodeInsertAndUpdateField field : form.getInsertAndUpdate().getFieldList()) {
|
||||
Map<String, Object> objectMap = BeanUtil.beanToMap(field);
|
||||
CodeField codeField = getCodeFieldByColumnName(field.getColumnName(), form);
|
||||
if (codeField == null) {
|
||||
continue;
|
||||
}
|
||||
objectMap.put("fieldName", codeField.getFieldName());
|
||||
objectMap.put("dict", codeField.getDict());
|
||||
|
||||
if(SmartStringUtil.isNotBlank(codeField.getDict())) {
|
||||
frontImportSet.add("import DictPreview from '/@/components/dict-preview/index.vue';");
|
||||
frontImportSet.add("import { useDict } from '/@/utils/dict';");
|
||||
}
|
||||
|
||||
if (CodeFrontComponentEnum.FILE_UPLOAD.equalsValue(field.getFrontComponent())) {
|
||||
frontImportSet.add("import FilePreview from '/@/components/support/file-preview/index.vue';");
|
||||
}
|
||||
|
||||
listVariable.add(objectMap);
|
||||
}
|
||||
|
||||
variablesMap.put("queryFields", queryVariable);
|
||||
variablesMap.put("listFields", listVariable);
|
||||
variablesMap.put("frontImportList", new ArrayList<>(frontImportSet));
|
||||
return variablesMap;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user