From 644ed3e30bbee9a417dfbe649f2a72df25a7efb1 Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Wed, 18 May 2022 10:10:33 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
src/main/java/org/springblade/modules/FTP/MyAsyncService.java | 104 ++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 96 insertions(+), 8 deletions(-)
diff --git a/src/main/java/org/springblade/modules/FTP/MyAsyncService.java b/src/main/java/org/springblade/modules/FTP/MyAsyncService.java
index 5116204..93de9ae 100644
--- a/src/main/java/org/springblade/modules/FTP/MyAsyncService.java
+++ b/src/main/java/org/springblade/modules/FTP/MyAsyncService.java
@@ -2,14 +2,20 @@
import org.json.JSONArray;
import org.json.JSONObject;
+import org.springblade.common.utils.DesensitizedUtil;
import org.springblade.common.utils.InvestigateUtil;
+import org.springblade.modules.experience.entity.Experience;
+import org.springblade.modules.experience.service.IExperienceService;
+import org.springblade.modules.system.entity.Dept;
import org.springblade.modules.system.entity.User;
+import org.springblade.modules.system.service.IDeptService;
import org.springblade.modules.system.service.IUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import javax.annotation.PostConstruct;
+import java.text.SimpleDateFormat;
import java.util.Date;
/**
@@ -21,13 +27,49 @@
@Autowired
private IUserService userService;
+ @Autowired
+ private IDeptService iDeptService;
+ @Autowired
+ private IExperienceService experienceService;
/**
* FTP
* @param s sql语句
*/
+ @Async
public void FTP(String s) {
+ FtpUtil.sqlFileUpload(s);
+ }
+
+ /**
+ * FTP 审查结果推送
+ * @param s sql语句
+ */
+ @Async
+ public void FTP1(String s) {
+ //为防止外网尚未更新完成,休眠2秒发送第一次
+ try {
+ Thread.sleep(2);
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+ FtpUtil.sqlFileUpload(s);
+ FTP2(s);
+ }
+
+ /**
+ * FTP 审查结果推送
+ * @param s sql语句
+ */
+ @Async
+ public void FTP2(String s) {
+ //休眠30s,再次发送一次
+ try {
+ Thread.sleep(30);
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
FtpUtil.sqlFileUpload(s);
}
@@ -38,22 +80,21 @@
*/
@Async
public void checkUserExamineByCardNo(User user0){
- User byId = userService.getById(user0.getId());
//如果是保安员
if (user0.getRoleId().equals("1412226235153731586")){
- //读取身份证号
- String cardid = user0.getCardid();
//创建用户对象
User user = new User();
- user.setId(user.getId());
+ user.setId(user0.getId());
//远程调用接口
String body = InvestigateUtil.httpGetOne(user0.getCardid());
+ System.out.println("user0 = " + user0.getCardid());
JSONObject jsonObject = new JSONObject(body);
Object data = jsonObject.get("data");
JSONObject jsonData = new JSONObject(data.toString());
JSONArray res = jsonData.getJSONArray("res");
//设置审核时间
user.setAuditTime(new Date());
+ //如果有结果返回
if (res.length() == 0) {
//没有数据正常
user.setExaminationType("0");
@@ -67,7 +108,7 @@
) {
user.setExaminationMx(res.getJSONObject(i).get("zdrylbjh").toString());
//更新用户数据
- userService.updateById(user);
+// userService.updateById(user);
break;
}
if (res.getJSONObject(i).get("zdryxlmc").toString() != null
@@ -76,7 +117,7 @@
) {
user.setExaminationMx(res.getJSONObject(i).get("zdryxlmc").toString());
//更新用户数据
- userService.updateById(user);
+// userService.updateById(user);
break;
}
if (res.getJSONObject(i).get("ztrylx").toString() != null
@@ -85,7 +126,7 @@
) {
user.setExaminationMx(res.getJSONObject(i).get("ztrylx").toString());
//更新用户数据
- userService.updateById(user);
+// userService.updateById(user);
break;
}
count++;
@@ -93,14 +134,61 @@
if (count==res.length()){
//更新用户数据,设为正常
user.setExaminationType("0");
- userService.updateById(user);
+// userService.updateById(user);
}
}
}
//更新用户数据
userService.updateById(user);
+ //同时更新外网用户信息
+ String s1 = "update blade_user set examination_type = " + user.getExaminationType() +
+ ",update_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(user.getUpdateTime()) + "'" +
+ " where id = " + "'" + user.getId() + "'";
+ FTP1(s1);
}
}
+ /**
+ * 异步新增用户从业记录
+ * @param user
+ */
+ @Async
+ public void insertExperience(User user) {
+ //根据公司名查询单位
+ Dept dept = iDeptService.getById(user.getDeptId());
+ Experience experience = new Experience();
+ experience.setCompanyname(dept.getDeptName());
+ //新增
+ if (null != user.getRtime()) {
+ experience.setEntrytime(user.getRtime());
+ } else {
+ experience.setEntrytime(new Date());
+ }
+ experience.setDeparturetime(new Date());
+ experience.setName(user.getRealName());
+ if (null != user.getReasonForLeav() && !user.getReasonForLeav().equals("")) {
+ experience.setLeaving(user.getReasonForLeav());
+ }
+ experience.setCardid(user.getCardid());
+ experience.setSecurityid(user.getId().toString());
+ //新增
+ experienceService.save(experience);
+
+ // 身份证号脱敏
+ String cardid = DesensitizedUtil.desensitizedIdNumberBy4(user.getCardid());
+ //内网同步
+ String s = "insert into sys_experience(id,name,entryTime,departureTime,leaving,cardId,companyname,securityId) " +
+ "values(" + "'" + experience.getId() + "'" +
+ "," + "'" + experience.getName() + "'" +
+ "," + "'" + new SimpleDateFormat("yyyy-MM-dd").format(experience.getEntrytime()) + "'" +
+ "," + "'" + new SimpleDateFormat("yyyy-MM-dd").format(experience.getDeparturetime()) + "'" +
+ "," + "'" + experience.getLeaving() + "'" +
+ "," + "'" + cardid + "'" +
+ "," + "'" + experience.getCompanyname() + "'" +
+ "," + "'" + experience.getSecurityid() + "'"
+ + ")";
+ //向外网推送
+ FTP(s);
+ }
}
--
Gitblit v1.9.3