智慧保安后台管理-外网项目备份
Administrator
2021-12-15 8d43111bd0e598bc0b2014cbfa69a32e74959dff
ftp sql 同步封装
2 files modified
1 files added
77 ■■■■■ changed files
src/main/java/org/springblade/common/utils/FtpSyncUtil.java 40 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/accreditation/controller/AccreditationRecordsController.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/training/controller/TrainingRegistrationController.java 35 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/common/utils/FtpSyncUtil.java
New file
@@ -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());
    }
}
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());
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");