mirror of
https://github.com/1024-lab/smart-admin.git
synced 2026-01-19 07:01:00 +08:00
v3.16.0 【新增】优化代码生成 字典和文件预览;【新增】代码生成 菜单SQL;【新增】登录页面GIF炫酷图片
This commit is contained in:
@@ -158,7 +158,7 @@ public class CodeGeneratorTemplateService {
|
||||
CodeDelete deleteInfo = JSON.parseObject(codeGeneratorConfigEntity.getDeleteInfo(), CodeDelete.class);
|
||||
List<CodeQueryField> queryFields = JSONArray.parseArray(codeGeneratorConfigEntity.getQueryFields(), CodeQueryField.class);
|
||||
List<CodeTableField> tableFields = JSONArray.parseArray(codeGeneratorConfigEntity.getTableFields(), CodeTableField.class);
|
||||
tableFields.stream().forEach(e -> e.setWidth(e.getWidth() == null ? 0 : e.getWidth()));
|
||||
tableFields.forEach(e -> e.setWidth(e.getWidth() == null ? 0 : e.getWidth()));
|
||||
|
||||
CodeGeneratorConfigForm form = CodeGeneratorConfigForm.builder().basic(basic).fields(fields).insertAndUpdate(insertAndUpdate).deleteInfo(deleteInfo).queryFields(queryFields).tableFields(tableFields).deleteInfo(deleteInfo).build();
|
||||
form.setTableName(tableName);
|
||||
|
||||
@@ -64,8 +64,7 @@ public abstract class CodeGenerateBaseVariableService {
|
||||
return null;
|
||||
}
|
||||
|
||||
return fields.stream().filter(e -> columnName.equals(e.getColumnName()))
|
||||
.findFirst().get();
|
||||
return fields.stream().filter(e -> SmartStringUtil.equals(columnName, e.getColumnName())).findFirst().orElse(null);
|
||||
}
|
||||
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -114,8 +113,7 @@ public abstract class CodeGenerateBaseVariableService {
|
||||
return null;
|
||||
}
|
||||
|
||||
Optional<CodeField> first = fields.stream().filter(e -> columnName.equals(e.getColumnName())).findFirst();
|
||||
return first.orElse(null);
|
||||
return fields.stream().filter(e -> columnName.equals(e.getColumnName())).findFirst().orElse(null);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -67,6 +67,7 @@ public class FormVariableService extends CodeGenerateBaseVariableService {
|
||||
|
||||
if (CodeFrontComponentEnum.DICT_SELECT.equalsValue(field.getFrontComponent())) {
|
||||
frontImportSet.add("import DictSelect from '/@/components/support/dict-select/index.vue';");
|
||||
frontImportSet.add("import { DICT_CODE_ENUM } from '/@/constants/support/dict-const.js';");
|
||||
}
|
||||
|
||||
if (CodeFrontComponentEnum.FILE_UPLOAD.equalsValue(field.getFrontComponent())) {
|
||||
|
||||
@@ -2,13 +2,18 @@ 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.domain.model.CodeTableField;
|
||||
import net.lab1024.sa.base.module.support.codegenerator.service.variable.CodeGenerateBaseVariableService;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @Author 1024创新实验室-主任:卓大
|
||||
@@ -29,34 +34,74 @@ 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<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';");
|
||||
|
||||
// 查询参数
|
||||
List<Map<String, Object>> queryVariable = new ArrayList<>();
|
||||
List<CodeQueryField> queryFields = form.getQueryFields();
|
||||
|
||||
for (CodeQueryField queryField : queryFields) {
|
||||
Map<String, Object> objectMap = BeanUtil.beanToMap(queryField);
|
||||
|
||||
CodeField codeField = getCodeFieldByColumnName(queryField.getColumnNameList().get(0), form);
|
||||
objectMap.put("frontEnumName", codeField.getEnumName());
|
||||
objectMap.put("dict", codeField.getDict());
|
||||
|
||||
if(CodeQueryFieldQueryTypeEnum.ENUM.equalsValue(queryField.getQueryTypeEnum())){
|
||||
if (CodeQueryFieldQueryTypeEnum.ENUM.equalsValue(queryField.getQueryTypeEnum())) {
|
||||
objectMap.put("frontEnumName", codeField.getEnumName());
|
||||
frontImportSet.add("import SmartEnumSelect from '/@/components/framework/smart-enum-select/index.vue';");
|
||||
}
|
||||
|
||||
if(CodeQueryFieldQueryTypeEnum.DICT.equalsValue(queryField.getQueryTypeEnum())){
|
||||
if (CodeQueryFieldQueryTypeEnum.DICT.equalsValue(queryField.getQueryTypeEnum())) {
|
||||
objectMap.put("dict", codeField.getDict());
|
||||
frontImportSet.add("import DictSelect from '/@/components/support/dict-select/index.vue';");
|
||||
}
|
||||
|
||||
if(CodeQueryFieldQueryTypeEnum.DATE_RANGE.equalsValue(queryField.getQueryTypeEnum())){
|
||||
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<>();
|
||||
// 过滤掉不显示的字段
|
||||
List<CodeTableField> tableFields = form.getTableFields().stream().filter(CodeTableField::getShowFlag).collect(Collectors.toList());
|
||||
|
||||
for (CodeTableField tableField : tableFields) {
|
||||
Map<String, Object> objectMap = BeanUtil.beanToMap(tableField);
|
||||
objectMap.put("fieldName", tableField.getFieldName());
|
||||
|
||||
CodeField codeField = getCodeFieldByColumnName(tableField.getColumnName(), form);
|
||||
if (codeField == null) {
|
||||
continue;
|
||||
}
|
||||
|
||||
// 是否存在字典
|
||||
if (SmartStringUtil.isNotBlank(codeField.getDict())) {
|
||||
objectMap.put("dict", codeField.getDict());
|
||||
frontImportSet.add("import { DICT_CODE_ENUM } from '/@/constants/support/dict-const.js';");
|
||||
frontImportSet.add("import DictLabel from '/@/components/support/dict-label/index.vue';");
|
||||
}
|
||||
|
||||
CodeInsertAndUpdateField codeInsertAndUpdateField = form.getInsertAndUpdate().getFieldList().stream().filter(e -> SmartStringUtil.equals(tableField.getColumnName(), e.getColumnName())).findFirst().orElse(null);
|
||||
if (codeInsertAndUpdateField == null) {
|
||||
continue;
|
||||
}
|
||||
|
||||
// 是否存在上传组件
|
||||
if (CodeFrontComponentEnum.FILE_UPLOAD.equalsValue(codeInsertAndUpdateField.getFrontComponent())) {
|
||||
objectMap.put("frontComponent", codeInsertAndUpdateField.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