From ba57740f33eacb8a1d514093633e8179e6100815 Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Fri, 24 May 2024 19:16:53 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 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 ++++++++++++++++++++++++++++++-----
 src/main/java/org/springblade/modules/house/service/impl/HouseholdServiceImpl.java             |    4 +---
 4 files changed, 39 insertions(+), 13 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();
 	}
 
 	/**
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 47933d1..62d4377 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
@@ -346,7 +346,6 @@
 			HouseholdEntity householdEntity = Objects.requireNonNull(BeanUtil.copy(houseHoldExcel, HouseholdEntity.class));
 			// 判断姓名,手机号
 			if (Strings.isBlank(householdEntity.getName())
-				|| Strings.isBlank(householdEntity.getPhoneNumber())
 				|| Strings.isBlank(householdEntity.getHouseCode())
 			) {
 				errorNum++;
@@ -356,7 +355,6 @@
 			QueryWrapper<HouseholdEntity> wrapper = new QueryWrapper<>();
 			wrapper.eq("house_code", householdEntity.getHouseCode())
 				.eq("is_deleted", 0)
-				.eq("phone_number", householdEntity.getPhoneNumber())
 				.eq("name", householdEntity.getName());
 			HouseholdEntity one = this.getOne(wrapper);
 			// 与角色关系
@@ -470,7 +468,7 @@
 			builder.append("其中有 ").append(updateNum).append(" 条数据已存在。");
 		}
 		if (errorNum>0){
-			builder.append("共有 ").append(errorNum).append(" 条数据由于无姓名或手机号或门牌地址编码信息未导入!");
+			builder.append("共有 ").append(errorNum).append(" 条数据由于无姓名或门牌地址编码信息未导入!");
 		}
 		return builder.toString();
 	}

--
Gitblit v1.9.3