优化导入接口逻辑,减少重复代码

This commit is contained in:
阿沐 2024-07-30 10:49:57 +08:00
parent 6e7c58a09f
commit 2bd17d2996

View File

@ -8,7 +8,6 @@ import lombok.SneakyThrows;
import net.maku.framework.common.constant.Constant; import net.maku.framework.common.constant.Constant;
import net.maku.framework.common.excel.ExcelFinishCallBack; import net.maku.framework.common.excel.ExcelFinishCallBack;
import net.maku.framework.common.exception.ServerException; import net.maku.framework.common.exception.ServerException;
import net.maku.framework.common.utils.DateUtils;
import net.maku.framework.common.utils.ExcelUtils; import net.maku.framework.common.utils.ExcelUtils;
import net.maku.framework.common.utils.PageResult; import net.maku.framework.common.utils.PageResult;
import net.maku.framework.mybatis.service.impl.BaseServiceImpl; import net.maku.framework.mybatis.service.impl.BaseServiceImpl;
@ -30,7 +29,6 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -229,26 +227,15 @@ public class SysUserServiceImpl extends BaseServiceImpl<SysUserDao, SysUserEntit
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void importByExcel(MultipartFile file, String password) { public void importByExcel(MultipartFile file, String password) {
ExcelUtils.readAnalysis(file, SysUserExcelVO.class, new ExcelFinishCallBack<>() {
ExcelUtils.readAnalysis(file, SysUserExcelVO.class, new ExcelFinishCallBack<SysUserExcelVO>() {
@Override
public void doAfterAllAnalysed(List<SysUserExcelVO> result) {
saveUser(result);
}
@Override @Override
public void doSaveBatch(List<SysUserExcelVO> result) { public void doSaveBatch(List<SysUserExcelVO> result) {
saveUser(result);
}
private void saveUser(List<SysUserExcelVO> result) {
ExcelUtils.parseDict(result); ExcelUtils.parseDict(result);
List<SysUserEntity> sysUserEntities = SysUserConvert.INSTANCE.convertListEntity(result); List<SysUserEntity> userList = SysUserConvert.INSTANCE.convertListEntity(result);
sysUserEntities.forEach(user -> user.setPassword(password)); userList.forEach(user -> user.setPassword(password));
saveBatch(sysUserEntities); saveBatch(userList);
} }
}); });
} }
@Override @Override
@ -258,7 +245,7 @@ public class SysUserServiceImpl extends BaseServiceImpl<SysUserDao, SysUserEntit
List<SysUserExcelVO> userExcelVOS = SysUserConvert.INSTANCE.convert2List(list); List<SysUserExcelVO> userExcelVOS = SysUserConvert.INSTANCE.convert2List(list);
transService.transBatch(userExcelVOS); transService.transBatch(userExcelVOS);
// 写到浏览器打开 // 写到浏览器打开
ExcelUtils.excelExport(SysUserExcelVO.class, "system_user_excel" + DateUtils.format(new Date()), null, userExcelVOS); ExcelUtils.excelExport(SysUserExcelVO.class, "用户管理", null, userExcelVOS);
} }
} }