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>('${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>(`${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