|
@@ -371,6 +371,7 @@ public class UserSubscribeServiceImpl extends ServiceImpl<UserSubscribeMapper, U
|
|
if (System.currentTimeMillis()/1000 > time){
|
|
if (System.currentTimeMillis()/1000 > time){
|
|
throw new CustomException("当前选择的考试时间已过期,请重新预约,选择未过期考试时间");
|
|
throw new CustomException("当前选择的考试时间已过期,请重新预约,选择未过期考试时间");
|
|
}
|
|
}
|
|
|
|
+ subscribeNumCheck(60L,bo.getApplyId());
|
|
//要求非必填考点
|
|
//要求非必填考点
|
|
if(Validator.isNotEmpty(bo.getApplySiteAddress())){
|
|
if(Validator.isNotEmpty(bo.getApplySiteAddress())){
|
|
ExamApplyQueryBo queryTimeBo = new ExamApplyQueryBo();
|
|
ExamApplyQueryBo queryTimeBo = new ExamApplyQueryBo();
|
|
@@ -1211,28 +1212,51 @@ public class UserSubscribeServiceImpl extends ServiceImpl<UserSubscribeMapper, U
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|
|
//考点已申报人数
|
|
//考点已申报人数
|
|
- Long sitePeopleNum = examApplyMapper.sitePeopleNum(queryTimeBo);
|
|
|
|
- System.out.println(queryTimeBo);
|
|
|
|
- List<String> siteTimeJsonList = examApplyMapper.siteTimeJson(queryTimeBo);
|
|
|
|
- String siteTimeJson = siteTimeJsonList.stream().filter(x -> {
|
|
|
|
- List<ExamApplySiteTimeTwoVo> timeTwoVos = JSONArray.parseArray(x, ExamApplySiteTimeTwoVo.class);
|
|
|
|
- ExamApplySiteTimeTwoVo timeTwoVo = timeTwoVos.get(0);
|
|
|
|
- if (timeTwoVo.getStartTime().equals(queryTimeBo.getStartTime())
|
|
|
|
- && timeTwoVo.getEndTime().equals(queryTimeBo.getEndTime())) {
|
|
|
|
- return true;
|
|
|
|
|
|
+// Long sitePeopleNum = examApplyMapper.sitePeopleNum(queryTimeBo);
|
|
|
|
+// System.out.println(queryTimeBo);
|
|
|
|
+// List<String> siteTimeJsonList = examApplyMapper.siteTimeJson(queryTimeBo);
|
|
|
|
+// String siteTimeJson = siteTimeJsonList.stream().filter(x -> {
|
|
|
|
+// List<ExamApplySiteTimeTwoVo> timeTwoVos = JSONArray.parseArray(x, ExamApplySiteTimeTwoVo.class);
|
|
|
|
+// ExamApplySiteTimeTwoVo timeTwoVo = timeTwoVos.get(0);
|
|
|
|
+// if (timeTwoVo.getStartTime().equals(queryTimeBo.getStartTime())
|
|
|
|
+// && timeTwoVo.getEndTime().equals(queryTimeBo.getEndTime())) {
|
|
|
|
+// return true;
|
|
|
|
+// }
|
|
|
|
+// return false;
|
|
|
|
+// }).findFirst().orElse(null);
|
|
|
|
+// if (Validator.isEmpty(siteTimeJson)) {
|
|
|
|
+// userSubscribeImport.setCause("考点数据错误");
|
|
|
|
+// userSubscribeImports.add(userSubscribeImport);
|
|
|
|
+// continue;
|
|
|
|
+// }
|
|
|
|
+// int num = findPeopleNum(queryTimeBo,siteTimeJson);
|
|
|
|
+// if(num==-1||num<=sitePeopleNum){
|
|
|
|
+// userSubscribeImport.setCause("考点人数已满");
|
|
|
|
+// userSubscribeImports.add(userSubscribeImport);
|
|
|
|
+// continue;
|
|
|
|
+// }
|
|
|
|
+
|
|
|
|
+ String tenantId = ServletUtils.getRequest().getHeader("TenantId");
|
|
|
|
+ SysTenant sysTenant = iSysTenantService.getById(Long.valueOf(tenantId));
|
|
|
|
+ if (ObjectUtils.isNotNull(sysTenant.getExamRoom()) && sysTenant.getExamRoom() == 1){
|
|
|
|
+ //公用祥粤考场
|
|
|
|
+ ExamApply examApply = iExamApplyService.getById(applyId);
|
|
|
|
+ if (com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotBlank(examApply.getRelCode())){
|
|
|
|
+ //约考人数
|
|
|
|
+ Integer number = baseMapper.getExamApplyNum(examApply.getRelCode());
|
|
|
|
+ if (number >= 60){
|
|
|
|
+ userSubscribeImport.setCause("考点人数已满");
|
|
|
|
+ userSubscribeImports.add(userSubscribeImport);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }else {
|
|
|
|
+ int countNum = count(new LambdaQueryWrapper<UserSubscribe>()
|
|
|
|
+ .eq(UserSubscribe::getApplyId, applyId)
|
|
|
|
+ .eq(UserSubscribe::getSubscribeStatus, 1));
|
|
|
|
+ if (countNum >= 60){
|
|
|
|
+ userSubscribeImport.setCause("考点人数已满");
|
|
|
|
+ userSubscribeImports.add(userSubscribeImport);
|
|
}
|
|
}
|
|
- return false;
|
|
|
|
- }).findFirst().orElse(null);
|
|
|
|
- if (Validator.isEmpty(siteTimeJson)) {
|
|
|
|
- userSubscribeImport.setCause("考点数据错误");
|
|
|
|
- userSubscribeImports.add(userSubscribeImport);
|
|
|
|
- continue;
|
|
|
|
- }
|
|
|
|
- int num = findPeopleNum(queryTimeBo,siteTimeJson);
|
|
|
|
- if(num==-1||num<=sitePeopleNum){
|
|
|
|
- userSubscribeImport.setCause("考点人数已满");
|
|
|
|
- userSubscribeImports.add(userSubscribeImport);
|
|
|
|
- continue;
|
|
|
|
}
|
|
}
|
|
|
|
|
|
//查看是否有无考试记录
|
|
//查看是否有无考试记录
|
|
@@ -2302,7 +2326,7 @@ public class UserSubscribeServiceImpl extends ServiceImpl<UserSubscribeMapper, U
|
|
//考场人数
|
|
//考场人数
|
|
List<ExamApplySiteTimeTwoAddBo> siteTimeTwoAddBos = JSONArray.parseArray(examApplySiteTime.getSiteTime(), ExamApplySiteTimeTwoAddBo.class);
|
|
List<ExamApplySiteTimeTwoAddBo> siteTimeTwoAddBos = JSONArray.parseArray(examApplySiteTime.getSiteTime(), ExamApplySiteTimeTwoAddBo.class);
|
|
Long userNum = siteTimeTwoAddBos.get(0).getNum();
|
|
Long userNum = siteTimeTwoAddBos.get(0).getNum();
|
|
-
|
|
|
|
|
|
+ subscribeNumCheck(userNum,bo.getApplyId());
|
|
//生成座位号
|
|
//生成座位号
|
|
Integer tNum = getSeatNumber(bo,userNum);
|
|
Integer tNum = getSeatNumber(bo,userNum);
|
|
add.setSeatNumber(tNum.toString());
|
|
add.setSeatNumber(tNum.toString());
|
|
@@ -2382,6 +2406,29 @@ public class UserSubscribeServiceImpl extends ServiceImpl<UserSubscribeMapper, U
|
|
return add.getSubscribeId();
|
|
return add.getSubscribeId();
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ private void subscribeNumCheck(Long userNum,Long applyId) {
|
|
|
|
+ String tenantId = ServletUtils.getRequest().getHeader("TenantId");
|
|
|
|
+ SysTenant sysTenant = iSysTenantService.getById(Long.valueOf(tenantId));
|
|
|
|
+ if (ObjectUtils.isNotNull(sysTenant.getExamRoom()) && sysTenant.getExamRoom() == 1){
|
|
|
|
+ //公用祥粤考场
|
|
|
|
+ ExamApply examApply = iExamApplyService.getById(applyId);
|
|
|
|
+ if (com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotBlank(examApply.getRelCode())){
|
|
|
|
+ //约考人数
|
|
|
|
+ Integer number = baseMapper.getExamApplyNum(examApply.getRelCode());
|
|
|
|
+ if (number >= userNum){
|
|
|
|
+ throw new CustomException("预约考点人数已满,请选择其他场次");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }else {
|
|
|
|
+ int count = count(new LambdaQueryWrapper<UserSubscribe>()
|
|
|
|
+ .eq(UserSubscribe::getApplyId, applyId)
|
|
|
|
+ .eq(UserSubscribe::getSubscribeStatus, 1));
|
|
|
|
+ if (count >= userNum){
|
|
|
|
+ throw new CustomException("预约考点人数已满,请选择其他场次");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
public List<ExamSessionVo> getExamSession(String applyDate) {
|
|
public List<ExamSessionVo> getExamSession(String applyDate) {
|
|
//根据月份筛选
|
|
//根据月份筛选
|