智慧保安后台管理-外网
Administrator
2022-06-16 8b375fe00a241b3a769b82fe3dac8d1c9dce8a02
src/main/java/org/springblade/modules/training/controller/TrainingRegistrationController.java
@@ -319,113 +319,116 @@
      //将集合推送内网,判断年龄是否符合要求,得到返回的结果,结果需包含userId,及年龄是否符合的状态
      //生成随机数
      String uuid = UUID.randomUUID().toString();
      //将 学校id 存入 redis
      redisTemplate.opsForValue().set(uuid, trainingRegistration.getTrainingUnitId());
      //数据推送
      Map<String, Object> map = new HashMap<>(1);
      map.put(uuid, list);
      myAsyncService.FTPObjectListUserId(map);
      Result result = new Result();
      int count = 0;
      //调用ftp获取返回数据
      while (true){
         try {
            Thread.sleep(3000);
         } catch (InterruptedException e) {
            e.printStackTrace();
         }
         //调用ftp获取返回数据
         result = Monitor.getFtpDataByUuidListTrain(uuid);
         //如果返回true,就退处
         if (result.getCode() == 200) {
            break;
         }
         else {
            count++;
            if (count == 90) {
               break;
            }
         }
      }
      //创建集合,存年龄符合要求
      List<String> ageList = new ArrayList<>();
      //创建年龄不符合集合
      List<String> errorList = new ArrayList<>();
      AtomicInteger number  = new AtomicInteger();
      if (null!=result){
         //获取 result
         List<Result> data1 = result.getData();
         if (data1.size()>0){
            for (Result result1 : data1) {
               // 取出 Msg ,此 msg 存的对应的 uuid
               Long userId = result1.getUserId();
               if (result1.getCode()==200){
                  //加入新增集合
                  ageList.add(userId.toString());
               }
               //年龄不符合要求
               if (result1.getCode()==201){
                  //number ++
                  number.getAndIncrement();
                  //查询用户信息
                  User user = userService.getById(userId);
                  //加入更新集合
                  errorList.add(user.getRealName());
               }
            }
         }
      }
      if (ageList.size()>0) {
         //遍历
         ageList.forEach(userId -> {
            User user = userService.getUserById(userId);
            //未报名的新增,已报名的不做处理
            if (null == user.getIsTrain()) {
               TrainingRegistration trainingRegistration1 = new TrainingRegistration();
               trainingRegistration1.setCancel(1);
               //默认为未考试状态
               trainingRegistration1.setIsExam(1);
               //未提交考试审核
               trainingRegistration1.setAuditStatus(4);
               trainingRegistration1.setTrainingTime(new Date());
               trainingRegistration1.setUserId(userId);
               trainingRegistration1.setTrainingUnitId(trainingRegistration.getTrainingUnitId());
               trainingRegistrationService.save(trainingRegistration1);
               //修改保安报名状态
               user.setIsTrain(1);
               userService.updateById(user);
               //数据同步
               saveTrainingRegistration(trainingRegistration1, user);
            } else {
               if (user.getIsTrain() != 1) {
                  TrainingRegistration trainingRegistration1 = new TrainingRegistration();
                  trainingRegistration1.setCancel(1);
                  //默认为未考试状态
                  trainingRegistration1.setIsExam(1);
                  //未提交考试审核
                  trainingRegistration1.setAuditStatus(4);
                  trainingRegistration1.setTrainingTime(new Date());
                  trainingRegistration1.setUserId(userId);
                  trainingRegistration1.setTrainingUnitId(trainingRegistration.getTrainingUnitId());
                  trainingRegistrationService.save(trainingRegistration1);
                  //修改保安报名状态
                  user.setIsTrain(1);
                  userService.updateById(user);
                  //数据同步
                  saveTrainingRegistration(trainingRegistration1, user);
               }
            }
         });
      }
      //如果存在年龄不符的,则抛出异常
      if (number.get()>0){
         String errorAccount = StringUtils.join(errorList, "\\\n");
         throw new ServiceException("保安员:[" + errorAccount + "]报名失败!年龄不符,报名年龄为[18-60]周岁!");
      }
//      Result result = new Result();
//      int count = 0;
//      //调用ftp获取返回数据
//      while (true){
//         try {
//            Thread.sleep(3000);
//         } catch (InterruptedException e) {
//            e.printStackTrace();
//         }
//         //调用ftp获取返回数据
//         result = Monitor.getFtpDataByUuidListTrain(uuid);
//         //如果返回true,就退处
//         if (result.getCode() == 200) {
//            break;
//         }
//         else {
//            count++;
//            if (count == 30) {
//               break;
//            }
//         }
//      }
//
//      //创建集合,存年龄符合要求
//      List<String> ageList = new ArrayList<>();
//      //创建年龄不符合集合
//      List<String> errorList = new ArrayList<>();
//      AtomicInteger number  = new AtomicInteger();
//      if (null!=result){
//         //获取 result
//         List<Result> data1 = result.getData();
//         if (data1.size()>0){
//            for (Result result1 : data1) {
//               // 取出 Msg ,此 msg 存的对应的 uuid
//               Long userId = result1.getUserId();
//               if (result1.getCode()==200){
//                  //加入新增集合
//                  ageList.add(userId.toString());
//               }
//               //年龄不符合要求
//               if (result1.getCode()==201){
//                  //number ++
//                  number.getAndIncrement();
//                  //查询用户信息
//                  User user = userService.getById(userId);
//                  //加入更新集合
//                  errorList.add(user.getRealName());
//               }
//            }
//         }
//      }
//
//      if (ageList.size()>0) {
//         //遍历
//         ageList.forEach(userId -> {
//            User user = userService.getUserById(userId);
//            //未报名的新增,已报名的不做处理
//            if (null == user.getIsTrain()) {
//               TrainingRegistration trainingRegistration1 = new TrainingRegistration();
//               trainingRegistration1.setCancel(1);
//               //默认为未考试状态
//               trainingRegistration1.setIsExam(1);
//               //未提交考试审核
//               trainingRegistration1.setAuditStatus(4);
//               trainingRegistration1.setTrainingTime(new Date());
//               trainingRegistration1.setUserId(userId);
//               trainingRegistration1.setTrainingUnitId(trainingRegistration.getTrainingUnitId());
//               trainingRegistrationService.save(trainingRegistration1);
//               //修改保安报名状态
//               user.setIsTrain(1);
//               userService.updateById(user);
//
//               //数据同步
//               saveTrainingRegistration(trainingRegistration1, user);
//            } else {
//               if (user.getIsTrain() != 1) {
//                  TrainingRegistration trainingRegistration1 = new TrainingRegistration();
//                  trainingRegistration1.setCancel(1);
//                  //默认为未考试状态
//                  trainingRegistration1.setIsExam(1);
//                  //未提交考试审核
//                  trainingRegistration1.setAuditStatus(4);
//                  trainingRegistration1.setTrainingTime(new Date());
//                  trainingRegistration1.setUserId(userId);
//                  trainingRegistration1.setTrainingUnitId(trainingRegistration.getTrainingUnitId());
//                  trainingRegistrationService.save(trainingRegistration1);
//                  //修改保安报名状态
//                  user.setIsTrain(1);
//                  userService.updateById(user);
//
//                  //数据同步
//                  saveTrainingRegistration(trainingRegistration1, user);
//               }
//            }
//         });
//      }
//
//      //如果存在年龄不符的,则抛出异常
//      if (number.get()>0){
//         String errorAccount = StringUtils.join(errorList, "\\\n");
//         throw new ServiceException("保安员:[" + errorAccount + "]报名失败!年龄不符,报名年龄为[18-60]周岁!");
//      }
      return R.data(200,"报名成功");
   }