!70 feat: 代码生成

Merge pull request !70 from puhui999/v-next
This commit is contained in:
芋道源码
2025-04-10 14:24:44 +00:00
committed by Gitee
19 changed files with 3577 additions and 1975 deletions

View File

@@ -0,0 +1,145 @@
import type { PageParam, PageResult } from '@vben/request';
import { requestClient } from '#/api/request';
export namespace InfraCodegenApi {
/** 代码生成表定义 */
export interface CodegenTable {
id: number;
tableId: number;
isParentMenuIdValid: boolean;
dataSourceConfigId: number;
scene: number;
tableName: string;
tableComment: string;
remark: string;
moduleName: string;
businessName: string;
className: string;
classComment: string;
author: string;
createTime: Date;
updateTime: Date;
templateType: number;
parentMenuId: number;
}
/** 代码生成字段定义 */
export interface CodegenColumn {
id: number;
tableId: number;
columnName: string;
dataType: string;
columnComment: string;
nullable: number;
primaryKey: number;
ordinalPosition: number;
javaType: string;
javaField: string;
dictType: string;
example: string;
createOperation: number;
updateOperation: number;
listOperation: number;
listOperationCondition: string;
listOperationResult: number;
htmlType: string;
}
/** 数据库表定义 */
export interface DatabaseTable {
name: string;
comment: string;
}
/** 代码生成详情 */
export interface CodegenDetail {
table: CodegenTable;
columns: CodegenColumn[];
}
/** 代码预览 */
export interface CodegenPreview {
filePath: string;
code: string;
}
/** 更新代码生成请求 */
export interface CodegenUpdateReq {
table: any | CodegenTable;
columns: CodegenColumn[];
}
/** 创建代码生成请求 */
export interface CodegenCreateListReq {
dataSourceConfigId?: number;
tableNames: string[];
}
}
/** 查询列表代码生成表定义 */
export function getCodegenTableList(dataSourceConfigId: number) {
return requestClient.get<InfraCodegenApi.CodegenTable[]>('/infra/codegen/table/list', {
params: { dataSourceConfigId },
});
}
/** 查询列表代码生成表定义 */
export function getCodegenTablePage(params: PageParam) {
return requestClient.get<PageResult<InfraCodegenApi.CodegenTable>>('/infra/codegen/table/page', { params });
}
/** 查询详情代码生成表定义 */
export function getCodegenTable(id: number) {
return requestClient.get<InfraCodegenApi.CodegenDetail>('/infra/codegen/detail', {
params: { tableId: id },
});
}
/** 新增代码生成表定义 */
export function createCodegenTable(data: InfraCodegenApi.CodegenCreateListReq) {
return requestClient.post('/infra/codegen/create', data);
}
/** 修改代码生成表定义 */
export function updateCodegenTable(data: InfraCodegenApi.CodegenUpdateReq) {
return requestClient.put('/infra/codegen/update', data);
}
/** 基于数据库的表结构,同步数据库的表和字段定义 */
export function syncCodegenFromDB(id: number) {
return requestClient.put('/infra/codegen/sync-from-db', {
params: { tableId: id },
});
}
/** 预览生成代码 */
export function previewCodegen(id: number) {
return requestClient.get<InfraCodegenApi.CodegenPreview[]>('/infra/codegen/preview', {
params: { tableId: id },
});
}
/** 下载生成代码 */
export function downloadCodegen(id: number) {
return requestClient.download('/infra/codegen/download', {
params: { tableId: id },
});
}
/** 获得表定义 */
export function getSchemaTableList(params: any) {
return requestClient.get<InfraCodegenApi.DatabaseTable[]>('/infra/codegen/db/table/list', { params });
}
/** 基于数据库的表结构,创建代码生成器的表定义 */
export function createCodegenList(data: InfraCodegenApi.CodegenCreateListReq) {
return requestClient.post('/infra/codegen/create-list', data);
}
/** 删除代码生成表定义 */
export function deleteCodegenTable(id: number) {
return requestClient.delete('/infra/codegen/delete', {
params: { tableId: id },
});
}

View File

@@ -18,36 +18,36 @@ export namespace SystemMailAccountApi {
remark: string;
}
}
// TODO @puhui999改成 function 风格;不用 await
/** 查询邮箱账号列表 */
export const getMailAccountPage = async (params: PageParam) => {
return await requestClient.get<PageResult<SystemMailAccountApi.SystemMailAccount>>(
export function getMailAccountPage(params: PageParam) {
return requestClient.get<PageResult<SystemMailAccountApi.SystemMailAccount>>(
'/system/mail-account/page',
{ params },
{ params }
);
};
}
/** 查询邮箱账号详情 */
export const getMailAccount = async (id: number) => {
return await requestClient.get<SystemMailAccountApi.SystemMailAccount>(`/system/mail-account/get?id=${id}`);
};
export function getMailAccount(id: number) {
return requestClient.get<SystemMailAccountApi.SystemMailAccount>(`/system/mail-account/get?id=${id}`);
}
/** 新增邮箱账号 */
export const createMailAccount = async (data: SystemMailAccountApi.SystemMailAccount) => {
return await requestClient.post<SystemMailAccountApi.SystemMailAccount>('/system/mail-account/create', data);
};
export function createMailAccount(data: SystemMailAccountApi.SystemMailAccount) {
return requestClient.post('/system/mail-account/create', data);
}
/** 修改邮箱账号 */
export const updateMailAccount = async (data: SystemMailAccountApi.SystemMailAccount) => {
return await requestClient.put<SystemMailAccountApi.SystemMailAccount>('/system/mail-account/update', data);
};
export function updateMailAccount(data: SystemMailAccountApi.SystemMailAccount) {
return requestClient.put('/system/mail-account/update', data);
}
/** 删除邮箱账号 */
export const deleteMailAccount = async (id: number) => {
return await requestClient.delete<boolean>(`/system/mail-account/delete?id=${id}`);
};
export function deleteMailAccount(id: number) {
return requestClient.delete(`/system/mail-account/delete?id=${id}`);
}
/** 获得邮箱账号精简列表 */
export const getSimpleMailAccountList = async () => {
return await requestClient.get<SystemMailAccountApi.SystemMailAccount[]>('/system/mail-account/simple-list');
};
export function getSimpleMailAccountList() {
return requestClient.get<SystemMailAccountApi.SystemMailAccount[]>('/system/mail-account/simple-list');
}

View File

@@ -24,21 +24,21 @@ export namespace SystemMailLogApi {
createTime: string;
}
}
// TODO @puhui999改成 function 风格;不用 await
/** 查询邮件日志列表 */
export const getMailLogPage = async (params: PageParam) => {
return await requestClient.get<PageResult<SystemMailLogApi.SystemMailLog>>(
export function getMailLogPage(params: PageParam) {
return requestClient.get<PageResult<SystemMailLogApi.SystemMailLog>>(
'/system/mail-log/page',
{ params }
);
};
}
/** 查询邮件日志详情 */
export const getMailLog = async (id: number) => {
return await requestClient.get<SystemMailLogApi.SystemMailLog>(`/system/mail-log/get?${id}`);
};
export function getMailLog(id: number) {
return requestClient.get<SystemMailLogApi.SystemMailLog>(`/system/mail-log/get?id=${id}`);
}
/** 重新发送邮件 */
export const resendMail = async (id: number) => {
return await requestClient.put<boolean>(`/system/mail-log/resend?id=${id}`);
};
export function resendMail(id: number) {
return requestClient.put(`/system/mail-log/resend?id=${id}`);
}

View File

@@ -25,36 +25,36 @@ export namespace SystemMailTemplateApi {
templateParams: Record<string, any>;
}
}
// TODO @puhui999改成 function 风格;不用 await
/** 查询邮件模版列表 */
export const getMailTemplatePage = async (params: PageParam) => {
return await requestClient.get<PageResult<SystemMailTemplateApi.SystemMailTemplate>>(
export function getMailTemplatePage(params: PageParam) {
return requestClient.get<PageResult<SystemMailTemplateApi.SystemMailTemplate>>(
'/system/mail-template/page',
{ params }
);
};
}
/** 查询邮件模版详情 */
export const getMailTemplate = async (id: number) => {
return await requestClient.get<SystemMailTemplateApi.SystemMailTemplate>(`/system/mail-template/get?id=${id}`);
};
export function getMailTemplate(id: number) {
return requestClient.get<SystemMailTemplateApi.SystemMailTemplate>(`/system/mail-template/get?id=${id}`);
}
/** 新增邮件模版 */
export const createMailTemplate = async (data: SystemMailTemplateApi.SystemMailTemplate) => {
return await requestClient.post<SystemMailTemplateApi.SystemMailTemplate>('/system/mail-template/create', data);
};
export function createMailTemplate(data: SystemMailTemplateApi.SystemMailTemplate) {
return requestClient.post('/system/mail-template/create', data);
}
/** 修改邮件模版 */
export const updateMailTemplate = async (data: SystemMailTemplateApi.SystemMailTemplate) => {
return await requestClient.put<SystemMailTemplateApi.SystemMailTemplate>('/system/mail-template/update', data);
};
export function updateMailTemplate(data: SystemMailTemplateApi.SystemMailTemplate) {
return requestClient.put('/system/mail-template/update', data);
}
/** 删除邮件模版 */
export const deleteMailTemplate = async (id: number) => {
return await requestClient.delete<boolean>(`/system/mail-template/delete?id=${id}`);
};
export function deleteMailTemplate(id: number) {
return requestClient.delete(`/system/mail-template/delete?id=${id}`);
}
/** 发送邮件 */
export const sendMail = async (data: SystemMailTemplateApi.MailSendReqVO) => {
return await requestClient.post<boolean>('/system/mail-template/send-mail', data);
};
export function sendMail(data: SystemMailTemplateApi.MailSendReqVO) {
return requestClient.post('/system/mail-template/send-mail', data);
}