|
@@ -19,6 +19,7 @@ import com.qmth.themis.common.contanst.Constants;
|
|
|
import com.qmth.themis.common.exception.BusinessException;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
+import org.springframework.util.CollectionUtils;
|
|
|
import org.springframework.util.LinkedMultiValueMap;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
@@ -202,8 +203,12 @@ public class TempleteLogicServiceImpl implements TempleteLogicService {
|
|
|
max = size;
|
|
|
}
|
|
|
}
|
|
|
- teStudentMapper.insertOrUpdateBath(teStudentList);
|
|
|
- teExamStudentMapper.insertOrUpdateBath(teExamStudentList);
|
|
|
+ if (!CollectionUtils.isEmpty(teStudentList)) {
|
|
|
+ teStudentMapper.insertOrUpdateBath(teStudentList);
|
|
|
+ }
|
|
|
+ if (!CollectionUtils.isEmpty(teExamStudentList)) {
|
|
|
+ teExamStudentMapper.insertOrUpdateBath(teExamStudentList);
|
|
|
+ }
|
|
|
}
|
|
|
map.put("line", line);
|
|
|
//考场创建
|
|
@@ -219,7 +224,9 @@ public class TempleteLogicServiceImpl implements TempleteLogicService {
|
|
|
count.getAndIncrement();
|
|
|
}
|
|
|
});
|
|
|
- tbExamInvigilateUserMapper.insertOrUpdateBath(tbExamInvigilateUserList);
|
|
|
+ if (!CollectionUtils.isEmpty(tbExamInvigilateUserList)) {
|
|
|
+ tbExamInvigilateUserMapper.insertOrUpdateBath(tbExamInvigilateUserList);
|
|
|
+ }
|
|
|
if (count.get() > 0) {
|
|
|
txtList.add(DateUtil.format(new Date(), Constants.DEFAULT_DATE_PATTERN) + "->创建了" + count + "条考场数据");
|
|
|
}
|
|
@@ -236,7 +243,7 @@ public class TempleteLogicServiceImpl implements TempleteLogicService {
|
|
|
*/
|
|
|
@Override
|
|
|
@Transactional
|
|
|
- public Map<String, Object> execImportRoomCodeLogic(List<LinkedMultiValueMap<Integer, Object>> finalList, Map<String, Object> map) {
|
|
|
+ public Map<String, Object> execImportRoomCodeLogic(List<LinkedMultiValueMap<Integer, Object>> finalList, Map<String, Object> map) throws UnsupportedEncodingException {
|
|
|
Long orgId = null;
|
|
|
if (Objects.nonNull(map.get(SystemConstant.ORG_ID))) {
|
|
|
orgId = Long.parseLong(String.valueOf(map.get(SystemConstant.ORG_ID)));
|
|
@@ -267,9 +274,9 @@ public class TempleteLogicServiceImpl implements TempleteLogicService {
|
|
|
RoomCodeImportDto roomCodeImportDto = (RoomCodeImportDto) subList.get(y);
|
|
|
roomCodeSet.add(roomCodeImportDto.getRoomCode());
|
|
|
roomNameSet.add(roomCodeImportDto.getRoomName());
|
|
|
- dataVerify(examId, roomCodeImportDto.getTeacher1(), roomCodeImportDto.getRoomCode(), roomCodeImportDto.getRoomName(), orgId, createId, tbUserList, tbUserRoleList, tbExamInvigilateUserList);
|
|
|
- dataVerify(examId, roomCodeImportDto.getTeacher2(), roomCodeImportDto.getRoomCode(), roomCodeImportDto.getRoomName(), orgId, createId, tbUserList, tbUserRoleList, tbExamInvigilateUserList);
|
|
|
- dataVerify(examId, roomCodeImportDto.getTeacher3(), roomCodeImportDto.getRoomCode(), roomCodeImportDto.getRoomName(), orgId, createId, tbUserList, tbUserRoleList, tbExamInvigilateUserList);
|
|
|
+ dataVerify(examId, roomCodeImportDto.getTeacher1(), roomCodeImportDto.getTeacher1Pwd(), roomCodeImportDto.getRoomCode(), roomCodeImportDto.getRoomName(), orgId, createId, tbUserList, tbUserRoleList, tbExamInvigilateUserList);
|
|
|
+ dataVerify(examId, roomCodeImportDto.getTeacher2(), roomCodeImportDto.getTeacher2Pwd(), roomCodeImportDto.getRoomCode(), roomCodeImportDto.getRoomName(), orgId, createId, tbUserList, tbUserRoleList, tbExamInvigilateUserList);
|
|
|
+ dataVerify(examId, roomCodeImportDto.getTeacher3(), roomCodeImportDto.getTeacher3Pwd(), roomCodeImportDto.getRoomCode(), roomCodeImportDto.getRoomName(), orgId, createId, tbUserList, tbUserRoleList, tbExamInvigilateUserList);
|
|
|
}
|
|
|
txtList = this.importProgress(max, min, size, txtList, tbTaskHistory);
|
|
|
if (max == size) {
|
|
@@ -281,9 +288,6 @@ public class TempleteLogicServiceImpl implements TempleteLogicService {
|
|
|
max = size;
|
|
|
}
|
|
|
}
|
|
|
-// tbUserService.saveOrUpdateBatch(tbUserList);
|
|
|
-// tbUserRoleService.saveOrUpdateBatch(tbUserRoleList);
|
|
|
-// tbExamInvigilateUserService.saveOrUpdateBatch(tbExamInvigilateUserList);
|
|
|
}
|
|
|
QueryWrapper<TBExamInvigilateUser> wrapper = new QueryWrapper<>();
|
|
|
wrapper.lambda().eq(TBExamInvigilateUser::getOrgId, orgId)
|
|
@@ -292,9 +296,15 @@ public class TempleteLogicServiceImpl implements TempleteLogicService {
|
|
|
.in(TBExamInvigilateUser::getRoomName, roomNameSet);
|
|
|
tbExamInvigilateUserService.remove(wrapper);
|
|
|
|
|
|
- tbUserMapper.insertOrUpdateBath(tbUserList);
|
|
|
- tbUserRoleMapper.insertOrUpdateBath(tbUserRoleList);
|
|
|
- tbExamInvigilateUserMapper.insertOrUpdateBath(tbExamInvigilateUserList);
|
|
|
+ if (!CollectionUtils.isEmpty(tbUserList)) {
|
|
|
+ tbUserMapper.insertOrUpdateBath(tbUserList);
|
|
|
+ }
|
|
|
+ if (!CollectionUtils.isEmpty(tbUserRoleList)) {
|
|
|
+ tbUserRoleMapper.insertOrUpdateBath(tbUserRoleList);
|
|
|
+ }
|
|
|
+ if (!CollectionUtils.isEmpty(tbExamInvigilateUserList)) {
|
|
|
+ tbExamInvigilateUserMapper.insertOrUpdateBath(tbExamInvigilateUserList);
|
|
|
+ }
|
|
|
map.put("line", line);
|
|
|
return map;
|
|
|
}
|
|
@@ -339,12 +349,13 @@ public class TempleteLogicServiceImpl implements TempleteLogicService {
|
|
|
*
|
|
|
* @param examId
|
|
|
* @param userName
|
|
|
+ * @param password
|
|
|
* @param roomCode
|
|
|
* @param roomName
|
|
|
* @param orgId
|
|
|
* @param createId
|
|
|
*/
|
|
|
- public void dataVerify(Long examId, String userName, String roomCode, String roomName, Long orgId, Long createId, Set<TBUser> tbUserList, Set<TBUserRole> tbUserRoleList, Set<TBExamInvigilateUser> tbExamInvigilateUserList) {
|
|
|
+ public void dataVerify(Long examId, String userName, String password, String roomCode, String roomName, Long orgId, Long createId, Set<TBUser> tbUserList, Set<TBUserRole> tbUserRoleList, Set<TBExamInvigilateUser> tbExamInvigilateUserList) throws UnsupportedEncodingException {
|
|
|
if (checkRoomCodeExist(examId, roomCode, orgId)) {
|
|
|
throw new BusinessException("考场代码 " + roomCode + " 不存在");
|
|
|
}
|
|
@@ -355,14 +366,18 @@ public class TempleteLogicServiceImpl implements TempleteLogicService {
|
|
|
TBUser tbUser = tbUserService.getOne(tbUserQueryWrapper);
|
|
|
if (Objects.isNull(tbUser)) {
|
|
|
//新增用户
|
|
|
- tbUser = new TBUser(orgId, userName, userName, createId);
|
|
|
- tbUserList.add(tbUser);
|
|
|
-// tbUserService.save(tbUser);
|
|
|
-
|
|
|
+ tbUser = new TBUser(orgId, userName, userName, createId, password);
|
|
|
TBUserRole tbUserRole = new TBUserRole(tbUser.getId(), RoleEnum.INVIGILATE.name());
|
|
|
tbUserRoleList.add(tbUserRole);
|
|
|
-// tbUserRoleService.save(tbUserRole);
|
|
|
+ } else {
|
|
|
+ if (Objects.nonNull(password) && !Objects.equals(password.trim(), "")) {
|
|
|
+ tbUser.setPassword(Base64Util.encode(password.trim().getBytes(SystemConstant.CHARSET_NAME)));
|
|
|
+ } else {
|
|
|
+ tbUser.setPassword(SystemConstant.DEFAULT_PASSWORD);
|
|
|
+ }
|
|
|
}
|
|
|
+ tbUserList.add(tbUser);
|
|
|
+
|
|
|
QueryWrapper<TBExamInvigilateUser> tbExamInvigilateUserQueryWrapper = new QueryWrapper<>();
|
|
|
tbExamInvigilateUserQueryWrapper.lambda().eq(TBExamInvigilateUser::getOrgId, orgId)
|
|
|
.eq(TBExamInvigilateUser::getUserId, tbUser.getId())
|