refactor(system): 重构用户导入功能

- 新增 ExcelResult 类用于封装导入结果
- 修改 ExcelUtils 类,移除返回值类型
- 更新 UserController 中的用户导入接口,使用 ExcelResult 返回结果- 重构 UserImportListener 类,优化数据校验和处理逻辑
This commit is contained in:
Theo
2025-01-14 11:03:53 +08:00
parent 025a70b0cd
commit 9ff88c4a74
4 changed files with 155 additions and 75 deletions

View File

@@ -0,0 +1,43 @@
package com.youlai.boot.common.result;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* Excel导出响应结构体
*
* @author Theo
* @since 2025/1/14 11:46:08
*/
@Data
public class ExcelResult {
/**
* 响应码,来确定是否导入成功
*/
private String code;
/**
* 有效条数
*/
private Integer validCount;
/**
* 无效条数
*/
private Integer invalidCount;
/**
* 错误提示信息
*/
private List<String> messageList;
public ExcelResult() {
this.code = ResultCode.SUCCESS.getCode();
this.validCount = 0;
this.invalidCount = 0;
this.messageList = new ArrayList<>();
}
}

View File

@@ -1,7 +1,7 @@
package com.youlai.boot.common.util;
import com.alibaba.excel.EasyExcel;
import com.youlai.boot.common.base.BaseAnalysisEventListener;
import com.alibaba.excel.event.AnalysisEventListener;
import java.io.InputStream;
@@ -13,8 +13,7 @@ import java.io.InputStream;
*/
public class ExcelUtils {
public static <T> String importExcel(InputStream is, Class clazz, BaseAnalysisEventListener<T> listener) {
public static <T> void importExcel(InputStream is, Class clazz, AnalysisEventListener<T> listener) {
EasyExcel.read(is, clazz, listener).sheet().doRead();
return listener.getMsg();
}
}