From a3d222eaa8204c783a4b4efb0df0eeb38fc639db Mon Sep 17 00:00:00 2001
From: 钟日健 <5689795+arsn@user.noreply.gitee.com>
Date: Tue, 22 Feb 2022 21:11:14 +0800
Subject: [PATCH] 新增用户编辑,离职,异常,注销操作异步数据同步到群访群控

---
 src/main/java/org/springblade/modules/system/service/MyAsyncService.java    |   67 ++++++++++++++++++++--
 src/main/java/org/springblade/modules/system/controller/UserController.java |   53 +++++++++++++++++
 src/main/java/org/springblade/modules/system/dto/UserDTO.java               |    6 +
 src/main/resources/application-test.yml                                     |    2 
 4 files changed, 117 insertions(+), 11 deletions(-)

diff --git a/src/main/java/org/springblade/modules/system/controller/UserController.java b/src/main/java/org/springblade/modules/system/controller/UserController.java
index f64dc8f..93ab5c3 100644
--- a/src/main/java/org/springblade/modules/system/controller/UserController.java
+++ b/src/main/java/org/springblade/modules/system/controller/UserController.java
@@ -418,7 +418,12 @@
 					FtpUtil.sqlFileUpload(s);
 				}
 
-				userService.updateById(user);
+				boolean status = userService.updateById(user);
+				//qfqk 数据推送
+				if (status){
+					myAsyncService.updateUserByQfqk(user);
+				}
+
 				//内网更新
 				String s1 =
 					"update blade_user set status = " + "'" + user.getStatus() + "'"
@@ -428,17 +433,54 @@
 			}
 		}
 
+		int state = 0;
 		//如果是异常标记
 		if (null!=user.getExaminationType() && !user.getExaminationType().equals("")){
 			if (user.getExaminationType().equals("1")) {
 				//吊销保安证
 				user.setHold("3");
+				state = 1;
 			}
 		}
 
 		user.setPassword(user1.getPassword());
 		user.setUpdateTime(new Date());
-		userService.updateById(user);
+
+		//如果身份证号修改
+		if (!user.getCardid().equals(user1.getCardid())){
+			//账号,密码也修改
+			user.setAccount(user.getCardid());
+			//获取默认密码配置
+			user.setPassword(user.getCardid().substring(user.getCardid().length() - 6));
+			//加密
+			if (Func.isNotEmpty(user.getPassword())) {
+				user.setPassword(DigestUtil.encrypt(user.getPassword()));
+			}
+			state = 2;
+		}
+
+		//修改
+		boolean status = userService.updateById(user);
+
+		if (status) {
+			if (state == 2) {
+				UserDTO userDTO = new UserDTO();
+				userDTO.setAccount(user.getAccount());
+				userDTO.setCardid(user.getCardid());
+				userDTO.setOldCardid(user1.getCardid());
+				userDTO.setPassword(user.getPassword());
+				userDTO.setRealName(user.getRealName());
+				userDTO.setPhone(user.getPhone());
+				userDTO.setSex(user.getSex());
+				userDTO.setAvatar(user.getAvatar());
+				//推送qfqk
+				myAsyncService.updateUserByAccount(userDTO);
+			} else {
+				myAsyncService.updateUserByQfqk(user);
+			}
+		}
+
+
 		String rtime;
 		if (user.getRtime() == null) {
 			String s1 =
@@ -706,6 +748,13 @@
 		CacheUtil.clear(USER_CACHE);
 		List<String> list = Arrays.asList(ids.split(","));
 		list.forEach(id -> {
+			User user = userService.getById(id);
+			User user1 = new User();
+			user1.setId(user.getId());
+			user1.setCardid(user.getCardid());
+			user1.setIsDeleted(1);
+			//qfqk 同步
+			myAsyncService.deleteUserByQfqk(user1);
 			//内网同步
 			String s1 = "update blade_user set is_deleted = 1 where id = " + "'" + id + "'";
 			FtpUtil.sqlFileUpload(s1);
diff --git a/src/main/java/org/springblade/modules/system/dto/UserDTO.java b/src/main/java/org/springblade/modules/system/dto/UserDTO.java
index c548510..f3b4788 100644
--- a/src/main/java/org/springblade/modules/system/dto/UserDTO.java
+++ b/src/main/java/org/springblade/modules/system/dto/UserDTO.java
@@ -38,11 +38,13 @@
 
 	private Integer isDeleted;
 
-	private String examinationType;
+	private String examination_type;
 
-	private String examinationMx;
+	private String examination_mx;
 
 	private String jurisdiction;
 
 	private String cardid;
+
+	private String oldCardid;
 }
diff --git a/src/main/java/org/springblade/modules/system/service/MyAsyncService.java b/src/main/java/org/springblade/modules/system/service/MyAsyncService.java
index 637d6ed..8020619 100644
--- a/src/main/java/org/springblade/modules/system/service/MyAsyncService.java
+++ b/src/main/java/org/springblade/modules/system/service/MyAsyncService.java
@@ -20,18 +20,13 @@
 	 */
 	@Async
 	public void qfqkUserSave(User user) {
-//		System.out.println("进入异步方法----------------------");
-//		try {
-//			Thread.sleep(30000);
-//		} catch (InterruptedException e) {
-//			e.printStackTrace();
-//		}
 		String requestUrl = qfqkBaseApiUrl + "/blade-user/securitySaves";
 		UserDTO userDTO = new UserDTO();
 		userDTO.setAccount(user.getAccount());
 		userDTO.setCardid(user.getCardid());
 		userDTO.setPassword(user.getPassword());
 		userDTO.setSex(user.getSex());
+		userDTO.setAvatar(user.getAvatar());
 		userDTO.setStatus(user.getStatus());
 		userDTO.setPhone(user.getPhone());
 		userDTO.setIsDeleted(user.getIsDeleted());
@@ -45,4 +40,64 @@
 			e.printStackTrace();
 		}
 	}
+
+	/**
+	 * 用户信息修改
+	 * @param user
+	 */
+	@Async
+	public void updateUserByQfqk(User user) {
+		String requestUrl = qfqkBaseApiUrl + "/blade-user/updateBySecurtiy";
+		UserDTO userDTO = new UserDTO();
+		userDTO.setCardid(user.getCardid());
+		userDTO.setStatus(user.getStatus());
+		userDTO.setIsDeleted(user.getIsDeleted());
+		userDTO.setRealName(user.getRealName());
+		userDTO.setPhone(user.getPhone());
+		userDTO.setSex(user.getSex());
+		userDTO.setAvatar(user.getAvatar());
+		userDTO.setExamination_type(user.getExaminationType());
+		//装换为 json
+		JSONObject jsonObject = JSONObject.fromObject(userDTO);
+		//发送请求
+		try {
+			HttpClientUtils.httpPostWithjson(requestUrl,jsonObject.toString());
+		} catch (IOException e) {
+			e.printStackTrace();
+		}
+	}
+
+	/**
+	 * 保安员信息修改(账号,身份证,密码 修改)
+	 * @param user
+	 */
+	@Async
+	public void updateUserByAccount(UserDTO user) {
+		String requestUrl = qfqkBaseApiUrl + "/blade-user/updateUserByAccount";
+		//装换为 json
+		JSONObject jsonObject = JSONObject.fromObject(user);
+		//发送请求
+		try {
+			HttpClientUtils.httpPostWithjson(requestUrl,jsonObject.toString());
+		} catch (IOException e) {
+			e.printStackTrace();
+		}
+	}
+
+	/**
+	 * 删除用户
+	 * @param user
+	 */
+	@Async
+	public void deleteUserByQfqk(User user) {
+		String requestUrl = qfqkBaseApiUrl + "/blade-user/removeSecurity";
+		//装换为 json
+		JSONObject jsonObject = JSONObject.fromObject(user);
+		//发送请求
+		try {
+			HttpClientUtils.httpPostWithjson(requestUrl,jsonObject.toString());
+		} catch (IOException e) {
+			e.printStackTrace();
+		}
+	}
 }
diff --git a/src/main/resources/application-test.yml b/src/main/resources/application-test.yml
index ccd85d1..b0b7e51 100644
--- a/src/main/resources/application-test.yml
+++ b/src/main/resources/application-test.yml
@@ -50,7 +50,7 @@
   jsonUrl: D:\\anbao\\
   username: root
   password: ZHba@0112
-  qfqkBaseApiUrl : http://192.168.0.110:83
+  qfqkBaseApiUrl : http://192.168.0.198:83
 
 #第三方登陆
 social:

--
Gitblit v1.9.3