智慧保安后台管理-外网
Administrator
2022-06-16 8b375fe00a241b3a769b82fe3dac8d1c9dce8a02
src/main/java/org/springblade/modules/system/controller/UserController.java
@@ -586,7 +586,8 @@
            boolean status = userService.updateById(user);
            //qfqk 数据推送
            if (status) {
               myAsyncService.updateUserByQfqk(user);
               //删除
               myAsyncService.deleteUserByQfqk(user);
               //内网更新
               String s1 =
                  "update blade_user set status = " + "'" + user.getStatus() + "'"
@@ -862,7 +863,7 @@
         minioClient.makeBucket(MakeBucketArgs.builder().bucket(bucket).build());
         minioClient.setBucketPolicy(SetBucketPolicyArgs.builder().bucket(bucket).build());
      }
      String newName = "upload/picture/" + UUID.randomUUID().toString().replaceAll("-", "") + ".jpg";
      String newName = "upload/picture/f" + UUID.randomUUID().toString().replaceAll("-", "") + ".jpg";
      InputStream in = new ByteArrayInputStream(b);
      String[] split = newName.split("/");
      //创建头部信息
@@ -876,7 +877,7 @@
            .headers(headers)
            .build());
      InputStream inputStream = new ByteArrayInputStream(b);
      FtpUtil.uploadFile(FtpConfig.ftpHost, ftpPort, FtpConfig.ftpUserName, ftpPassword, ftpPath, "/", "f"+split[2], inputStream);
      FtpUtil.uploadFile(FtpConfig.ftpHost, ftpPort, FtpConfig.ftpUserName, ftpPassword, ftpPath, "/", split[2], inputStream);
      in.close();
      //外围url
      String urls = "http://61.131.136.25:2081/zhba/" + newName;
@@ -1595,7 +1596,7 @@
      User user1 = Objects.requireNonNull(BeanUtil.copy(user,User.class));
      //头像
      if (null != user.getAvatar() && !user.getAvatar().equals("")) {
         user1.setAvatar(FtpConfig.ip + user.getAvatar().substring(26));
         user1.setAvatar(FtpConfig.ip +"/"+ user.getAvatar().substring(26));
      }
      //指纹
      String url = "";
@@ -1621,133 +1622,133 @@
      map.put("user",user1);
      myAsyncService.FTPObject(map);
      int count = 0;
      int flag = 1;
      Result result0 = new Result();
      //调用ftp获取返回数据
      while (true){
         System.out.println("用户新增开始接收消息......................");
         Thread.sleep(2000);
         //调用ftp获取返回数据
         result0 = Monitor.isFTPFileExist(uuid);
         System.out.println("result0 ftp 返回结果 = " + result0);
         //如果返回true,就退处
         if (result0.getCode()==200){
            break;
         }else{
            //计数
            count++;
            //如果超过60s 没有读取到,则退出
            if (count == 60) {
               break;
            }
         }
      }
      //将不能导入的保安员账号存起来
      List<String> errorList = new ArrayList<>();
      //保安员证编号不符的保安员信息存入集合
      List<String> securityInvalidList = new ArrayList<>();
      //导入状态,默认为true ,如果有一个出现问题则为 false
      AtomicBoolean status = new AtomicBoolean(true);
      AtomicBoolean securityInvalidStatus = new AtomicBoolean(true);
      if (null!=result0){
         Result result = result0.getData().get(0);
         //用户数处理
         User users = handlerUserInfo(uuid);
         System.out.println("用户数据处理---------------");
         System.out.println("用户数据 = " + users);
         //判断结果
         if (result.getCode()==200){
            //新增
            users.setId(result.getUserId());
            users.setStatus(1);
            //插入数据库
            boolean save = userService.save(users);
            if (save){
               //异步同步到群防群控
               myAsyncService.qfqkUserSave(users);
            }
         }else if (result.getCode()==201) {
            //修改
            users.setId(result.getUserId());
            //先查询当前库是否有改用户?
            User user2 = userService.getById(result.getUserId());
            if (null!=user2) {
               //数据修改
               boolean b = userService.updateById(users);
               if (b) {
                  //异步同步到群防群控
                  myAsyncService.updateUserByQfqk(user);
               }
            }else {
               //新增
               boolean save = userService.save(users);
               if (save){
                  //异步同步到群防群控
                  myAsyncService.qfqkUserSave(users);
               }
            }
         }else if (result.getCode()==203){
            //保安证编号不匹配,请核实!也可通过提供保安证件信息提交核实申请! 用户为新增
            //新增
            users.setId(result.getUserId());
            //插入数据库
            boolean save = userService.save(users);
            if (save) {
               //异步同步到群防群控
               myAsyncService.qfqkUserSave(users);
            }
            securityInvalidStatus.set(false);
            //保安证编号不匹配
            securityInvalidList.add(user.getCardid());
         }else if (result.getCode()==204){
            //保安证编号不匹配,请核实!也可通过提供保安证件信息提交核实申请! 内网用户已存在情况
            users.setId(result.getUserId());
            //先查询当前库是否有改用户?
            User user2 = userService.getById(result.getUserId());
            //判断
            if (null!=user2) {
               //修改
               //数据修改
               boolean b = userService.updateById(users);
               if (b){
                  //异步同步到群防群控
                  myAsyncService.updateUserByQfqk(users);
               }
            }else {
               //新增
               boolean save = userService.save(users);
               if (save){
                  //异步同步到群防群控
                  myAsyncService.qfqkUserSave(users);
               }
            }
            securityInvalidStatus.set(false);
            //保安证编号不匹配
            securityInvalidList.add(user.getCardid());
         }else {
            status.set(false);
            //已在其他单位存在
            errorList.add(user.getCardid());
         }
      }
//      int count = 0;
//      int flag = 1;
//      Result result0 = new Result();
//      //调用ftp获取返回数据
//      while (true){
//         System.out.println("用户新增开始接收消息......................");
//         Thread.sleep(2000);
//         //调用ftp获取返回数据
//         result0 = Monitor.isFTPFileExist(uuid);
//         System.out.println("result0 ftp 返回结果 = " + result0);
//         //如果返回true,就退处
//         if (result0.getCode()==200){
//            break;
//         }else{
//            //计数
//            count++;
//            //如果超过60s 没有读取到,则退出
//            if (count == 20) {
//               break;
//            }
//         }
//      }
//
//      //将不能导入的保安员账号存起来
//      List<String> errorList = new ArrayList<>();
//      //保安员证编号不符的保安员信息存入集合
//      List<String> securityInvalidList = new ArrayList<>();
//      //导入状态,默认为true ,如果有一个出现问题则为 false
//      AtomicBoolean status = new AtomicBoolean(true);
//      AtomicBoolean securityInvalidStatus = new AtomicBoolean(true);
//      if (null!=result0){
//         Result result = result0.getData().get(0);
//         //用户数处理
//         User users = handlerUserInfo(uuid);
//         System.out.println("用户数据处理---------------");
//         System.out.println("用户数据 = " + users);
//         //判断结果
//         if (result.getCode()==200){
//            //新增
//            users.setId(result.getUserId());
//            users.setStatus(1);
//            //插入数据库
//            boolean save = userService.save(users);
//            if (save){
//               //异步同步到群防群控
//               myAsyncService.qfqkUserSave(users);
//            }
//         }else if (result.getCode()==201) {
//            //修改
//            users.setId(result.getUserId());
//            //先查询当前库是否有改用户?
//            User user2 = userService.getById(result.getUserId());
//            if (null!=user2) {
//               //数据修改
//               boolean b = userService.updateById(users);
//               if (b) {
//                  //异步同步到群防群控
//                  myAsyncService.updateUserByQfqk(users);
//               }
//            }else {
//               //新增
//               boolean save = userService.save(users);
//               if (save){
//                  //异步同步到群防群控
//                  myAsyncService.qfqkUserSave(users);
//               }
//            }
//         }else if (result.getCode()==203){
//            //保安证编号不匹配,请核实!也可通过提供保安证件信息提交核实申请! 用户为新增
//            //新增
//            users.setId(result.getUserId());
//            //插入数据库
//            boolean save = userService.save(users);
//            if (save) {
//               //异步同步到群防群控
//               myAsyncService.qfqkUserSave(users);
//            }
//            securityInvalidStatus.set(false);
//            //保安证编号不匹配
//            securityInvalidList.add(user.getCardid());
//         }else if (result.getCode()==204){
//            //保安证编号不匹配,请核实!也可通过提供保安证件信息提交核实申请! 内网用户已存在情况
//            users.setId(result.getUserId());
//            //先查询当前库是否有改用户?
//            User user2 = userService.getById(result.getUserId());
//            //判断
//            if (null!=user2) {
//               //修改
//               //数据修改
//               boolean b = userService.updateById(users);
//               if (b){
//                  //异步同步到群防群控
//                  myAsyncService.updateUserByQfqk(users);
//               }
//            }else {
//               //新增
//               boolean save = userService.save(users);
//               if (save){
//                  //异步同步到群防群控
//                  myAsyncService.qfqkUserSave(users);
//               }
//            }
//            securityInvalidStatus.set(false);
//            //保安证编号不匹配
//            securityInvalidList.add(user.getCardid());
//         }else {
//            status.set(false);
//            //已在其他单位存在
//            errorList.add(user.getCardid());
//         }
//      }
      //如果所有数据导入有一个异常
      StringBuilder errorBuilder = new StringBuilder();
      if (!status.get()){
         String errorAccount = StringUtils.join(errorList, "\\\n");
         errorBuilder.append("用户:[" + errorAccount + "]导入失败!已在其他单位存在!");
      }
      //抛出异常
      if (errorBuilder.length()>0){
         throw new org.springblade.core.log.exception.ServiceException(errorBuilder.toString());
      }
      if (!securityInvalidStatus.get()){
//         return R.data(201, null, "保安证编号不匹配,请核实!也可通过提供保安证件信息提交核实申请!");
         return R.data(201, null, "保安证编号不匹配,请核实!");
      }
//      StringBuilder errorBuilder = new StringBuilder();
//      if (!status.get()){
//         String errorAccount = StringUtils.join(errorList, "\\\n");
//         errorBuilder.append("用户:[" + errorAccount + "]导入失败!已在其他单位存在!");
//      }
//      //抛出异常
//      if (errorBuilder.length()>0){
//         throw new org.springblade.core.log.exception.ServiceException(errorBuilder.toString());
//      }
//
//      if (!securityInvalidStatus.get()){
////         return R.data(201, null, "保安证编号不匹配,请核实!也可通过提供保安证件信息提交核实申请!");
//         return R.data(201, null, "保安证编号不匹配,请核实!");
//      }
      return R.data(200, null, "新增成功!");
   }
@@ -1882,7 +1883,7 @@
    */
   @GetMapping("export-security-info")
   public void exportSecurityInfo(HttpServletResponse response, UserVO user) throws IOException {
      List<SecurityExcel> list = userService.exportSecurityInfo(user);
      List<ExportSecurityExcel> list = userService.exportSecurityInfo(user);
      String fileName = null;
      try {
         response.setContentType("application/vnd.ms-excel");
@@ -1890,7 +1891,7 @@
         fileName = URLEncoder.encode("保安员数据导出" + DateUtil.time(), Charsets.UTF_8.name());
         response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
         //修改单元格格式为文本格式
         EasyExcel.write(response.getOutputStream(), SecurityExcel.class).sheet("保安员数据表").registerWriteHandler(new RowWriteHandler()).doWrite(list);
         EasyExcel.write(response.getOutputStream(), ExportSecurityExcel.class).sheet("保安员数据表").registerWriteHandler(new RowWriteHandler()).doWrite(list);
      } catch (Throwable var6) {
         throw var6;
      }