智慧保安后台管理-外网项目备份
Administrator
2021-11-27 dca2532f01dac86be25ad09fa9ee8035bccdca6a
src/main/java/org/springblade/modules/training/controller/TrainingRegistrationController.java
@@ -9,38 +9,32 @@
import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;
import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;
import org.springblade.common.utils.arg;
import org.apache.commons.lang3.StringUtils;
import org.springblade.common.constant.AgeUtil;
import org.springblade.core.excel.util.ExcelUtil;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.modules.FTP.FtpUtil;
import org.springblade.modules.apply.entity.Apply;
import org.springblade.modules.apply.excel.ApplyImporter;
import org.springblade.modules.apply.excel.ApplyInfoExcel;
import org.springblade.modules.apply.vo.ApplyVO;
import org.springblade.modules.exam.entity.ExamPaper;
import org.springblade.modules.exam.entity.ExamScore;
import org.springblade.modules.exam.excel.ExamScoreExcel;
import org.springblade.modules.exam.service.ExamPaperService;
import org.springblade.modules.system.entity.User;
import org.springblade.modules.system.service.IUserService;
import org.springblade.modules.training.entity.TrainExam;
import org.springblade.modules.training.entity.TrainingRegistration;
import org.springblade.modules.training.excel.TrainingRegistrationExcel;
import org.springblade.modules.training.excel.TrainingRegistrationImporter;
import org.springblade.modules.training.service.TrainExamService;
import org.springblade.modules.training.service.TrainingRegistrationService;
import org.springblade.modules.training.vo.TrainingRegistrationVo;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.concurrent.atomic.AtomicInteger;
/**
 * @author zhongrj
@@ -284,8 +278,15 @@
   @PostMapping("/batchTrain")
   public R batchApply(@RequestBody TrainingRegistrationVo trainingRegistration){
      List<String> list = Arrays.asList(trainingRegistration.getUserIds().split(","));
      AtomicInteger count  = new AtomicInteger();
      //创建年龄部分对象集合
      List<String> errorList = new ArrayList<>();
      //遍历
      list.forEach(userId ->{
         User user = userService.getById(userId);
         //判断年龄
         Integer age = AgeUtil.idCardToAge(user.getCardid());
         if (age>=18 && age<=60) {
         //未报名的新增,已报名的不做处理
         if (null==user.getIsTrain()) {
            TrainingRegistration trainingRegistration1 = new TrainingRegistration();
@@ -324,7 +325,18 @@
               saveTrainingRegistration(trainingRegistration1,user);
            }
         }
         }else {
            //count ++
            count.getAndIncrement();
            //放入集合
            errorList.add(user.getCardid());
         }
      });
      //如果存在年龄不符的,则抛出异常
      if (count.get()>0){
         String errorAccount = StringUtils.join(errorList, "\\\n");
         throw new ServiceException("保安员:[" + errorAccount + "]报名失败!年龄不符,报名年龄为[18-60]周岁!");
      }
      return R.data(200,"报名成功");
   }