From 39e89336642b358f5e66f0a87e01248b96428ce1 Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Fri, 24 May 2024 17:23:00 +0800
Subject: [PATCH] 矛盾纠纷导入优化调整
---
src/main/java/org/springblade/modules/disputeRecord/service/IDisputeRecordService.java | 2 +-
src/main/java/org/springblade/modules/disputeRecord/controller/DisputeRecordController.java | 11 +++++++----
src/main/java/org/springblade/modules/disputeRecord/service/impl/DisputeRecordServiceImpl.java | 35 ++++++++++++++++++++++++++++++-----
3 files changed, 38 insertions(+), 10 deletions(-)
diff --git a/src/main/java/org/springblade/modules/disputeRecord/controller/DisputeRecordController.java b/src/main/java/org/springblade/modules/disputeRecord/controller/DisputeRecordController.java
index ec84a7b..b97ba65 100644
--- a/src/main/java/org/springblade/modules/disputeRecord/controller/DisputeRecordController.java
+++ b/src/main/java/org/springblade/modules/disputeRecord/controller/DisputeRecordController.java
@@ -10,9 +10,11 @@
import javax.validation.Valid;
import org.springblade.core.excel.util.ExcelUtil;
+import org.springblade.core.log.logger.BladeLogger;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.jackson.JsonUtil;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.modules.disputeRecord.excel.DisputeRecordExcel;
@@ -41,6 +43,7 @@
public class DisputeRecordController {
private final IDisputeRecordService disputeRecordService;
+ private final BladeLogger bladeLogger;
/**
* 矛盾纠纷记录表 详情
@@ -144,11 +147,11 @@
*/
@PostMapping("import-disputeRecord")
@ApiOperationSupport(order = 10)
- @ApiOperation(value = "导入矛盾纠纷记录表", notes = "传入excel")
+ @ApiOperation(value = "批量导入矛盾纠纷记录", notes = "传入excel")
public R importDisputeRecord(MultipartFile file, Integer isCovered) {
- DisputeRecordImporter disputeRecordImporter = new DisputeRecordImporter(disputeRecordService, 1 == 1);
- ExcelUtil.save(file, disputeRecordImporter, DisputeRecordExcel.class);
- return R.success("操作成功");
+ bladeLogger.info("批量导入矛盾纠纷记录", JsonUtil.toJson(isCovered));
+ String result = disputeRecordService.importDisputeRecord(ExcelUtil.read(file, DisputeRecordExcel.class),isCovered==1);
+ return R.data(200, result, null);
}
/**
diff --git a/src/main/java/org/springblade/modules/disputeRecord/service/IDisputeRecordService.java b/src/main/java/org/springblade/modules/disputeRecord/service/IDisputeRecordService.java
index 6aa2564..1428a82 100644
--- a/src/main/java/org/springblade/modules/disputeRecord/service/IDisputeRecordService.java
+++ b/src/main/java/org/springblade/modules/disputeRecord/service/IDisputeRecordService.java
@@ -45,7 +45,7 @@
* 矛盾纠纷事件数据导入类
* @author Chill
*/
- void importDisputeRecord(List<DisputeRecordExcel> data, Boolean isCovered);
+ String importDisputeRecord(List<DisputeRecordExcel> data, Boolean isCovered);
/**
* 导出矛盾纠纷记录表
diff --git a/src/main/java/org/springblade/modules/disputeRecord/service/impl/DisputeRecordServiceImpl.java b/src/main/java/org/springblade/modules/disputeRecord/service/impl/DisputeRecordServiceImpl.java
index 9001447..47c54d5 100644
--- a/src/main/java/org/springblade/modules/disputeRecord/service/impl/DisputeRecordServiceImpl.java
+++ b/src/main/java/org/springblade/modules/disputeRecord/service/impl/DisputeRecordServiceImpl.java
@@ -85,8 +85,18 @@
*/
@Override
@Transactional(rollbackFor = Exception.class)
- public void importDisputeRecord(List<DisputeRecordExcel> data, Boolean isCovered) {
+ public String importDisputeRecord(List<DisputeRecordExcel> data, Boolean isCovered) {
+ int totalNum = data.size();
+ int importNum = 0;
+ int updateNum = 0;
+ int errorNum = 0;
for (DisputeRecordExcel disputeRecordExcel : data) {
+ // 判断地址,时间
+ if (Strings.isBlank(disputeRecordExcel.getAddress())
+ ) {
+ errorNum++;
+ continue;
+ }
// 获取转换数据对象
DisputeRecordEntity disputeRecordEntity
= Objects.requireNonNull(BeanUtil.copy(disputeRecordExcel, DisputeRecordEntity.class));
@@ -158,15 +168,30 @@
// 查询
List<DisputeRecordEntity> list = list(queryWrapper);
if (list.size()>0){
- // 更新
- disputeRecordEntity.setId(list.get(0).getId());
- // 更新
- updateById(disputeRecordEntity);
+ updateNum++;
+ if (isCovered) {
+ // 更新
+ disputeRecordEntity.setId(list.get(0).getId());
+ // 更新
+ updateById(disputeRecordEntity);
+ importNum++;
+ }
}else {
// 插入
save(disputeRecordEntity);
+ importNum ++;
}
}
+ StringBuilder builder = new StringBuilder("导入完成!");
+ builder.append("其中本次表格共有 ").append(totalNum).append(" 条数据,")
+ .append("成功导入 ").append(importNum).append(" 条数据。");
+ if (updateNum>0) {
+ builder.append("其中有 ").append(updateNum).append(" 条数据已存在。");
+ }
+ if (errorNum>0){
+ builder.append("共有 ").append(errorNum).append(" 条数据由于无地址信息未导入!");
+ }
+ return builder.toString();
}
/**
--
Gitblit v1.9.3