import type { PageParam, PageResult } from '@vben/request';
|
import type { Dayjs } from 'dayjs';
|
|
import { requestClient } from '#/api/request';
|
#set ($baseURL = "/${table.moduleName}/${simpleClassName_strikeCase}")
|
|
export namespace ${simpleClassName}Api {
|
## 特殊:主子表专属逻辑
|
#foreach ($subTable in $subTables)
|
#set ($index = $foreach.count - 1)
|
#set ($subSimpleClassName = $subSimpleClassNames.get($index))
|
#set ($subColumns = $subColumnsList.get($index))##当前字段数组
|
/** ${subTable.classComment}信息 */
|
export interface ${subSimpleClassName} {
|
#foreach ($column in $subColumns)
|
#if ($column.createOperation || $column.updateOperation)
|
#if(${column.javaType.toLowerCase()} == "long" || ${column.javaType.toLowerCase()} == "integer" || ${column.javaType.toLowerCase()} == "short" || ${column.javaType.toLowerCase()} == "double" || ${column.javaType.toLowerCase()} == "bigdecimal")
|
${column.javaField}#if($column.updateOperation && !$column.primaryKey && !$column.nullable)?#end: number; // ${column.columnComment}
|
#elseif(${column.javaType.toLowerCase()} == "date" || ${column.javaType.toLowerCase()} == "localdate" || ${column.javaType.toLowerCase()} == "localdatetime")
|
${column.javaField}#if($column.updateOperation && !$column.primaryKey && !$column.nullable)?#end: string | Dayjs; // ${column.columnComment}
|
#else
|
${column.javaField}#if($column.updateOperation && !$column.primaryKey && !$column.nullable)?#end: ${column.javaType.toLowerCase()}; // ${column.columnComment}
|
#end
|
#end
|
#end
|
}
|
|
#end
|
/** ${table.classComment}信息 */
|
export interface ${simpleClassName} {
|
#foreach ($column in $columns)
|
#if ($column.createOperation || $column.updateOperation)
|
#if(${column.javaType.toLowerCase()} == "long" || ${column.javaType.toLowerCase()} == "integer" || ${column.javaType.toLowerCase()} == "short" || ${column.javaType.toLowerCase()} == "double" || ${column.javaType.toLowerCase()} == "bigdecimal")
|
${column.javaField}#if($column.updateOperation && !$column.primaryKey && !$column.nullable)?#end: number; // ${column.columnComment}
|
#elseif(${column.javaType.toLowerCase()} == "date" || ${column.javaType.toLowerCase()} == "localdate" || ${column.javaType.toLowerCase()} == "localdatetime")
|
${column.javaField}#if($column.updateOperation && !$column.primaryKey && !$column.nullable)?#end: string | Dayjs; // ${column.columnComment}
|
#else
|
${column.javaField}#if($column.updateOperation && !$column.primaryKey && !$column.nullable)?#end: ${column.javaType.toLowerCase()}; // ${column.columnComment}
|
#end
|
#end
|
#end
|
#if ( $table.templateType == 2 )
|
children?: ${simpleClassName}[];
|
#end
|
## 特殊:主子表专属逻辑
|
#if ( $table.templateType == 10 || $table.templateType == 12 )
|
#foreach ($subTable in $subTables)
|
#set ($index = $foreach.count - 1)
|
#set ($subSimpleClassName = $subSimpleClassNames.get($index))
|
#if ( $subTable.subJoinMany )
|
${subSimpleClassName.toLowerCase()}s?: ${subSimpleClassName}[]
|
#else
|
${subSimpleClassName.toLowerCase()}?: ${subSimpleClassName}
|
#end
|
#end
|
#end
|
}
|
}
|
|
#if ( $table.templateType != 2 )
|
/** 查询${table.classComment}分页 */
|
export function get${simpleClassName}Page(params: PageParam) {
|
return requestClient.get<PageResult<${simpleClassName}Api.${simpleClassName}>>('${baseURL}/page', { params });
|
}
|
#else
|
/** 查询${table.classComment}列表 */
|
export function get${simpleClassName}List(params: any) {
|
return requestClient.get<${simpleClassName}Api.${simpleClassName}[]>('${baseURL}/list', { params });
|
}
|
#end
|
|
/** 查询${table.classComment}详情 */
|
export function get${simpleClassName}(id: number) {
|
return requestClient.get<${simpleClassName}Api.${simpleClassName}>(`${baseURL}/get?id=${id}`);
|
}
|
|
/** 新增${table.classComment} */
|
export function create${simpleClassName}(data: ${simpleClassName}Api.${simpleClassName}) {
|
return requestClient.post('${baseURL}/create', data);
|
}
|
|
/** 修改${table.classComment} */
|
export function update${simpleClassName}(data: ${simpleClassName}Api.${simpleClassName}) {
|
return requestClient.put('${baseURL}/update', data);
|
}
|
|
/** 删除${table.classComment} */
|
export function delete${simpleClassName}(id: number) {
|
return requestClient.delete(`${baseURL}/delete?id=${id}`);
|
}
|
|
#if ( $table.templateType != 2 && $deleteBatchEnable)
|
/** 批量删除${table.classComment} */
|
export function delete${simpleClassName}List(ids: number[]) {
|
return requestClient.delete(`${baseURL}/delete-list?ids=${ids.join(',')}`)
|
}
|
#end
|
|
/** 导出${table.classComment} */
|
export function export${simpleClassName}(params: any) {
|
return requestClient.download('${baseURL}/export-excel', { params });
|
}
|
#if ($importEnable)
|
|
/** 下载${table.classComment}导入模板 */
|
export function import${simpleClassName}Template() {
|
return requestClient.download('${baseURL}/get-import-template');
|
}
|
|
/** 导入${table.classComment} */
|
export function import${simpleClassName}(data: FormData) {
|
return requestClient.post('${baseURL}/import', data);
|
}
|
#end
|
|
## 特殊:主子表专属逻辑
|
#foreach ($subTable in $subTables)
|
#set ($index = $foreach.count - 1)
|
#set ($subSimpleClassName = $subSimpleClassNames.get($index))
|
#set ($subPrimaryColumn = $subPrimaryColumns.get($index))##当前 primary 字段
|
#set ($subJoinColumn = $subJoinColumns.get($index))##当前 join 字段
|
#set ($SubJoinColumnName = $subJoinColumn.javaField.substring(0,1).toUpperCase() + ${subJoinColumn.javaField.substring(1)})##首字母大写
|
#set ($subSimpleClassName_strikeCase = $subSimpleClassName_strikeCases.get($index))
|
#set ($subJoinColumn_strikeCase = $subJoinColumn_strikeCases.get($index))
|
#set ($subClassNameVar = $subClassNameVars.get($index))
|
|
// ==================== 子表($subTable.classComment) ====================
|
|
## 情况一:MASTER_ERP 时,需要分查询页子表
|
#if ( $table.templateType == 11 )
|
/** 获得${subTable.classComment}分页 */
|
export function get${subSimpleClassName}Page(params: PageParam) {
|
return requestClient.get<PageResult<${simpleClassName}Api.${subSimpleClassName}>>(`${baseURL}/${subSimpleClassName_strikeCase}/page`, { params });
|
}
|
## 情况二:非 MASTER_ERP 时,需要列表查询子表
|
#else
|
#if ( $subTable.subJoinMany )
|
/** 获得${subTable.classComment}列表 */
|
export function get${subSimpleClassName}ListBy${SubJoinColumnName}(${subJoinColumn.javaField}: number) {
|
return requestClient.get<${simpleClassName}Api.${subSimpleClassName}[]>(`${baseURL}/${subSimpleClassName_strikeCase}/list-by-${subJoinColumn_strikeCase}?${subJoinColumn.javaField}=${${subJoinColumn.javaField}}`);
|
}
|
#else
|
/** 获得${subTable.classComment} */
|
export function get${subSimpleClassName}By${SubJoinColumnName}(${subJoinColumn.javaField}: number) {
|
return requestClient.get<${simpleClassName}Api.${subSimpleClassName}>(`${baseURL}/${subSimpleClassName_strikeCase}/get-by-${subJoinColumn_strikeCase}?${subJoinColumn.javaField}=${${subJoinColumn.javaField}}`);
|
}
|
#end
|
#end
|
## 特殊:MASTER_ERP 时,支持单个的新增、修改、删除操作
|
#if ( $table.templateType == 11 )
|
/** 新增${subTable.classComment} */
|
export function create${subSimpleClassName}(data: ${simpleClassName}Api.${subSimpleClassName}) {
|
return requestClient.post(`${baseURL}/${subSimpleClassName_strikeCase}/create`, data);
|
}
|
|
/** 修改${subTable.classComment} */
|
export function update${subSimpleClassName}(data: ${simpleClassName}Api.${subSimpleClassName}) {
|
return requestClient.put(`${baseURL}/${subSimpleClassName_strikeCase}/update`, data);
|
}
|
|
/** 删除${subTable.classComment} */
|
export function delete${subSimpleClassName}(id: number) {
|
return requestClient.delete(`${baseURL}/${subSimpleClassName_strikeCase}/delete?id=${id}`);
|
}
|
|
#if ($deleteBatchEnable)
|
/** 批量删除${subTable.classComment} */
|
export function delete${subSimpleClassName}List(ids: number[]) {
|
return requestClient.delete(`${baseURL}/${subSimpleClassName_strikeCase}/delete-list?ids=${ids.join(',')}`)
|
}
|
#end
|
|
/** 获得${subTable.classComment} */
|
export function get${subSimpleClassName}(id: number) {
|
return requestClient.get<${simpleClassName}Api.${subSimpleClassName}>(`${baseURL}/${subSimpleClassName_strikeCase}/get?id=${id}`);
|
}
|
#end
|
#end
|