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

This commit is contained in:
puhui999 2025-05-20 16:34:40 +08:00
parent c320b525b5
commit 6982243370
11 changed files with 15 additions and 44 deletions

View File

@ -215,4 +215,11 @@ public interface BaseMapperX<T> extends MPJBaseMapper<T> {
return delete(new LambdaQueryWrapper<T>().eq(field, value));
}
default int deleteBatch(SFunction<T, ?> field, Collection<?> values) {
if (CollUtil.isEmpty(values)) {
return 0;
}
return delete(new LambdaQueryWrapper<T>().in(field, values));
}
}

View File

@ -28,7 +28,7 @@ public interface Demo03CourseErpMapper extends BaseMapperX<Demo03CourseDO> {
}
default int deleteByStudentIds(List<Long> studentIds) {
return delete(Demo03CourseDO::getStudentId, studentIds);
return deleteBatch(Demo03CourseDO::getStudentId, studentIds);
}
}

View File

@ -32,7 +32,7 @@ public interface Demo03GradeErpMapper extends BaseMapperX<Demo03GradeDO> {
}
default int deleteByStudentIds(List<Long> studentIds) {
return delete(Demo03GradeDO::getStudentId, studentIds);
return deleteBatch(Demo03GradeDO::getStudentId, studentIds);
}
}

View File

@ -23,7 +23,7 @@ public interface Demo03CourseInnerMapper extends BaseMapperX<Demo03CourseDO> {
}
default int deleteByStudentIds(List<Long> studentIds) {
return delete(Demo03CourseDO::getStudentId, studentIds);
return deleteBatch(Demo03CourseDO::getStudentId, studentIds);
}
}

View File

@ -23,7 +23,7 @@ public interface Demo03GradeInnerMapper extends BaseMapperX<Demo03GradeDO> {
}
default int deleteByStudentIds(List<Long> studentIds) {
return delete(Demo03GradeDO::getStudentId, studentIds);
return deleteBatch(Demo03GradeDO::getStudentId, studentIds);
}
}

View File

@ -23,7 +23,7 @@ public interface Demo03CourseNormalMapper extends BaseMapperX<Demo03CourseDO> {
}
default int deleteByStudentIds(List<Long> studentIds) {
return delete(Demo03CourseDO::getStudentId, studentIds);
return deleteBatch(Demo03CourseDO::getStudentId, studentIds);
}
}

View File

@ -23,7 +23,7 @@ public interface Demo03GradeNormalMapper extends BaseMapperX<Demo03GradeDO> {
}
default int deleteByStudentIds(List<Long> studentIds) {
return delete(Demo03GradeDO::getStudentId, studentIds);
return deleteBatch(Demo03GradeDO::getStudentId, studentIds);
}
}

View File

@ -129,16 +129,12 @@ public class Demo03StudentErpServiceImpl implements Demo03StudentErpService {
@Override
public void deleteDemo03Course(Long id) {
// 校验存在
validateDemo03CourseExists(id);
// 删除
demo03CourseErpMapper.deleteById(id);
}
@Override
public void deleteDemo03CourseListByIds(List<Long> ids) {
// 校验存在
validateDemo03CourseExists(ids);
// 删除
demo03CourseErpMapper.deleteByIds(ids);
}
@ -154,13 +150,6 @@ public class Demo03StudentErpServiceImpl implements Demo03StudentErpService {
}
}
private void validateDemo03CourseExists(List<Long> ids) {
List<Demo03CourseDO> list = demo03CourseErpMapper.selectByIds(ids);
if (CollUtil.isEmpty(list) || list.size() != ids.size()) {
throw exception(DEMO03_COURSE_NOT_EXISTS);
}
}
private void deleteDemo03CourseByStudentId(Long studentId) {
demo03CourseErpMapper.deleteByStudentId(studentId);
}
@ -198,16 +187,12 @@ public class Demo03StudentErpServiceImpl implements Demo03StudentErpService {
@Override
public void deleteDemo03Grade(Long id) {
// 校验存在
validateDemo03GradeExists(id);
// 删除
demo03GradeErpMapper.deleteById(id);
}
@Override
public void deleteDemo03GradeListByIds(List<Long> ids) {
// 校验存在
validateDemo03GradeExists(ids);
// 删除
demo03GradeErpMapper.deleteByIds(ids);
}
@ -223,13 +208,6 @@ public class Demo03StudentErpServiceImpl implements Demo03StudentErpService {
}
}
private void validateDemo03GradeExists(List<Long> ids) {
List<Demo03GradeDO> list = demo03GradeErpMapper.selectByIds(ids);
if (CollUtil.isEmpty(list) || list.size() != ids.size()) {
throw exception(DEMO03_GRADE_NOT_EXISTS);
}
}
private void deleteDemo03GradeByStudentId(Long studentId) {
demo03GradeErpMapper.deleteByStudentId(studentId);
}

View File

@ -77,8 +77,8 @@ public class ${table.className}DO extends BaseDO {
private ${column.javaType} ${column.javaField};
#end
#end
## 特殊:主子表专属逻辑(非 ERP 模式)
## TODO @puhui999这里空行看看会不会多了一个哈
#if ( $voType == 20 && $subTables && $subTables.size() > 0 && $table.templateType != 11 )
#foreach ($subTable in $subTables)
#set ($index = $foreach.count - 1)

View File

@ -56,7 +56,7 @@ public interface ${subTable.className}Mapper extends BaseMapperX<${subTable.clas
#if ( $table.templateType != 2 && $deleteBatchEnable)
default int deleteBy${SubJoinColumnName}s(List<${subJoinColumn.javaType}> ${subJoinColumn.javaField}s) {
return delete(${subTable.className}DO::get${SubJoinColumnName}, ${subJoinColumn.javaField}s);
return deleteBatch(${subTable.className}DO::get${SubJoinColumnName}, ${subJoinColumn.javaField}s);
}
#end

View File

@ -334,18 +334,13 @@ public class ${table.className}ServiceImpl implements ${table.className}Service
@Override
public void delete${subSimpleClassName}(${subPrimaryColumn.javaType} id) {
// 校验存在
validate${subSimpleClassName}Exists(id);
// 删除
${subClassNameVars.get($index)}Mapper.deleteById(id);
}
## TODO @puhui999批量删除的时候要不直接删除就不“校验存在”ps主子表删除的时候子表的处理也要处理下哈
#if ($deleteBatchEnable)
@Override
public void delete${subSimpleClassName}ListByIds(List<${subPrimaryColumn.javaType}> ids) {
// 校验存在
validate${subSimpleClassName}Exists(ids);
// 删除
${subClassNameVars.get($index)}Mapper.deleteByIds(ids);
}
@ -362,15 +357,6 @@ public class ${table.className}ServiceImpl implements ${table.className}Service
}
}
#if ($deleteBatchEnable)
private void validate${subSimpleClassName}Exists(List<${subPrimaryColumn.javaType}> ids) {
List<${subTable.className}DO> list = ${subClassNameVar}Mapper.selectByIds(ids);
if (CollUtil.isEmpty(list) || list.size() != ids.size()) {
throw exception(${simpleClassNameUnderlineCase.toUpperCase()}_NOT_EXISTS);
}
}
#end
## 情况二:非 MASTER_ERP 时,支持批量的新增、修改操作
#else
#if ( $subTable.subJoinMany)