From ac120f258131bbc3a91f784345b19fb88dbca33e Mon Sep 17 00:00:00 2001
From: 钟日健 <5689795+arsn@user.noreply.gitee.com>
Date: Wed, 27 Apr 2022 17:19:19 +0800
Subject: [PATCH] 从业记录新增修改,ftp 配置修改
---
src/main/java/org/springblade/modules/FTP/FtpUtil.java | 37 ++++++------
src/main/java/org/springblade/modules/FTP/DataHanlder.java | 8 ++
src/main/java/org/springblade/modules/FTP/Monitor.java | 32 +---------
src/main/java/org/springblade/modules/FTP/MyAsyncService.java | 55 +++++++++++++++++-
src/main/resources/application-test.yml | 4
5 files changed, 84 insertions(+), 52 deletions(-)
diff --git a/src/main/java/org/springblade/modules/FTP/DataHanlder.java b/src/main/java/org/springblade/modules/FTP/DataHanlder.java
index 0b2dc6d..f5cf8da 100644
--- a/src/main/java/org/springblade/modules/FTP/DataHanlder.java
+++ b/src/main/java/org/springblade/modules/FTP/DataHanlder.java
@@ -88,6 +88,8 @@
//去新增
boolean save = hanlder.userService.save(user2);
if (save){
+ //异步新增从业记录
+ hanlder.myAsyncService.insertExperience(user2);
//异步审查
hanlder.myAsyncService.checkUserExamineByCardNo(user2);
}
@@ -248,8 +250,8 @@
//内网同步
String s = "insert into sys_experience(id,name,entryTime,departureTime,leaving,cardId,companyname,securityId) " +
- "values(" + "'" + experience.getId() + "'" + "," +
- "'" + experience.getName() + "'" + "," +
+ "values(" + "'" + experience.getId() + "'" +
+ "," + "'" + experience.getName() + "'" +
"," + "'" + new SimpleDateFormat("yyyy-MM-dd").format(experience.getEntrytime()) + "'" +
"," + "'" + new SimpleDateFormat("yyyy-MM-dd").format(experience.getDeparturetime()) + "'" +
"," + "'" + experience.getLeaving() + "'" +
@@ -289,6 +291,8 @@
states = false;
user.setHold("2");
}
+ }else {
+ states = true;
}
if (!states) {
diff --git a/src/main/java/org/springblade/modules/FTP/FtpUtil.java b/src/main/java/org/springblade/modules/FTP/FtpUtil.java
index 0c9dca7..52b8bbe 100644
--- a/src/main/java/org/springblade/modules/FTP/FtpUtil.java
+++ b/src/main/java/org/springblade/modules/FTP/FtpUtil.java
@@ -288,23 +288,7 @@
}
}
}
- /**
- * 执行sql 上传
- * @param s1 sql
- */
- public static void sqlFileUpload(String s1){
- String json1 = JSON.toJSONString(s1);
- String response1 = String.valueOf((new Date()).getTime());
- OutJson.createJsonFile(json1, localPath, "nsql"+response1);
- FileInputStream in1 = null;
- try {
- in1 = new FileInputStream(new File(localPath + "nsql"+response1+".json"));
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- }
- FtpUtil.uploadFile(ftpHost, ftpPort, ftpUserName, ftpPassword, ftpPath, "/", "nsql"+response1+".json", in1);
-// MysqlCenlint.deletess("nsql"+response1+".json");
- }
+
/**
*
* 解压zip 包
@@ -357,6 +341,23 @@
}
}
+ /**
+ * 执行sql 上传
+ * @param obj sql
+ */
+ public static void sqlFileUpload(String obj){
+ String json1 = JSON.toJSONString(obj);
+ String response1 = String.valueOf((new Date()).getTime());
+ OutJson.createJsonFile(json1, localPath, "nsql"+response1);
+ FileInputStream in1 = null;
+ try {
+ in1 = new FileInputStream(new File(localPath + "nsql"+response1+".json"));
+ } catch (FileNotFoundException e) {
+ e.printStackTrace();
+ }
+ FtpUtil.uploadFile(ftpHost, ftpPort, ftpUserName, ftpPassword, ftpPath, "/", "nsql"+response1+".json", in1);
+ MysqlCenlint.deletess("nsql"+response1+".json");
+ }
/**
* 执行 对象数据(用户,报名对象信息等) 上传
@@ -373,7 +374,7 @@
e.printStackTrace();
}
FtpUtil.uploadFile(ftpHost, ftpPort, ftpUserName, ftpPassword, ftpPath, "/", "n"+response1+".json", in1);
-// MysqlCenlint.deletess("n"+response1+".json");
+ MysqlCenlint.deletess("n"+response1+".json");
}
diff --git a/src/main/java/org/springblade/modules/FTP/monitor.java b/src/main/java/org/springblade/modules/FTP/Monitor.java
similarity index 85%
rename from src/main/java/org/springblade/modules/FTP/monitor.java
rename to src/main/java/org/springblade/modules/FTP/Monitor.java
index 71383f0..1ce263e 100644
--- a/src/main/java/org/springblade/modules/FTP/monitor.java
+++ b/src/main/java/org/springblade/modules/FTP/Monitor.java
@@ -14,11 +14,7 @@
@Component
-public class monitor {
-
- //文件名
- //private static String fileName = "nsql.json";
-
+public class Monitor {
@Scheduled(cron = "*/1 * * * * ?")
public static boolean isFTPFileExist() {
@@ -46,17 +42,6 @@
// 设置编码格式
ftp.setControlEncoding("GBK");
- // 提取绝对地址的目录以及文件名
-
- //ftpPath = ftpPath.replace("ftp://" + ftpHost + ":" + ftpPort + "/", "");
-
- //String dir = ftpPath.substring(0, ftpPath.lastIndexOf("/"));
-
- // file = ftpPath.substring(ftpPath.lastIndexOf("/") + 1);
-
- // 进入文件所在目录,注意编码格式,以能够正确识别中文目录
-
- //ftp.changeWorkingDirectory(new String(dir.getBytes("GBK"), FTP.DEFAULT_CONTROL_ENCODING));
// 检验文件是否存在
ftp.changeWorkingDirectory(ftpPath);
@@ -97,6 +82,7 @@
}
//删除本地文件
MysqlCenlint.deletess(fileName);
+ //删除 ftp 文件
FtpUtil.deleteFile(ftpHost, ftpPort, ftpUserName, ftpPassword, "anbao/", fileName);
}else if(substring1.equals("o")){
//获取对象字符串
@@ -105,8 +91,11 @@
DataHanlder.handler(json);
//删除本地文件
MysqlCenlint.deletess(fileName);
+ //删除 ftp 文件
FtpUtil.deleteFile(ftpHost, ftpPort, ftpUserName, ftpPassword, "anbao/", fileName);
}
+ //删除本地文件,ftp 文件没有对应读取的不删除
+ MysqlCenlint.deletess(fileName);
is.close();
ftp.completePendingCommand();
}
@@ -118,26 +107,15 @@
MysqlCenlint.deletess(fileName);
FtpUtil.deleteFile(ftpHost, ftpPort, ftpUserName, ftpPassword, "anbao/", fileName);
e.printStackTrace();
-
} finally {
-
if (ftp != null) {
-
try {
-
ftp.disconnect();
-
} catch (IOException e) {
-
e.printStackTrace();
-
}
-
}
-
}
-
return false;
-
}
}
diff --git a/src/main/java/org/springblade/modules/FTP/MyAsyncService.java b/src/main/java/org/springblade/modules/FTP/MyAsyncService.java
index 5116204..0cfd43c 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,7 +27,11 @@
@Autowired
private IUserService userService;
+ @Autowired
+ private IDeptService iDeptService;
+ @Autowired
+ private IExperienceService experienceService;
/**
* FTP
@@ -38,11 +48,8 @@
*/
@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());
@@ -103,4 +110,46 @@
}
+ /**
+ * 异步新增用户从业记录
+ * @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);
+ }
}
diff --git a/src/main/resources/application-test.yml b/src/main/resources/application-test.yml
index ac09da3..8bfd58b 100644
--- a/src/main/resources/application-test.yml
+++ b/src/main/resources/application-test.yml
@@ -28,9 +28,9 @@
ftpUserName: arsn
ftpPassword: 123456
ftpPath: anbao/
- localPath: D:\anbao\
+ localPath: E:\anbao\
minioPath: D:\ftptp\
- jsonUrl: D:\anbao\
+ jsonUrl: E:\anbao\
sqlUsername: zhbaw
sqlPassword: Zhba@0426
--
Gitblit v1.9.3