From 5bdf555469ad4cae4059f23dbb1692b9b0336350 Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Wed, 15 May 2024 10:47:45 +0800
Subject: [PATCH] 住户导入调整
---
src/main/java/org/springblade/modules/house/controller/HouseholdController.java | 5 ++---
src/main/java/org/springblade/modules/house/service/IHouseholdService.java | 2 +-
src/main/resources/application-test.yml | 2 +-
src/main/java/org/springblade/modules/house/service/impl/HouseholdServiceImpl.java | 17 ++++++++++++++---
4 files changed, 18 insertions(+), 8 deletions(-)
diff --git a/src/main/java/org/springblade/modules/house/controller/HouseholdController.java b/src/main/java/org/springblade/modules/house/controller/HouseholdController.java
index 599511a..9006d60 100644
--- a/src/main/java/org/springblade/modules/house/controller/HouseholdController.java
+++ b/src/main/java/org/springblade/modules/house/controller/HouseholdController.java
@@ -231,9 +231,8 @@
@ApiOperationSupport(order = 12)
@ApiOperation(value = "导入住户", notes = "传入excel")
public R importUser(MultipartFile file, Integer isCovered) {
- HouseHoldImporter houseHoldImporter = new HouseHoldImporter(householdService, isCovered==1);
- ExcelUtil.save(file, houseHoldImporter, ImportHouseholdExcel.class);
- return R.success("操作成功");
+ String data = householdService.importUserHouseHold(ExcelUtil.read(file, ImportHouseholdExcel.class),isCovered==1);
+ return R.data(200,data,null);
}
/**
diff --git a/src/main/java/org/springblade/modules/house/service/IHouseholdService.java b/src/main/java/org/springblade/modules/house/service/IHouseholdService.java
index fdd3b66..eaea7f4 100644
--- a/src/main/java/org/springblade/modules/house/service/IHouseholdService.java
+++ b/src/main/java/org/springblade/modules/house/service/IHouseholdService.java
@@ -73,7 +73,7 @@
List<ImportHouseholdExcel> export(HouseholdVO household);
- void importUserHouseHold(List<ImportHouseholdExcel> data, Boolean isCovered);
+ String importUserHouseHold(List<ImportHouseholdExcel> data, Boolean isCovered);
Integer statistics(Long userId,String neiCode,Integer confirmFlag);
diff --git a/src/main/java/org/springblade/modules/house/service/impl/HouseholdServiceImpl.java b/src/main/java/org/springblade/modules/house/service/impl/HouseholdServiceImpl.java
index 51e959c..905645a 100644
--- a/src/main/java/org/springblade/modules/house/service/impl/HouseholdServiceImpl.java
+++ b/src/main/java/org/springblade/modules/house/service/impl/HouseholdServiceImpl.java
@@ -313,9 +313,12 @@
* @param isCovered
*/
@Override
-// @Transactional(rollbackFor = Exception.class)
- public void importUserHouseHold(List<ImportHouseholdExcel> data, Boolean isCovered) {
+ @Transactional(rollbackFor = Exception.class)
+ public String importUserHouseHold(List<ImportHouseholdExcel> data, Boolean isCovered) {
IHouseService houseService = SpringUtils.getBean(IHouseService.class);
+ int totalNum = data.size();
+ int importNum = 0;
+ int updateNum = 0;
int errorNum = 0;
for (ImportHouseholdExcel houseHoldExcel : data) {
HouseholdEntity householdEntity = Objects.requireNonNull(BeanUtil.copy(houseHoldExcel, HouseholdEntity.class));
@@ -395,22 +398,30 @@
if (one==null){
// 新增
this.save(householdEntity);
+ importNum++;
// 处理标签
handleLabel(householdEntity,houseHoldExcel);
}else {
+ updateNum++;
if (isCovered){
// 覆盖更新
householdEntity.setId(one.getId());
// 更新
updateById(householdEntity);
+ importNum++;
// 处理标签
handleLabel(householdEntity,houseHoldExcel);
}
}
}
+ StringBuilder builder = new StringBuilder("导入完成!");
+ builder.append("其中本次表格共有 ").append(totalNum).append(" 条数据,")
+ .append("成功导入 ").append(importNum).append(" 条数据,")
+ .append("其中有 ").append(updateNum).append(" 条数据已存在。");
if (errorNum>0){
- throw new ServiceException("导入完成,其中共有 " + errorNum + " 条数据由于无姓名或手机号信息未导入!");
+ builder.append("共有 ").append(errorNum).append(" 条数据由于无姓名或手机号信息未导入!");
}
+ return builder.toString();
}
/**
diff --git a/src/main/resources/application-test.yml b/src/main/resources/application-test.yml
index 35a7d54..9623573 100644
--- a/src/main/resources/application-test.yml
+++ b/src/main/resources/application-test.yml
@@ -7,7 +7,7 @@
host: 127.0.0.1
port: 6379
password:
- database: 0
+ database: 10
ssl: false
##redis 集群环境配置
#cluster:
--
Gitblit v1.9.3