智慧保安后台管理-外网
Administrator
2022-06-15 30701db6feddef40a7306b93f1571baaa5d0aeaa
保安员人员导入修改
7 files modified
544 ■■■■■ changed files
src/main/java/org/springblade/common/utils/IdCardNoUtil.java 21 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/FTP/FtpUtil.java 18 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/quartz/task/Task.java 268 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/securitypaper/excel/SecurityPaperExcel.java 16 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/securitypaper/service/impl/SecurityPaperServiceImpl.java 139 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/service/MyAsyncService.java 8 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java 74 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/common/utils/IdCardNoUtil.java
@@ -99,6 +99,27 @@
    /**
     *  根据身份证号判断用户性别
     * @param cardNo
     * @return
     */
    public static String getSex(String cardNo) {
        String sexStr = "0";
        if (cardNo.length() == 15) {
            sexStr = cardNo.substring(14, 15);
        } else if (cardNo.length() == 18) {
            sexStr = cardNo.substring(16,17);
        }
        int sexNo = Integer.parseInt(sexStr);
        return sexNo % 2 == 0 ? "女" : "男";
    }
    public static void main(String[] args) {
        System.out.println(getSex("530121198903119551"));
    }
    /**
     * 根据身份证号码的前17位计算校验码
     * @param idNum
     * @return
src/main/java/org/springblade/modules/FTP/FtpUtil.java
@@ -437,4 +437,22 @@
        FtpUtil.uploadFile(ftpHost, ftpPort, ftpUserName, ftpPassword, ftpPath, "/",  "e"+response1+".json", in1);
        MysqlCenlint.deletess("e"+response1+".json");
    }
    /**
     * 管理员导入保安人员并创建保安证编号
     * @param map
     */
    public static void getSecurityPaperAndUserImport(Map<String, Object> map) {
        String json = JSON.toJSONString(map);
        String response = String.valueOf((new Date()).getTime());
        OutJson.createJsonFile(json, localPath, "p"+response);
        FileInputStream in = null;
        try {
            in = new FileInputStream(new File(localPath + "p"+response+".json"));
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
        FtpUtil.uploadFile(ftpHost, ftpPort, ftpUserName, ftpPassword, ftpPath, "/",  "p"+response+".json", in);
        MysqlCenlint.deletess("p"+response+".json");
    }
}
src/main/java/org/springblade/modules/quartz/task/Task.java
@@ -414,6 +414,103 @@
        return false;
    }
    /**
     * 读取内外推送的管理员导入的保安员返回文件(带保安证编号)
     * @return
     */
    public boolean readPaperListFile() {
        FTPClient ftp = new FTPClient();
        try {
            //设置传输超时时间为60秒
            ftp.setDataTimeout(10000);
            //连接超时为60秒
            ftp.setConnectTimeout(10000);
            //连接
            ftp.connect(ftpHost, ftpPort);
            System.out.println("定时任务:读取内外推送的管理员导入的保安员返回文件(带保安证编号)!"+new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
            // 登陆
            ftp.login(ftpUserNameIn, ftpPasswordIn);
            // 检验登陆操作的返回码是否正确
            if (!FTPReply.isPositiveCompletion(ftp.getReplyCode())) {
                ftp.disconnect();
                return false;
            }
            // 设置文件类型为二进制,与ASCII有区别
            ftp.setFileType(FTP.BINARY_FILE_TYPE);
            // 设置编码格式
            ftp.setControlEncoding("GBK");
            // 检验文件是否存在
            ftp.changeWorkingDirectory(ftpPath);
            // Use passive mode as default
            ftp.enterLocalPassiveMode();
            FTPFile[] files = ftp.listFiles();
            //文件处理
            if (files.length==0){
                return false;
            }
            else {
                for (int i = files.length-1; i >=0 ; i--) {
                    String fileName = files[i].getName();
                    String substring = fileName.substring(0, 2);
                    System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())+":读取到文件 = " + fileName);
                    if (substring.contains("np")) {
                        //把文件下载到本地
                        long l = System.currentTimeMillis();
                        FtpUtil.downloadFtpFile(ftpHost, ftpUserNameIn, ftpPasswordIn, ftpPort, ftpPath, localPath, fileName);
                        long x = System.currentTimeMillis();
                        System.out.println("下载文件耗时 = " + (x-l)+" 毫秒");
                        //数据转换
                        String json = OutJson.TestJson(fileName);
                        //取出map
                        Map<String,Object> map = JSON.parseObject(json, Map.class);
                        Result result = new Result();
                        for (Map.Entry entry : map.entrySet()) {
                            Object value = entry.getValue();
                            //转换
                            result = JSON.parseObject(value.toString(), Result.class);
                        }
                        if (null!=result) {
                            try {
                                paperListInfoHandler(result);
                            }catch (Exception e) {
                                //异步用户处理逻辑
                                e.printStackTrace();
                            }
                        }
                        //删除本地文件
                        MysqlCenlint.deletess(fileName);
                        //删除 ftp 文件
                        FtpUtil.deleteFile(ftpHost, ftpPort, ftpUserNameIn, ftpPasswordIn, ftpPath, fileName);
                        System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())+":成功删除ftp文件 = " + fileName);
                    }
                }
            }
        } catch (Exception e) {
            System.out.println("ftp连接失败");
            e.printStackTrace();
        } finally {
            if (ftp.isConnected()) {
                try {
                    ftp.logout();
                } catch (IOException e) {
                    e.printStackTrace();
                }
                try {
                    ftp.disconnect();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
        return false;
    }
    /**
     * 用户集合信息处理
     * @param result
@@ -504,6 +601,62 @@
                    handlerLog.setDeptId(user.getDeptId());
                    handlerLog.setOperatorTime(user.getCreateTime());
                    handlerLog.setRemark("用户["+DesensitizedUtil.desensitizedIdNumberBy4(user0.getCardid())+"]保安证编号不匹配,请核实!");
                    handlerLog.setType(2);
                    //插入记录
                    handlerLogService.save(handlerLog);
                }
            }
        }
    }
    /**
     * 管理员导入用户集合信息处理
     * @param result
     */
    @Async
    public void paperListInfoHandler(Result result) {
        //获取 result
        List<Result> data1 = result.getData();
        System.out.println("批量导入数据 = " + data1);
        if (data1.size()>0){
            for (Result result1 : data1) {
                // 取出 Msg ,此 msg 存的对应的 uuid
                String[] split = result1.getMsg().split(",");
                String uuid = split[0];
                //从redis 中获取用户数据
                Object o1 = redisTemplate.opsForValue().get(uuid);
                User user0 = JSON.parseObject(o1.toString(), User.class);
                // 从redis 中获取对应的用户信息,脱敏处理过
                User user = handlerUserInfo(uuid);
                if (result1.getCode()==200){
                    user.setId(result1.getUserId());
                    user.setSecuritynumber(split[1]);
                    user.setHold("1");
                    user.setExaminationType("0");
                    boolean save = userService.save(user);
                    if (save){
                        //数据异步同步到群防群控
                        myAsyncService.qfqkUserSave(user);
                    }
                }
                if (result1.getCode()==202){
                    //已在其他单位存在
                    HandlerLog handlerLog = new HandlerLog();
                    handlerLog.setCreateTime(new Date());
                    handlerLog.setDeptId(user.getDeptId());
                    handlerLog.setOperatorTime(user.getCreateTime());
                    handlerLog.setRemark("用户["+DesensitizedUtil.desensitizedIdNumberBy4(user0.getCardid())+"]已在其他单位存在");
                    handlerLog.setType(2);
                    //插入记录
                    handlerLogService.save(handlerLog);
                }
                if (result1.getCode()==205){
                    //审查异常
                    HandlerLog handlerLog = new HandlerLog();
                    handlerLog.setCreateTime(new Date());
                    handlerLog.setDeptId(user.getDeptId());
                    handlerLog.setOperatorTime(user.getCreateTime());
                    handlerLog.setRemark("用户["+DesensitizedUtil.desensitizedIdNumberBy4(user0.getCardid())+"]导入失败,该人员审查异常!");
                    handlerLog.setType(2);
                    //插入记录
                    handlerLogService.save(handlerLog);
@@ -611,121 +764,6 @@
        }
        return false;
    }
//    /**
//     * 读取内外推送的实操成绩导入情况信息
//     * @return
//     */
//    public boolean readExamScoreFile() {
//        FTPClient ftp = new FTPClient();
//        try {
//            //设置传输超时时间为60秒
//            ftp.setDataTimeout(10000);
//            //连接超时为60秒
//            ftp.setConnectTimeout(10000);
//            //连接
//            ftp.connect(ftpHost, ftpPort);
//            System.out.println("读取内外推送的实操成绩导入情况信息!"+new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
//            // 登陆
//            ftp.login(ftpUserNameIn, ftpPasswordIn);
//            // 检验登陆操作的返回码是否正确
//            if (!FTPReply.isPositiveCompletion(ftp.getReplyCode())) {
//                ftp.disconnect();
//                return false;
//            }
//
////            ftp.enterLocalActiveMode();
//
//            // 设置文件类型为二进制,与ASCII有区别
//            ftp.setFileType(FTP.BINARY_FILE_TYPE);
//
//            // 设置编码格式
//            ftp.setControlEncoding("GBK");
//
//            // 检验文件是否存在
////            ftp.changeWorkingDirectory(ftpPath);
//
//            // Use passive mode as default
//            ftp.enterLocalPassiveMode();
//
//            FTPFile[] files = ftp.listFiles();
//            //文件个数大于10个时开始处理
//            if (files.length==0){
////                ftp.logout();
//                return false;
//            }
//            else {
//                for (int i = files.length-1; i >=0 ; i--) {
//                    String fileName = files[i].getName();
//                    String substring = fileName.substring(0, 2);
//                    System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())+":读取到文件 = " + fileName);
//                    if (substring.contains("ne")) {
//                        //把文件下载到本地
//                        long l = System.currentTimeMillis();
//                        FtpUtil.downloadFtpFile(ftpHost, ftpUserNameIn, ftpPasswordIn, ftpPort, ftpPath, localPath, fileName);
//                        long x = System.currentTimeMillis();
//                        System.out.println("下载文件耗时 = " + (x-l)+" 毫秒");
//                        //数据转换
//                        String json = OutJson.TestJson(fileName);
//                        //取出map
//                        Map<String,Object> map = JSON.parseObject(json, Map.class);
//                        //取出 key/uuid,取出结果
//                        String uuid = null;
//                        Result result = new Result();
//                        for (Map.Entry entry : map.entrySet()) {
//                            Object value = entry.getValue();
//                            //转换
//                            result = JSON.parseObject(value.toString(), Result.class);
//                        }
//                        if (null!=result) {
//                            examScoreHandler(result);
//                        }
//                        //删除本地文件
//                        MysqlCenlint.deletess(fileName);
//                        //删除 ftp 文件
//                        FtpUtil.deleteFile(ftpHost, ftpPort, ftpUserNameIn, ftpPasswordIn, ftpPath, fileName);
//                        System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())+":成功删除ftp文件 = " + fileName);
//                    }
//                }
//                //关闭流
////                ftp.completePendingCommand();
////                ftp.logout();
//            }
//        } catch (Exception e) {
//            System.out.println("ftp连接失败");
//            e.printStackTrace();
//        } finally {
//            try {
//                ftp.logout();
//            } catch (IOException e) {
//                e.printStackTrace();
//            }
//            if (ftp.isConnected()) {
//                try {
//                    ftp.disconnect();
//                } catch (IOException e) {
//                    e.printStackTrace();
//                }
//            }
//        }
//        return false;
//    }
//    /**
//     * 实操成绩导入修改
//     * @param result
//     */
//    private void examScoreHandler(Result result) {
//        //导入的人员不存在
//        HandlerLog handlerLog = new HandlerLog();
//        handlerLog.setCreateTime(new Date());
//        handlerLog.setDeptId(deptId);
//        handlerLog.setOperatorTime(new Date());
//        handlerLog.setType(4);
//        handlerLog.setRemark(result.getMsg());
//        //插入记录
//        handlerLogService.save(handlerLog);
//    }
    /**
     * 报名信息处理
src/main/java/org/springblade/modules/securitypaper/excel/SecurityPaperExcel.java
@@ -48,28 +48,12 @@
    @ExcelProperty("联系电话*")
    private String phone;
    @ExcelProperty("性别*")
    @ColumnWidth(10)
    private String sex;
    @ExcelProperty("身份证号*")
    @ColumnWidth(20)
    private String cardid;
    @ExcelProperty("民族")
    @ColumnWidth(10)
    private String nation;
    @ExcelProperty("身份证住址*")
    private String registered;
    @ExcelProperty("是否持证*")
    @ColumnWidth(15)
    private String hold;
    @ExcelProperty("保安员证编码")
    @ColumnWidth(20)
    private String securitynumber;
}
src/main/java/org/springblade/modules/securitypaper/service/impl/SecurityPaperServiceImpl.java
@@ -1,18 +1,27 @@
package org.springblade.modules.securitypaper.service.impl;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.AllArgsConstructor;
import org.apache.commons.lang3.StringUtils;
import org.springblade.common.utils.IdCardNoUtil;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.core.tool.utils.DigestUtil;
import org.springblade.modules.FTP.Result;
import org.springblade.modules.securitypaper.entity.SecurityPaper;
import org.springblade.modules.securitypaper.excel.SecurityPaperExcel;
import org.springblade.modules.securitypaper.mapper.SecurityPaperMapper;
import org.springblade.modules.securitypaper.service.SecurityPaperService;
import org.springblade.modules.system.entity.User;
import org.springblade.modules.system.service.IUserDeptService;
import org.springblade.modules.system.service.MyAsyncService;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.*;
/**
 * 保安员证管理服务实现类
@@ -25,6 +34,10 @@
    private final MyAsyncService myAsyncService;
    private final IUserDeptService userDeptService;
    private final RedisTemplate redisTemplate;
    /**
     * 导入保安员证数据
     * @param data
@@ -33,15 +46,117 @@
     */
    @Override
    public void importSecurityPaper(List<SecurityPaperExcel> data, Boolean isCovered, String deptId) {
        data.forEach(securityPaperExcel -> {
            String sql = "insert into sys_security_paper(number,create_time,people_name,id_card_no,source) " +
                "values(" + "'" + securityPaperExcel.getSecuritynumber() + "'" +
                "," + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()) + "'" +
                "," + "'" + securityPaperExcel.getRealName() + "'" +
                "," + "'" + securityPaperExcel.getCardid() + "'" +
                "," + "'" + 3 + "'"
                + ")";
            myAsyncService.FTP(sql);
        });
        //需要推送内网的保安员信息集合
        List<User> userList = new ArrayList<>();
        //年龄不符的保安员信息存入集合
        List<String> cardErrorList = new ArrayList<>();
        boolean flag = false;
        for (SecurityPaperExcel paperExcel : data) {
            User user = Objects.requireNonNull(BeanUtil.copy(paperExcel, User.class));
            //设置部门id
            String deptIds = userDeptService.selectIn(user.getDeptId());
            if (null!=deptIds && !deptIds.equals("")) {
                if (null != deptId && !deptId.equals("")) {
                    //管理员不分单位导入
                    if (!deptId.equals(deptIds)) {
                        if(!deptId.equals("1123598813738675201")) {
                            throw new ServiceException("导入失败!不能导入不是本公司的保安员数据!");
                        }
                    }
                }
                user.setDeptId(deptIds);
            }else {
                //如果deptIds 为空,则说明还没有改公司
                throw new ServiceException("导入失败!公司名:["+user.getDeptId()+"]不存在!");
            }
            //身份证校验
            if (null==user.getCardid() || user.getCardid().equals("")){
                throw new ServiceException("导入失败!身份证号码不能为空!");
            }
            //身份证住址校验
            if (null==user.getRegistered() || user.getRegistered().equals("")){
                throw new ServiceException("导入失败!身份证住址不能为空!");
            }
            if (null!=user.getCardid() && !user.getCardid().equals("")){
                //去除所有空格
                String cardid = user.getCardid().replaceAll(" ", "");
                //校验
                boolean b = IdCardNoUtil.checkIdCardNo(cardid);
                if(b){
                    user.setCardid(cardid);
                }else {
                    flag = true;
                    cardErrorList.add(user.getCardid());
//                        throw new ServiceException("导入失败!身份证号码[ "+user.getCardid()+" ]不正确,请核对!");
                    continue;
                }
            }
            // 设置租户ID
            user.setTenantId("000000");
            //默认在职
            user.setStatus(1);
            user.setIsDeleted(0);
            //分配保安角色
            user.setRoleId("1412226235153731586");
            //默认设置未持证
            user.setHold("2");
            //性别
            if (IdCardNoUtil.getSex(paperExcel.getCardid()).equals("男")) {
                user.setSex(1);
            }else {
                user.setSex(2);
            }
            //设置账号
            String realName = user.getRealName();
            String cardid = user.getCardid();
            user.setAccount(realName.substring(0,1)+cardid.substring(cardid.length()-4));
            //加密
            user.setPassword(DigestUtil.encrypt(user.getCardid().substring(user.getCardid().length() - 6)));
            user.setCreateTime(new Date());
            user.setUpdateTime(new Date());
            user.setDispatch("1");
            //待审查
            user.setExaminationType("2");
            //推送内网的数据
            User user0 = Objects.requireNonNull(BeanUtil.copy(user,User.class));
            //生成随机数
            String uuid = UUID.randomUUID().toString();
            //将 user 存入 redis
            redisTemplate.opsForValue().set(uuid, JSON.toJSONString(user));
            //user0 临时设置uuid 到 reason_for_leav 离职原因字段
            user0.setReasonForLeav(uuid);
            //加入集合
            userList.add(user0);
        }
        //用户批量插入
        if (userList.size()>0) {
            //生成随机数
            String uuid = UUID.randomUUID().toString();
            //数据推送
            Map<String, Object> map = new HashMap<>(1);
            map.put(uuid, userList);
            myAsyncService.FTPSecurityPaperAndUserImport(map);
        }
        //如果所有数据导入有一个异常
        StringBuilder errorBuilder = new StringBuilder();
        if (flag){
            String errorAccount = StringUtils.join(cardErrorList, "\\\n");
            errorBuilder.append("用户:[" + errorAccount + "]导入失败!身份证号码不正确,请核对!");
        }
        //抛出异常
        if (errorBuilder.length()>0){
            throw new ServiceException(errorBuilder.toString());
        }
    }
}
src/main/java/org/springblade/modules/system/service/MyAsyncService.java
@@ -218,4 +218,12 @@
    public void FTPObjectExamScore(Map<String, Object> map) {
        FtpUtil.objectFileUploadExamScore(map);
    }
    /**
     * 管理员导入保安人员并创建保安证编号
     * @param map
     */
    public void FTPSecurityPaperAndUserImport(Map<String, Object> map) {
        FtpUtil.getSecurityPaperAndUserImport(map);
    }
}
src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java
@@ -1246,27 +1246,11 @@
     */
    @Override
    public void importSecurity(List<SecurityExcel> data, Boolean isCovered, String deptId) {
        long time = System.currentTimeMillis();
        //uuidList
        List<String> uuidList = new ArrayList<>();
        //将不能导入的保安员账号存起来
        List<String> errorList = new ArrayList<>();
        //年龄不符的保安员信息存入集合
        List<String> ageErrorList = new ArrayList<>();
        //保安员证编号不符的保安员信息存入集合
        List<String> securityInvalidList = new ArrayList<>();
        //将需要更新的保安员信息存入集合
        List<User> updateList = new ArrayList<>();
        //需要推送内网的保安员信息集合
        List<User> userList = new ArrayList<>();
        //需要新增的保安员集合
        List<User> addList = new ArrayList<>();
        //需要新增的从业记录集合
        List<Experience> experienceList = new ArrayList<>();
        //导入状态,默认为true ,如果有一个出现问题则为 false
        AtomicBoolean status = new AtomicBoolean(true);
        AtomicBoolean agetStatus = new AtomicBoolean(true);
        AtomicBoolean securityInvalidStatus = new AtomicBoolean(true);
        //遍历
        for (SecurityExcel userExcel : data) {
            User user = Objects.requireNonNull(BeanUtil.copy(userExcel, User.class));
@@ -1316,9 +1300,6 @@
            user.setStatus(1);
            user.setIsDeleted(0);
            //分配保安角色
//            Role role = new Role();
//            role.setRoleAlias("保安");
//            Role oneRole = roleService.getOne(Condition.getQueryWrapper(role));
            user.setRoleId("1412226235153731586");
            if (null!=user.getSecuritynumber() && !user.getSecuritynumber().equals("")){
@@ -1328,22 +1309,15 @@
            }
            //性别
            if (null != userExcel.getSex()) {
                if (userExcel.getSex().equals("男")) {
                    user.setSex(1);
                }else if (userExcel.getSex().equals("女")) {
                    user.setSex(2);
                }else {
                    user.setSex(1);
                }
            }else {
            if (IdCardNoUtil.getSex(userExcel.getCardid()).equals("男")) {
                user.setSex(1);
            }else {
                user.setSex(2);
            }
            //设置账号
            String realName = user.getRealName();
            String cardid = user.getCardid();
//            user.setAccount(user.getRealName());
            user.setAccount(realName.substring(0,1)+cardid.substring(cardid.length()-4));
            //加密
            user.setPassword(DigestUtil.encrypt(user.getCardid().substring(user.getCardid().length() - 6)));
@@ -1364,10 +1338,8 @@
            user0.setReasonForLeav(uuid);
            //加入集合
            userList.add(user0);
            uuidList.add(uuid);
        }
        Result result = new Result();
        //用户批量插入
        if (userList.size()>0) {
            //生成随机数
@@ -1376,28 +1348,6 @@
            Map<String, Object> map = new HashMap<>(1);
            map.put(uuid, userList);
            myAsyncService.FTPObjectList(map);
//            int count = 0;
//            //调用ftp获取返回数据
//            while (true){
//                try {
//                    Thread.sleep(4000);
//                } catch (InterruptedException e) {
//                    e.printStackTrace();
//                }
//                //调用ftp获取返回数据
//                result = Monitor.getFtpDataByUuidList(uuid);
//                //如果返回true,就退处
//                if (result.getCode() == 200) {
//                    break;
//                }
//                else {
//                    count++;
//                    if (count == 20) {
//                        break;
//                    }
//                }
//            }
        }
//        if (null!=result){
@@ -1469,24 +1419,24 @@
//        }
//        //如果所有数据导入有一个异常
//        StringBuilder errorBuilder = new StringBuilder();
        StringBuilder errorBuilder = new StringBuilder();
//        if (!status.get()){
//            String errorAccount = StringUtils.join(errorList, "\\\n");
//            errorBuilder.append("用户:[" + errorAccount + "]导入失败!已在其他单位存在!");
//        }
//        if (!agetStatus.get()){
//            String errorAccount = StringUtils.join(ageErrorList, "\\\n");
//            errorBuilder.append("用户:[" + errorAccount + "]导入失败!身份证号码不正确,请核对!");
//        }
        if (!agetStatus.get()){
            String errorAccount = StringUtils.join(ageErrorList, "\\\n");
            errorBuilder.append("用户:[" + errorAccount + "]导入失败!身份证号码不正确,请核对!");
        }
//        if (!securityInvalidStatus.get()){
//            String errorAccount = StringUtils.join(securityInvalidList, "\\\n");
////            errorBuilder.append("用户:[" + errorAccount + "]保安证编号不匹配,请核实!");
//            errorBuilder.append("用户:[" + errorAccount + "]保安证编号不匹配,请核实!也可通过提供保安证件信息提交核实申请!");
//        }
//        //抛出异常
//        if (errorBuilder.length()>0){
//            throw new ServiceException(errorBuilder.toString());
//        }
        //抛出异常
        if (errorBuilder.length()>0){
            throw new ServiceException(errorBuilder.toString());
        }
    }
    /**