优化代码生成模块:1、字典与文件字段添加序列化注解;2、新增 bit-Boolean 类型的映射;新增在create_time与update_time字段上添加自动填充注解。

This commit is contained in:
zhoumingfa
2024-08-04 21:51:40 +08:00
parent a5a7fdf61a
commit dc9f4b7953
27 changed files with 255 additions and 224 deletions

View File

@@ -2,6 +2,7 @@ import { convertUpperCamel } from '/@/utils/str-util';
// -------------------------------- java 类型 --------------------------------
export const JavaTypeMap = new Map();
JavaTypeMap.set('bit', 'Boolean');
JavaTypeMap.set('int', 'Integer');
JavaTypeMap.set('tinyint', 'Integer');
JavaTypeMap.set('smallint', 'Integer');
@@ -37,6 +38,7 @@ export function getJavaType(dataType) {
// -------------------------------- js 类型 --------------------------------
export const JsTypeMap = new Map();
JsTypeMap.set('bit', 'Boolean');
JsTypeMap.set('int', 'Number');
JsTypeMap.set('tinyint', 'Number');
JsTypeMap.set('smallint', 'Number');
@@ -56,11 +58,10 @@ JsTypeMap.set('date', 'Date');
JsTypeMap.set('datetime', 'Date');
export const JsTypeList = [
'Boolean', //
'Number', //
'String', //
'Date', //
'Boolean', //
'String', //
];
export function getJsType(dataType) {
@@ -70,8 +71,9 @@ export function getJsType(dataType) {
// -------------------------------- 前端组件 --------------------------------
export const FrontComponentMap = new Map();
FrontComponentMap.set('bit', 'BooleanSelect');
FrontComponentMap.set('int', 'InputNumber');
FrontComponentMap.set('tinyint', 'BooleanSelect');
FrontComponentMap.set('tinyint', 'InputNumber');
FrontComponentMap.set('smallint', 'InputNumber');
FrontComponentMap.set('integer', 'InputNumber');
FrontComponentMap.set('year', 'Date');

View File

@@ -68,11 +68,12 @@
if (deletedFlagColumn) {
deleteFlagColumnName.value = deletedFlagColumn.columnName;
}
console.log(deletedFlagColumn);
//表单
let deleteInfo = config.delete;
let deleteInfo = config.deleteInfo;
formData.isSupportDelete = deleteInfo && deleteInfo.isSupportDelete ? deleteInfo.isSupportDelete : true;
formData.isSupportDelete = deleteInfo && deleteInfo.isSupportDelete;
formData.isPhysicallyDeleted = deleteInfo && deleteInfo.isPhysicallyDeleted ? deleteInfo.isPhysicallyDeleted : !deletedFlagColumn;
formData.deleteEnum = deleteInfo && deleteInfo.deleteEnum ? deleteInfo.deleteEnum : CODE_DELETE_ENUM.SINGLE_AND_BATCH.value;
}

View File

@@ -12,7 +12,7 @@
title="代码配置"
style=""
:open="visibleFlag"
:width="1000"
:width="1500"
:footerStyle="{ textAlign: 'right' }"
@close="onClose"
:maskClosable="false"
@@ -175,7 +175,7 @@
let insertAndUpdateValidated = await insertAndUpdateRef.value.validateForm();
let deleteValidated = await deleteRef.value.validateForm();
if (!basicValidated || !insertAndUpdateValidated || !deleteValidated ) {
if (!basicValidated || !insertAndUpdateValidated || !deleteValidated) {
return;
}
@@ -201,7 +201,7 @@
onClose();
} catch (e) {
smartSentry.captureError(e);
}finally{
} finally {
SmartLoading.hide();
}
}

View File

@@ -11,7 +11,7 @@
<a-drawer
title="代码预览"
:open="visibleFlag"
:width="1200"
:width="1500"
:footerStyle="{ textAlign: 'right' }"
:bodyStyle="{ padding: '8px 24px' }"
@close="onClose"
@@ -39,7 +39,7 @@
<script setup>
import { computed, nextTick, ref, watch } from 'vue';
import { codeGeneratorApi } from '/@/api/support/code-generator-api';
import { JAVA_FILE_LIST, LANGUAGE_LIST, JS_FILE_LIST,TS_FILE_LIST, JAVA_DOMAIN_FILE_LIST } from '../../code-generator-util';
import { JAVA_FILE_LIST, LANGUAGE_LIST, JS_FILE_LIST, TS_FILE_LIST, JAVA_DOMAIN_FILE_LIST } from '../../code-generator-util';
import { smartSentry } from '/@/lib/smart-sentry';
import { lineNumbersBlock } from '/@/lib/highlight-line-number';
import hljs from 'highlight.js';
@@ -74,11 +74,11 @@
// ------------------ 标签页 ------------------
const languageType = ref(LANGUAGE_LIST[0]);
const tabList = computed(() => {
if(languageType.value === LANGUAGE_LIST[0]){
if (languageType.value === LANGUAGE_LIST[0]) {
return JS_FILE_LIST;
}else if(languageType.value === LANGUAGE_LIST[1]){
} else if (languageType.value === LANGUAGE_LIST[1]) {
return TS_FILE_LIST;
}else{
} else {
return JAVA_FILE_LIST;
}
});
@@ -86,21 +86,21 @@
const fileKey = ref(tabList.value[0]);
function getLanguage() {
if(languageType.value === LANGUAGE_LIST[0]){
if (languageType.value === LANGUAGE_LIST[0]) {
return 'javascript';
}else if(languageType.value === LANGUAGE_LIST[1]){
} else if (languageType.value === LANGUAGE_LIST[1]) {
return 'typescript';
}else{
} else {
return 'java';
}
}
function onChangeLanguageType(e){
if(e.target.value === LANGUAGE_LIST[0]){
function onChangeLanguageType(e) {
if (e.target.value === LANGUAGE_LIST[0]) {
fileKey.value = JS_FILE_LIST[0];
}else if(e.target.value === LANGUAGE_LIST[1]){
} else if (e.target.value === LANGUAGE_LIST[1]) {
fileKey.value = TS_FILE_LIST[0];
}else{
} else {
fileKey.value = JAVA_FILE_LIST[0];
}
onChangeTab(fileKey.value);