From 8d43111bd0e598bc0b2014cbfa69a32e74959dff Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Wed, 15 Dec 2021 19:24:05 +0800
Subject: [PATCH] ftp sql 同步封装
---
src/main/java/org/springblade/modules/training/controller/TrainingRegistrationController.java | 35 +++++++++++++++--
src/main/java/org/springblade/modules/accreditation/controller/AccreditationRecordsController.java | 2 +
src/main/java/org/springblade/common/utils/FtpSyncUtil.java | 40 ++++++++++++++++++++
3 files changed, 72 insertions(+), 5 deletions(-)
diff --git a/src/main/java/org/springblade/common/utils/FtpSyncUtil.java b/src/main/java/org/springblade/common/utils/FtpSyncUtil.java
new file mode 100644
index 0000000..a8e9f61
--- /dev/null
+++ b/src/main/java/org/springblade/common/utils/FtpSyncUtil.java
@@ -0,0 +1,40 @@
+package org.springblade.common.utils;
+
+import org.springblade.modules.FTP.FtpUtil;
+
+import java.util.List;
+
+/**
+ * ftp 内网 sql 同步工具类
+ * @author zhongrj
+ * @since 2021-12-15
+ */
+public class FtpSyncUtil {
+
+ /**
+ * sql 处理
+ * @return
+ */
+ public static StringBuilder sqlHandler(StringBuilder builder,String sql){
+ String[] split = builder.toString().split(";");
+ //拼接
+ builder = builder.append(sql).append(";");
+ //判断list.size 大小
+ if (split.length==999){
+ //执行
+ FtpUtil.sqlFileUpload(builder.toString());
+ //清空
+ builder = null;
+ }
+ return builder;
+ }
+
+ /**
+ * sql 处理
+ * @return
+ */
+ public static void slqSync(StringBuilder builder){
+ //执行
+ FtpUtil.sqlFileUpload(builder.toString());
+ }
+}
diff --git a/src/main/java/org/springblade/modules/accreditation/controller/AccreditationRecordsController.java b/src/main/java/org/springblade/modules/accreditation/controller/AccreditationRecordsController.java
index 358c126..3eb7b09 100644
--- a/src/main/java/org/springblade/modules/accreditation/controller/AccreditationRecordsController.java
+++ b/src/main/java/org/springblade/modules/accreditation/controller/AccreditationRecordsController.java
@@ -338,8 +338,10 @@
if (list.size()<=7){
HSSFRow row = sheet.createRow(0);
row.setHeight((short) 1980);
+
HSSFRow row1 = sheet.createRow(1);
row1.setHeight((short) 300);
+
for (int i = 0; i < list.size(); i++) {
ExportSecurityPaperExcelVO checkWorkVo = list.get(i);
row1.createCell(i).setCellValue(checkWorkVo.getName());
diff --git a/src/main/java/org/springblade/modules/training/controller/TrainingRegistrationController.java b/src/main/java/org/springblade/modules/training/controller/TrainingRegistrationController.java
index 6efd5ba..599e01a 100644
--- a/src/main/java/org/springblade/modules/training/controller/TrainingRegistrationController.java
+++ b/src/main/java/org/springblade/modules/training/controller/TrainingRegistrationController.java
@@ -11,6 +11,7 @@
import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;
import org.apache.commons.lang3.StringUtils;
import org.springblade.common.constant.AgeUtil;
+import org.springblade.common.utils.FtpSyncUtil;
import org.springblade.core.excel.util.ExcelUtil;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.mp.support.Condition;
@@ -36,6 +37,7 @@
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.concurrent.atomic.AtomicInteger;
+import java.util.concurrent.atomic.AtomicReference;
/**
* @author zhongrj
@@ -125,10 +127,10 @@
/**
* 报名
*/
- private void saveTrainingRegistration(TrainingRegistration trainingRegistration,User user1){
+ private StringBuilder batchSaveTrainingRegistration(TrainingRegistration trainingRegistration,User user1,StringBuilder builder){
String formatStr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
Long id = trainingRegistration.getId();
- String s = "insert into sys_training_registration(id,training_unit_id,training_time,cancel,user_id,is_exam,audit_status) " +
+ String sql = "insert into sys_training_registration(id,training_unit_id,training_time,cancel,user_id,is_exam,audit_status) " +
"values(" + "'" + id + "'"
+ "," + "'" + trainingRegistration.getTrainingUnitId() +"'"
+ "," + "'" + formatStr +"'"
@@ -137,7 +139,25 @@
+ "," + "'" + trainingRegistration.getIsExam() + "'"
+ "," +"'" + trainingRegistration.getAuditStatus() + "'" + ");" +
"update blade_user set is_train = " + user1.getIsTrain() + " " +"where id = " + "'" + user1.getId() + "'";
- FtpUtil.sqlFileUpload(s);
+ return FtpSyncUtil.sqlHandler(builder, sql);
+ }
+
+ /**
+ * 报名
+ */
+ private void saveTrainingRegistration(TrainingRegistration trainingRegistration,User user1){
+ String formatStr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
+ Long id = trainingRegistration.getId();
+ String sql = "insert into sys_training_registration(id,training_unit_id,training_time,cancel,user_id,is_exam,audit_status) " +
+ "values(" + "'" + id + "'"
+ + "," + "'" + trainingRegistration.getTrainingUnitId() +"'"
+ + "," + "'" + formatStr +"'"
+ + "," + "'" + trainingRegistration.getCancel() + "'"
+ + "," + "'" + trainingRegistration.getUserId() + "'"
+ + "," + "'" + trainingRegistration.getIsExam() + "'"
+ + "," +"'" + trainingRegistration.getAuditStatus() + "'" + ");" +
+ "update blade_user set is_train = " + user1.getIsTrain() + " " +"where id = " + "'" + user1.getId() + "'";
+ FtpUtil.sqlFileUpload(sql);
}
@@ -282,6 +302,7 @@
AtomicInteger count = new AtomicInteger();
//创建年龄部分对象集合
List<String> errorList = new ArrayList<>();
+ AtomicReference<StringBuilder> builder = new AtomicReference<>(new StringBuilder());
//遍历
list.forEach(userId ->{
User user = userService.getById(userId);
@@ -305,7 +326,7 @@
userService.updateById(user);
//数据同步
- saveTrainingRegistration(trainingRegistration1, user);
+ builder.set(batchSaveTrainingRegistration(trainingRegistration1, user, builder.get()));
} else {
if (user.getIsTrain() != 1) {
TrainingRegistration trainingRegistration1 = new TrainingRegistration();
@@ -323,7 +344,7 @@
userService.updateById(user);
//数据同步
- saveTrainingRegistration(trainingRegistration1, user);
+ builder.set(batchSaveTrainingRegistration(trainingRegistration1, user, builder.get()));
}
}
}else {
@@ -333,6 +354,10 @@
errorList.add(user.getCardid());
}
});
+ //同步
+ if (builder.get().length()>0) {
+ FtpSyncUtil.slqSync(builder.get());
+ }
//如果存在年龄不符的,则抛出异常
if (count.get()>0){
String errorAccount = StringUtils.join(errorList, "\\\n");
--
Gitblit v1.9.3