From 23f449af3694358ee39b2c4441ef6327376eeef4 Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Thu, 28 Dec 2023 11:25:03 +0800
Subject: [PATCH] e 呼即办新增地图选点地址及数据处理,住户数据处理

---
 src/main/java/org/springblade/modules/system/mapper/UserMapper.xml                 |    6 ++
 src/main/java/org/springblade/modules/task/service/impl/ECallEventServiceImpl.java |   21 ++++++
 src/main/java/org/springblade/modules/house/mapper/HouseholdMapper.java            |    6 ++
 src/main/java/org/springblade/modules/task/service/IECallEventService.java         |    4 +
 src/main/java/org/springblade/modules/house/controller/HouseholdController.java    |   10 +++
 src/main/java/org/springblade/modules/task/entity/ECallEventEntity.java            |    8 ++
 src/main/java/org/springblade/modules/house/mapper/HouseholdMapper.xml             |    9 +++
 src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java     |   10 +++
 src/main/java/org/springblade/modules/house/service/IHouseholdService.java         |    6 ++
 src/main/java/org/springblade/modules/system/mapper/UserMapper.java                |    7 ++
 src/main/java/org/springblade/modules/system/service/IUserService.java             |    7 ++
 src/main/java/org/springblade/modules/house/service/impl/HouseholdServiceImpl.java |   48 ++++++++++++++++
 src/main/java/org/springblade/modules/task/controller/ECallEventController.java    |    9 +++
 13 files changed, 150 insertions(+), 1 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 8bc331a..0188d62 100644
--- a/src/main/java/org/springblade/modules/house/controller/HouseholdController.java
+++ b/src/main/java/org/springblade/modules/house/controller/HouseholdController.java
@@ -211,4 +211,14 @@
 	}
 
 
+	/**
+	 * 住户业主信息处理,将业主人员插入到用户表
+	 * @return
+	 */
+	@GetMapping("/userHandle")
+	public R userHandle() {
+		return R.data(householdService.userHandle());
+	}
+
+
 }
diff --git a/src/main/java/org/springblade/modules/house/mapper/HouseholdMapper.java b/src/main/java/org/springblade/modules/house/mapper/HouseholdMapper.java
index 7290897..24de1df 100644
--- a/src/main/java/org/springblade/modules/house/mapper/HouseholdMapper.java
+++ b/src/main/java/org/springblade/modules/house/mapper/HouseholdMapper.java
@@ -100,4 +100,10 @@
     List<Map<String, Object>> getHouseHoldStatistics(String code, Long userId,String roleType);
 
 	List<Map<String, Object>>  getHouseHoldStatisticsAge(String code, Long userId,String roleType);
+
+	/**
+	 * 查询所有未入库的业主信息
+	 * @return
+	 */
+    List<HouseholdEntity> getNotInsertUserHousehold();
 }
diff --git a/src/main/java/org/springblade/modules/house/mapper/HouseholdMapper.xml b/src/main/java/org/springblade/modules/house/mapper/HouseholdMapper.xml
index 9685d04..0396abc 100644
--- a/src/main/java/org/springblade/modules/house/mapper/HouseholdMapper.xml
+++ b/src/main/java/org/springblade/modules/house/mapper/HouseholdMapper.xml
@@ -430,5 +430,14 @@
         GROUP BY age
     </select>
 
+    <!--查询所有未入库的业主信息-->
+    <select id="getNotInsertUserHousehold" resultType="org.springblade.modules.house.entity.HouseholdEntity">
+        select jh.* from jczz_household jh
+        where jh.is_deleted = 0
+        and jh.relationship = 1
+        and jh.associated_user_id is null
+        and jh.phone_number !=''
+        and length(jh.name)&lt;=12
+    </select>
 
 </mapper>
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 bcf9e6c..f7d1f12 100644
--- a/src/main/java/org/springblade/modules/house/service/IHouseholdService.java
+++ b/src/main/java/org/springblade/modules/house/service/IHouseholdService.java
@@ -84,4 +84,10 @@
     Object getHouseholdOtherInfo(HouseholdVO household);
 
 	Object getHouseHoldStatistics(String code, String roleType);
+
+	/**
+	 * 住户业主信息处理,将业主人员插入到用户表
+	 * @return
+	 */
+    Object userHandle();
 }
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 135c9dc..3c0870b 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
@@ -306,4 +306,52 @@
 		}
 
 	}
+
+	/**
+	 * 住户业主信息处理,将业主人员插入到用户表
+	 * @return
+	 */
+	@Override
+	public Object userHandle() {
+		// 查询所有未入库的业主信息
+		List<HouseholdEntity> householdEntityList = baseMapper.getNotInsertUserHousehold();
+		// 批量入用户库
+		for (HouseholdEntity householdEntity : householdEntityList) {
+			// 根据手机号查询对应账号和手机号的用户信息
+			List<User> userList = userService.getUserListByPhoneOrAccount(householdEntity.getPhoneNumber());
+			if (userList.size()>0){
+				User user = userList.get(0);
+				householdEntity.setAssociatedUserId(user.getId());
+				// 更新
+				updateById(householdEntity);
+				// 判断用户是否包含了居民角色,不包含则需更新
+				if (!user.getRoleId().contains("1717429059648606209")){
+					user.setRoleId(user.getRoleId() + ",1717429059648606209");
+					//更新
+					userService.updateById(user);
+				}
+			}else {
+				// 插入用户信息
+				//如果用户不存在,则新增一个用户
+				User newUser = new User();
+				newUser.setAccount(householdEntity.getPhoneNumber());
+				newUser.setPhone(householdEntity.getPhoneNumber());
+				newUser.setName(householdEntity.getName());
+				newUser.setRealName(householdEntity.getName());
+				// 社区群众部门
+				newUser.setDeptId("1727979636479037441");
+				// 目前暂定居民角色,
+				newUser.setRoleId("1717429059648606209");
+				//默认密码为 123456
+				newUser.setPassword("123456");
+				// 用户新增
+				boolean submit = userService.submit(newUser);
+				// 更新绑定用户信息
+				householdEntity.setAssociatedUserId(newUser.getId());
+				// 更新
+				updateById(householdEntity);
+			}
+		}
+		return null;
+	}
 }
diff --git a/src/main/java/org/springblade/modules/system/mapper/UserMapper.java b/src/main/java/org/springblade/modules/system/mapper/UserMapper.java
index 9ccec62..9d86d74 100644
--- a/src/main/java/org/springblade/modules/system/mapper/UserMapper.java
+++ b/src/main/java/org/springblade/modules/system/mapper/UserMapper.java
@@ -75,4 +75,11 @@
 	 * @return
 	 */
     List<User> searchUserByDistrictId(String districtId);
+
+	/**
+	 * 根据手机号查询对应账号和手机号的用户信息
+	 * @param phoneNumber
+	 * @return
+	 */
+	List<User> getUserListByPhoneOrAccount(@Param("phoneNumber") String phoneNumber);
 }
diff --git a/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml b/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
index cc8db74..b808f9c 100644
--- a/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
+++ b/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
@@ -101,4 +101,10 @@
 
     </select>
 
+    <!--根据手机号查询对应账号和手机号的用户信息-->
+    <select id="getUserListByPhoneOrAccount" resultType="org.springblade.modules.system.entity.User">
+        SELECT * FROM blade_user where is_deleted = 0
+        and (account = #{phoneNumber} or phone = #{phoneNumber})
+    </select>
+
 </mapper>
diff --git a/src/main/java/org/springblade/modules/system/service/IUserService.java b/src/main/java/org/springblade/modules/system/service/IUserService.java
index ae53be6..ffccafd 100644
--- a/src/main/java/org/springblade/modules/system/service/IUserService.java
+++ b/src/main/java/org/springblade/modules/system/service/IUserService.java
@@ -220,4 +220,11 @@
 	 * @return
 	 */
 	List<User> searchUserByDistrictId(String districtId);
+
+	/**
+	 * 根据手机号查询对应账号和手机号的用户信息
+	 * @param phoneNumber
+	 * @return
+	 */
+    List<User> getUserListByPhoneOrAccount(String phoneNumber);
 }
diff --git a/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java b/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java
index 12b4885..64ad12b 100644
--- a/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java
+++ b/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java
@@ -456,4 +456,14 @@
 	public List<User> searchUserByDistrictId(String districtId) {
 		return baseMapper.searchUserByDistrictId( districtId);
 	}
+
+	/**
+	 * 根据手机号查询对应账号和手机号的用户信息
+	 * @param phoneNumber
+	 * @return
+	 */
+	@Override
+	public List<User> getUserListByPhoneOrAccount(String phoneNumber) {
+		return baseMapper.getUserListByPhoneOrAccount( phoneNumber);
+	}
 }
diff --git a/src/main/java/org/springblade/modules/task/controller/ECallEventController.java b/src/main/java/org/springblade/modules/task/controller/ECallEventController.java
index 6aeef6b..86be4c6 100644
--- a/src/main/java/org/springblade/modules/task/controller/ECallEventController.java
+++ b/src/main/java/org/springblade/modules/task/controller/ECallEventController.java
@@ -105,4 +105,13 @@
 	}
 
 
+	/**
+	 * e呼即办数据处理
+	 */
+	@GetMapping("/dataHandle")
+	public R dataHandle() {
+		return R.data(eCallEventService.dataHandle());
+	}
+
+
 }
diff --git a/src/main/java/org/springblade/modules/task/entity/ECallEventEntity.java b/src/main/java/org/springblade/modules/task/entity/ECallEventEntity.java
index 5cbda36..79ef383 100644
--- a/src/main/java/org/springblade/modules/task/entity/ECallEventEntity.java
+++ b/src/main/java/org/springblade/modules/task/entity/ECallEventEntity.java
@@ -86,11 +86,19 @@
 	 */
 	@ApiModelProperty(value = "事发地经度")
 	private String lng;
+
 	/**
 	 * 事发地纬度
 	 */
 	@ApiModelProperty(value = "事发地纬度")
 	private String lat;
+
+	/**
+	 * 事发位置地址
+	 */
+	@ApiModelProperty(value = "事发位置地址")
+	private String address;
+
 	/**
 	 * 发生时间
 	 */
diff --git a/src/main/java/org/springblade/modules/task/service/IECallEventService.java b/src/main/java/org/springblade/modules/task/service/IECallEventService.java
index d6a3ded..e4d569f 100644
--- a/src/main/java/org/springblade/modules/task/service/IECallEventService.java
+++ b/src/main/java/org/springblade/modules/task/service/IECallEventService.java
@@ -40,4 +40,8 @@
 	IPage<ECallEventVO> selectECallEventPage(IPage<ECallEventVO> page, ECallEventVO eCallEvent);
 
 
+	/**
+	 * e呼即办数据处理
+	 */
+    Object dataHandle();
 }
diff --git a/src/main/java/org/springblade/modules/task/service/impl/ECallEventServiceImpl.java b/src/main/java/org/springblade/modules/task/service/impl/ECallEventServiceImpl.java
index a126dcc..17ce3ed 100644
--- a/src/main/java/org/springblade/modules/task/service/impl/ECallEventServiceImpl.java
+++ b/src/main/java/org/springblade/modules/task/service/impl/ECallEventServiceImpl.java
@@ -17,6 +17,7 @@
 package org.springblade.modules.task.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.apache.logging.log4j.util.Strings;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.modules.system.entity.Dept;
 import org.springblade.modules.system.service.IDeptService;
@@ -27,6 +28,8 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+
+import java.util.List;
 
 /**
  * e呼即办表 服务实现类
@@ -49,5 +52,21 @@
 		return page.setRecords(baseMapper.selectECallEventPage(page, eCallEvent));
 	}
 
-
+	/**
+	 * e呼即办数据处理
+	 */
+	@Override
+	public Object dataHandle() {
+		List<ECallEventEntity> list = list();
+		// 遍历
+		for (ECallEventEntity eCallEventEntity : list) {
+			if (!Strings.isBlank(eCallEventEntity.getLocation())){
+				String[] split = eCallEventEntity.getLocation().split(",");
+				eCallEventEntity.setAddress(split[2]);
+				// 更新
+				updateById(eCallEventEntity);
+			}
+		}
+		return null;
+	}
 }

--
Gitblit v1.9.3