perf:【INFRA 基础设施】优化一些 todo 提到的问题

This commit is contained in:
puhui999
2025-05-20 16:09:21 +08:00
parent 064fecf4ee
commit b9ffa1820d
73 changed files with 177 additions and 223 deletions

View File

@@ -75,14 +75,14 @@ public class ${sceneEnum.prefixClass}${table.className}Controller {
}
#if ( $table.templateType != 2 && $deleteBatchEnable)
@DeleteMapping("/delete-batch")
@DeleteMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除${table.classComment}")
#if ($sceneEnum.scene == 1)
@PreAuthorize("@ss.hasPermission('${permissionPrefix}:delete')")
#end
public CommonResult<Boolean> delete${simpleClassName}(@RequestParam("ids") List<${primaryColumn.javaType}> ids) {
${classNameVar}Service.delete${simpleClassName}ByIds(ids);
public CommonResult<Boolean> delete${simpleClassName}List(@RequestParam("ids") List<${primaryColumn.javaType}> ids) {
${classNameVar}Service.delete${simpleClassName}ListByIds(ids);
return success(true);
}
#end
@@ -244,14 +244,14 @@ public class ${sceneEnum.prefixClass}${table.className}Controller {
}
#if ($deleteBatchEnable)
@DeleteMapping("/${subSimpleClassName_strikeCase}/delete-batch")
@DeleteMapping("/${subSimpleClassName_strikeCase}/delete-list")
@Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除${subTable.classComment}")
#if ($sceneEnum.scene == 1)
@PreAuthorize("@ss.hasPermission('${permissionPrefix}:delete')")
#end
public CommonResult<Boolean> delete${subSimpleClassName}(@RequestParam("ids") List<${subPrimaryColumn.javaType}> ids) {
${classNameVar}Service.delete${subSimpleClassName}ByIds(ids);
public CommonResult<Boolean> delete${subSimpleClassName}List(@RequestParam("ids") List<${subPrimaryColumn.javaType}> ids) {
${classNameVar}Service.delete${subSimpleClassName}ListByIds(ids);
return success(true);
}
#end

View File

@@ -28,8 +28,6 @@ import static ${DateUtilsClassName}.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@Schema(description = "${sceneEnum.name} - ${table.classComment}分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class ${sceneEnum.prefixClass}${table.className}PageReqVO extends PageParam {
#foreach ($column in $columns)

View File

@@ -77,17 +77,23 @@ public class ${table.className}DO extends BaseDO {
private ${column.javaType} ${column.javaField};
#end
#end
## 特殊:主子表专属逻辑(非 ERP 模式)
#if ( $voType == 20 && $subTables && $subTables.size() > 0 && $table.templateType != 11 )
#foreach ($subTable in $subTables)
#set ($index = $foreach.count - 1)
#if ( $subTable.subJoinMany)
/**
* ${subTable.classComment}列表
*/
@Schema(description = "${subTable.classComment}列表")
@TableField(exist = false)
private List<${subTable.className}DO> ${subClassNameVars.get($index)}s;
#else
/**
* ${subTable.classComment}
*/
@Schema(description = "${subTable.classComment}")
@TableField(exist = false)
private ${subTable.className}DO ${subClassNameVars.get($index)};
#end
#end

View File

@@ -46,7 +46,7 @@ public interface ${table.className}Service {
*
* @param ids 编号
*/
void delete${simpleClassName}ByIds(List<${primaryColumn.javaType}> ids);
void delete${simpleClassName}ListByIds(List<${primaryColumn.javaType}> ids);
#end
/**
@@ -149,7 +149,7 @@ public interface ${table.className}Service {
*
* @param ids 编号
*/
void delete${subSimpleClassName}ByIds(List<${subPrimaryColumn.javaType}> ids);
void delete${subSimpleClassName}ListByIds(List<${subPrimaryColumn.javaType}> ids);
#end
/**

View File

@@ -169,7 +169,7 @@ public class ${table.className}ServiceImpl implements ${table.className}Service
#if ( $subTables && $subTables.size() > 0)
@Transactional(rollbackFor = Exception.class)
#end
public void delete${simpleClassName}ByIds(List<${primaryColumn.javaType}> ids) {
public void delete${simpleClassName}ListByIds(List<${primaryColumn.javaType}> ids) {
// 校验存在
validate${simpleClassName}Exists(ids);
// 删除
@@ -328,7 +328,7 @@ public class ${table.className}ServiceImpl implements ${table.className}Service
// 校验存在
validate${subSimpleClassName}Exists(${subClassNameVar}.getId());
// 更新
${subClassNameVar}.setUpdater(null).setUpdateTime(null); // 解决更新情况下updateTime 不更新
${subClassNameVar}.clean(); // 解决更新情况下updateTime 不更新
${subClassNameVars.get($index)}Mapper.updateById(${subClassNameVar});
}
@@ -342,7 +342,7 @@ public class ${table.className}ServiceImpl implements ${table.className}Service
#if ($deleteBatchEnable)
@Override
public void delete${subSimpleClassName}ByIds(List<${subPrimaryColumn.javaType}> ids) {
public void delete${subSimpleClassName}ListByIds(List<${subPrimaryColumn.javaType}> ids) {
// 校验存在
validate${subSimpleClassName}Exists(ids);
// 删除
@@ -374,17 +374,17 @@ public class ${table.className}ServiceImpl implements ${table.className}Service
#else
#if ( $subTable.subJoinMany)
private void create${subSimpleClassName}List(${primaryColumn.javaType} ${subJoinColumn.javaField}, List<${subTable.className}DO> list) {
list.forEach(o -> o.set${SubJoinColumnName}(${subJoinColumn.javaField}));
list.forEach(o -> o.set${SubJoinColumnName}(${subJoinColumn.javaField}).clean());
${subClassNameVars.get($index)}Mapper.insertBatch(list);
}
private void update${subSimpleClassName}List(${primaryColumn.javaType} ${subJoinColumn.javaField}, List<${subTable.className}DO> list) {
list.forEach(o -> o.set${SubJoinColumnName}(${subJoinColumn.javaField}));
list.forEach(o -> o.set${SubJoinColumnName}(${subJoinColumn.javaField}).clean());
List<${subTable.className}DO> oldList = ${subClassNameVar}Mapper.selectListBy${SubJoinColumnName}(${subJoinColumn.javaField});
List<List<${subTable.className}DO>> diffList = diffList(oldList, list, (oldVal, newVal) -> {
boolean same = ObjectUtil.equal(oldVal.getId(), newVal.getId());
if (same) {
newVal.setId(oldVal.getId()).setUpdater(null).setUpdateTime(null); // 解决更新情况下updateTime 不更新
newVal.setId(oldVal.getId()).clean(); // 解决更新情况下updateTime 不更新
}
return same;
});
@@ -414,8 +414,7 @@ public class ${table.className}ServiceImpl implements ${table.className}Service
if (${subClassNameVar} == null) {
return;
}
${subClassNameVar}.set$SubJoinColumnName(${subJoinColumn.javaField});
${subClassNameVar}.setUpdater(null).setUpdateTime(null); // 解决更新情况下updateTime 不更新
${subClassNameVar}.set$SubJoinColumnName(${subJoinColumn.javaField}).clean();// 解决更新情况下updateTime 不更新
${subClassNameVars.get($index)}Mapper.insertOrUpdate(${subClassNameVar});
}

View File

@@ -90,9 +90,9 @@ export function delete${simpleClassName}(id: number) {
}
#if ( $table.templateType != 2 && $deleteBatchEnable)
// 批量删除${table.classComment}
export function delete${simpleClassName}ByIds(ids: number[]) {
return requestClient.delete(`${baseURL}/delete-batch?ids=${ids.join(',')}`)
/** 批量删除${table.classComment} */
export function delete${simpleClassName}ListByIds(ids: number[]) {
return requestClient.delete(`${baseURL}/delete-list?ids=${ids.join(',')}`)
}
#end
@@ -152,9 +152,9 @@ export function delete${subSimpleClassName}(id: number) {
}
#if ($deleteBatchEnable)
// 批量删除${subTable.classComment}
export function delete${subSimpleClassName}ByIds(ids: number[]) {
return requestClient.delete(`${baseURL}/${subSimpleClassName_strikeCase}/delete-batch?ids=${ids.join(',')}`)
/** 批量删除${subTable.classComment} */
export function delete${subSimpleClassName}ListByIds(ids: number[]) {
return requestClient.delete(`${baseURL}/${subSimpleClassName_strikeCase}/delete-list?ids=${ids.join(',')}`)
}
#end

View File

@@ -22,7 +22,7 @@ import { useVbenVxeGrid } from '#/adapter/vxe-table';
#if (${table.templateType} == 2)## 树表接口
import { get${simpleClassName}List, delete${simpleClassName}, export${simpleClassName} } from '#/api/${table.moduleName}/${table.businessName}';
#else## 标准表接口
import { get${simpleClassName}Page, delete${simpleClassName},#if ($deleteBatchEnable) delete${simpleClassName}ByIds,#end export${simpleClassName} } from '#/api/${table.moduleName}/${table.businessName}';
import { get${simpleClassName}Page, delete${simpleClassName},#if ($deleteBatchEnable) delete${simpleClassName}ListByIds,#end export${simpleClassName} } from '#/api/${table.moduleName}/${table.businessName}';
#end
import { downloadFileFromBlobPart, isEmpty } from '@vben/utils';
@@ -93,15 +93,6 @@ async function onDelete(row: ${simpleClassName}Api.${simpleClassName}) {
}
#if ($table.templateType != 2 && $deleteBatchEnable)
const deleteIds = ref<number[]>([]) // 待删除${table.classComment} ID
const showDeleteBatchBtn = computed(() => isEmpty(deleteIds.value));
function setDeleteIds({
records,
}: {
records: ${simpleClassName}Api.${simpleClassName}[];
}) {
deleteIds.value = records.map((item) => item.id);
}
/** 批量删除${table.classComment} */
async function onDeleteBatch() {
const hideLoading = message.loading({
@@ -110,13 +101,22 @@ async function onDeleteBatch() {
key: 'action_process_msg',
});
try {
await delete${simpleClassName}ByIds(deleteIds.value);
await delete${simpleClassName}ListByIds(deleteIds.value);
message.success( $t('ui.actionMessage.deleteSuccess') );
onRefresh();
} finally {
hideLoading();
}
}
const deleteIds = ref<number[]>([]) // 待删除${table.classComment} ID
function setDeleteIds({
records,
}: {
records: ${simpleClassName}Api.${simpleClassName}[];
}) {
deleteIds.value = records.map((item) => item.id);
}
#end
/** 导出表格 */
@@ -268,7 +268,7 @@ const [Grid, gridApi] = useVbenVxeGrid({
type="primary"
danger
class="ml-2"
:disabled="showDeleteBatchBtn"
:disabled="isEmpty(deleteIds)"
@click="onDeleteBatch"
v-access:code="['${table.moduleName}:${simpleClassName_strikeCase}:delete']"
>

View File

@@ -21,7 +21,7 @@
#if ($table.templateType == 11) ## erp
import { delete${subSimpleClassName},#if ($deleteBatchEnable) delete${subSimpleClassName}ByIds,#end get${subSimpleClassName}Page } from '#/api/${table.moduleName}/${table.businessName}';
import { delete${subSimpleClassName},#if ($deleteBatchEnable) delete${subSimpleClassName}ListByIds,#end get${subSimpleClassName}Page } from '#/api/${table.moduleName}/${table.businessName}';
import { use${subSimpleClassName}GridFormSchema, use${subSimpleClassName}GridColumns } from '../data';
import { isEmpty } from '@vben/utils';
#else
@@ -74,15 +74,6 @@ async function onDelete(row: ${simpleClassName}Api.${subSimpleClassName}) {
}
#if ($deleteBatchEnable)
const deleteIds = ref<number[]>([]) // 待删除${subTable.classComment} ID
const showDeleteBatchBtn = computed(() => isEmpty(deleteIds.value));
function setDeleteIds({
records,
}: {
records: ${simpleClassName}Api.${subSimpleClassName}[];
}) {
deleteIds.value = records.map((item) => item.id);
}
/** 批量删除${subTable.classComment} */
async function onDeleteBatch() {
const hideLoading = message.loading({
@@ -91,13 +82,22 @@ async function onDeleteBatch() {
key: 'action_process_msg',
});
try {
await delete${subSimpleClassName}ByIds(deleteIds.value);
await delete${subSimpleClassName}ListByIds(deleteIds.value);
message.success( $t('ui.actionMessage.deleteSuccess') );
onRefresh();
} finally {
hideLoading();
}
}
const deleteIds = ref<number[]>([]) // 待删除${subTable.classComment} ID
function setDeleteIds({
records,
}: {
records: ${simpleClassName}Api.${subSimpleClassName}[];
}) {
deleteIds.value = records.map((item) => item.id);
}
#end
/** 表格操作按钮的回调函数 */
@@ -213,7 +213,7 @@ const onRefresh = async ()=> {
type="primary"
danger
class="ml-2"
:disabled="showDeleteBatchBtn"
:disabled="isEmpty(deleteIds)"
@click="onDeleteBatch"
v-access:code="['${table.moduleName}:${simpleClassName_strikeCase}:delete']"
>