|
@@ -100,18 +100,22 @@ public class AdminUserServiceImpl implements AdminUserService {
|
|
|
validateUserForCreateOrUpdate(null, createReqVO.getUsername(),
|
|
|
createReqVO.getMobile(), createReqVO.getEmail(), createReqVO.getDeptId(), createReqVO.getPostIds(),createReqVO.getSupervisor());
|
|
|
//
|
|
|
- if ("3".equals(createReqVO.getUserType())){//是导师直接添加为负责人
|
|
|
- //上面已经验证过部门存在了
|
|
|
- DeptDO dept = deptService.getDept(createReqVO.getDeptId());
|
|
|
- DeptSaveReqVO newDept =BeanUtils.toBean(dept,DeptSaveReqVO.class);
|
|
|
- newDept.getLeaderUserId().add(createReqVO.getId());
|
|
|
- deptService.updateDept(newDept);
|
|
|
- }
|
|
|
// 2.1 插入用户
|
|
|
AdminUserDO user = BeanUtils.toBean(createReqVO, AdminUserDO.class);
|
|
|
user.setStatus(CommonStatusEnum.ENABLE.getStatus()); // 默认开启
|
|
|
user.setPassword(encodePassword(createReqVO.getPassword())); // 加密密码
|
|
|
userMapper.insert(user);
|
|
|
+
|
|
|
+ if ("3".equals(createReqVO.getUserType())){//是导师直接添加为负责人
|
|
|
+ //上面已经验证过部门存在了
|
|
|
+ DeptDO dept = deptService.getDept(createReqVO.getDeptId());
|
|
|
+ DeptSaveReqVO newDept =BeanUtils.toBean(dept,DeptSaveReqVO.class);
|
|
|
+ List<Long> leaderIdList = newDept.getLeaderUserId();
|
|
|
+ leaderIdList.add(user.getId());
|
|
|
+ newDept.setLeaderUserId(leaderIdList);
|
|
|
+ deptService.updateDept(newDept);
|
|
|
+ }
|
|
|
+
|
|
|
// 2.2 插入关联岗位
|
|
|
if (CollectionUtil.isNotEmpty(user.getPostIds())) {
|
|
|
userPostMapper.insertBatch(convertList(user.getPostIds(),
|
|
@@ -136,10 +140,20 @@ public class AdminUserServiceImpl implements AdminUserService {
|
|
|
// 2.1 更新用户
|
|
|
AdminUserDO updateObj = BeanUtils.toBean(updateReqVO, AdminUserDO.class);
|
|
|
if ("3".equals(updateReqVO.getUserType())){//是导师直接添加为负责人
|
|
|
- //上面已经验证过部门存在了
|
|
|
+ // TODO 删除原部门负责人
|
|
|
+ //获取原来的工作间删除负责人
|
|
|
+ AdminUserDO user =getUser(updateObj.getId());
|
|
|
+ DeptDO originDept = deptService.getDept(user.getDeptId());
|
|
|
+ DeptSaveReqVO originNewDept =BeanUtils.toBean(originDept,DeptSaveReqVO.class);
|
|
|
+ List<Long> originLeaderIdList = originNewDept.getLeaderUserId();
|
|
|
+ originLeaderIdList.remove(user.getId());
|
|
|
+ deptService.updateDept(originNewDept);
|
|
|
+ //添加部门
|
|
|
DeptDO dept = deptService.getDept(updateReqVO.getDeptId());
|
|
|
DeptSaveReqVO newDept =BeanUtils.toBean(dept,DeptSaveReqVO.class);
|
|
|
- newDept.getLeaderUserId().add(updateReqVO.getId());
|
|
|
+ List<Long> leaderIdList = newDept.getLeaderUserId();
|
|
|
+ leaderIdList.add(updateObj.getId());
|
|
|
+ newDept.setLeaderUserId(leaderIdList);
|
|
|
deptService.updateDept(newDept);
|
|
|
}
|
|
|
userMapper.updateById(updateObj);
|
|
@@ -544,7 +558,10 @@ public class AdminUserServiceImpl implements AdminUserService {
|
|
|
|
|
|
@VisibleForTesting
|
|
|
void validateSupervisorExist(Long id, String supervisor) {
|
|
|
- if (supervisor == null) {
|
|
|
+ if (supervisor == null){
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if (supervisor.isEmpty() || supervisor.equals("")) {
|
|
|
return;
|
|
|
}
|
|
|
AdminUserDO user = userMapper.getUserByNickName(supervisor);
|
|
@@ -572,6 +589,10 @@ public class AdminUserServiceImpl implements AdminUserService {
|
|
|
Long deptId =null;
|
|
|
if (dept!=null) {
|
|
|
deptId = dept.getId();
|
|
|
+ }else {
|
|
|
+
|
|
|
+ throw exception(DEPT_NOT_FOUND);
|
|
|
+
|
|
|
}
|
|
|
return deptId;
|
|
|
}
|
|
@@ -702,10 +723,11 @@ public class AdminUserServiceImpl implements AdminUserService {
|
|
|
importUsers.forEach(importUser -> {
|
|
|
|
|
|
Long deptId = null; //工作间名称转id
|
|
|
- if (importUser.getDeptName() != null && !importUser.getDeptName().isEmpty()) {
|
|
|
- deptId = TransformDept(importUser.getDeptName());
|
|
|
- }
|
|
|
+
|
|
|
try {
|
|
|
+ if (importUser.getDeptName() != null && !importUser.getDeptName().isEmpty()) {
|
|
|
+ deptId = TransformDept(importUser.getDeptName());
|
|
|
+ }
|
|
|
validateUserForCreateOrUpdate(null, null, importUser.getMobile(), importUser.getEmail(),
|
|
|
deptId , null,null);
|
|
|
} catch (ServiceException ex) {
|
|
@@ -717,41 +739,33 @@ public class AdminUserServiceImpl implements AdminUserService {
|
|
|
AdminUserDO existUser = userMapper.selectByUsername(importUser.getUsername());
|
|
|
if (existUser == null) {
|
|
|
|
|
|
- AdminUserDO newUser = BeanUtils.toBean(importUser, AdminUserDO.class);
|
|
|
+ UserSaveReqVO newUser = BeanUtils.toBean(importUser, UserSaveReqVO.class);
|
|
|
if (importUser.getPassword()==null){
|
|
|
newUser.setPassword(encodePassword("123456"));
|
|
|
}else {
|
|
|
newUser.setPassword(encodePassword(importUser.getPassword()));
|
|
|
}
|
|
|
- newUser.setDeptId(deptId);//插入工作间id
|
|
|
- Long insertUserId = userMapper.insertAndGetId(newUser);
|
|
|
-
|
|
|
- //将导师设置为工作间负责人
|
|
|
- DeptDO dept = deptService.getDept(deptId);
|
|
|
- DeptSaveReqVO newDept =BeanUtils.toBean(dept,DeptSaveReqVO.class);
|
|
|
- newDept.getLeaderUserId().add(insertUserId);
|
|
|
- deptService.updateDept(newDept);
|
|
|
+ Long userId = createUser(newUser);
|
|
|
// 执行插入用户数据
|
|
|
-
|
|
|
Set<Long> roleIds = new HashSet<>();
|
|
|
//赋予导师角色
|
|
|
- roleIds.add(113L);//导师权限
|
|
|
- permissionService.assignUserRole(insertUserId, roleIds);
|
|
|
+ roleIds.add(113L);//导师权限
|
|
|
+ permissionService.assignUserRole(userId, roleIds);
|
|
|
|
|
|
respVO.getCreateUsernames().add(importUser.getUsername());
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
// 2.2.2 如果存在,判断是否允许更新
|
|
|
if (!isUpdateSupport) {
|
|
|
respVO.getFailureUsernames().put(importUser.getUsername(), USER_USERNAME_EXISTS.getMsg());
|
|
|
return;
|
|
|
}
|
|
|
- AdminUserDO updateUser = BeanUtils.toBean(importUser, AdminUserDO.class);
|
|
|
+ // TODO 调用上面的创建和更新
|
|
|
+ UserSaveReqVO updateUser = BeanUtils.toBean(importUser, UserSaveReqVO.class);
|
|
|
updateUser.setId(existUser.getId());
|
|
|
updateUser.setDeptId(deptId);//更新工作间
|
|
|
- userMapper.updateById(updateUser);
|
|
|
+ updateUser(updateUser);
|
|
|
respVO.getUpdateUsernames().add(importUser.getUsername());
|
|
|
});
|
|
|
return respVO;
|
|
@@ -769,8 +783,6 @@ public class AdminUserServiceImpl implements AdminUserService {
|
|
|
UserImportRespVO respVO = UserImportRespVO.builder().createUsernames(new ArrayList<>())
|
|
|
.updateUsernames(new ArrayList<>()).failureUsernames(new LinkedHashMap<>()).build();
|
|
|
importUsers.forEach(importUser -> {
|
|
|
-
|
|
|
-
|
|
|
try {
|
|
|
validateUserForCreateOrUpdate(null, null, importUser.getMobile(), importUser.getEmail(),
|
|
|
null , null,null);
|
|
@@ -782,7 +794,7 @@ public class AdminUserServiceImpl implements AdminUserService {
|
|
|
// 2.2.1 判断如果不存在,在进行插入
|
|
|
AdminUserDO existUser = userMapper.selectByUsername(importUser.getUsername());
|
|
|
if (existUser == null) {
|
|
|
- AdminUserDO newUser = BeanUtils.toBean(importUser, AdminUserDO.class);
|
|
|
+ UserSaveReqVO newUser = BeanUtils.toBean(importUser, UserSaveReqVO.class);
|
|
|
if (importUser.getPassword()==null){
|
|
|
newUser.setPassword(encodePassword("123456"));
|
|
|
}else {
|
|
@@ -792,34 +804,32 @@ public class AdminUserServiceImpl implements AdminUserService {
|
|
|
newUser.setSupervisorId(userMapper.getUserByNickName(importUser.getSupervisor()).getId());
|
|
|
}// 导师名称转id
|
|
|
|
|
|
- Long insertUserId = userMapper.insertAndGetId(newUser); // 执行插入用户数据
|
|
|
+ Long userId = createUser(newUser); // 执行插入用户数据
|
|
|
|
|
|
Set<Long> roleIds = new HashSet<>();
|
|
|
//赋予学生角色
|
|
|
roleIds.add(112L);//学生权限
|
|
|
- permissionService.assignUserRole(insertUserId, roleIds);
|
|
|
+ permissionService.assignUserRole(userId, roleIds);
|
|
|
|
|
|
respVO.getCreateUsernames().add(importUser.getUsername());
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
// 2.2.2 如果存在,判断是否允许更新
|
|
|
if (!isUpdateSupport) {
|
|
|
respVO.getFailureUsernames().put(importUser.getUsername(), USER_USERNAME_EXISTS.getMsg());
|
|
|
return;
|
|
|
}
|
|
|
- AdminUserDO updateUser = BeanUtils.toBean(importUser, AdminUserDO.class);
|
|
|
+ UserSaveReqVO updateUser = BeanUtils.toBean(importUser, UserSaveReqVO.class);
|
|
|
updateUser.setId(existUser.getId());
|
|
|
if (importUser.getSupervisor()!=null) {
|
|
|
updateUser.setSupervisorId(userMapper.getUserByNickName(importUser.getSupervisor()).getId());
|
|
|
}// 导师名称转id
|
|
|
- userMapper.updateById(updateUser);
|
|
|
+ updateUser(updateUser);
|
|
|
respVO.getUpdateUsernames().add(importUser.getUsername());
|
|
|
});
|
|
|
return respVO;
|
|
|
}
|
|
|
-
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class) // 添加事务,异常则回滚所有导入
|
|
|
public UserImportRespVO importSchoolStudentList(List<StudentImportExcelVO> importUsers, boolean isUpdateSupport) {
|
|
@@ -831,12 +841,11 @@ public class AdminUserServiceImpl implements AdminUserService {
|
|
|
UserImportRespVO respVO = UserImportRespVO.builder().createUsernames(new ArrayList<>())
|
|
|
.updateUsernames(new ArrayList<>()).failureUsernames(new LinkedHashMap<>()).build();
|
|
|
importUsers.forEach(importUser -> {
|
|
|
-
|
|
|
Long deptId = null; //工作间名称转id
|
|
|
- if (importUser.getDeptName() != null && !importUser.getDeptName().isEmpty()) {
|
|
|
- deptId = TransformDept(importUser.getDeptName());
|
|
|
- }
|
|
|
try {
|
|
|
+ if (importUser.getDeptName() != null && !importUser.getDeptName().isEmpty()) {
|
|
|
+ deptId = TransformDept(importUser.getDeptName());
|
|
|
+ }
|
|
|
validateUserForCreateOrUpdate(null, null, importUser.getMobile(), importUser.getEmail(),
|
|
|
deptId , null, importUser.getSupervisor());
|
|
|
} catch (ServiceException ex) {
|
|
@@ -848,7 +857,7 @@ public class AdminUserServiceImpl implements AdminUserService {
|
|
|
|
|
|
if (existUser == null) {
|
|
|
|
|
|
- AdminUserDO newUser = BeanUtils.toBean(importUser, AdminUserDO.class);
|
|
|
+ UserSaveReqVO newUser = BeanUtils.toBean(importUser, UserSaveReqVO.class);
|
|
|
if (importUser.getPassword()==null){
|
|
|
newUser.setPassword(encodePassword("123456"));
|
|
|
}else {
|
|
@@ -859,15 +868,15 @@ public class AdminUserServiceImpl implements AdminUserService {
|
|
|
}// 导师名称转id
|
|
|
|
|
|
newUser.setUserType("1");//添加学生类型
|
|
|
- newUser.setTenantId(1L);//设置租户编号
|
|
|
+// newUser.setTenantId(1L);//设置租户编号
|
|
|
newUser.setDeptId(deptId);//设置工作间id
|
|
|
|
|
|
- Long insertUserId = userMapper.insertAndGetId(newUser); // 执行插入用户数据
|
|
|
+ Long userId = createUser(newUser); // 执行插入用户数据
|
|
|
|
|
|
Set<Long> roleIds = new HashSet<>();
|
|
|
//赋予学生角色
|
|
|
roleIds.add(112L);//学生权限
|
|
|
- permissionService.assignUserRole(insertUserId,roleIds);
|
|
|
+ permissionService.assignUserRole(userId,roleIds);
|
|
|
|
|
|
respVO.getCreateUsernames().add(importUser.getUsername());
|
|
|
return;
|
|
@@ -879,13 +888,13 @@ public class AdminUserServiceImpl implements AdminUserService {
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- AdminUserDO updateUser = BeanUtils.toBean(importUser, AdminUserDO.class);
|
|
|
+ UserSaveReqVO updateUser = BeanUtils.toBean(importUser, UserSaveReqVO.class);
|
|
|
updateUser.setId(existUser.getId());
|
|
|
if (importUser.getSupervisor()!=null) {
|
|
|
updateUser.setSupervisorId(userMapper.getUserByNickName(importUser.getSupervisor()).getId());
|
|
|
}// 导师名称转id
|
|
|
updateUser.setDeptId(deptId);//更新工作间
|
|
|
- userMapper.updateById(updateUser);
|
|
|
+ updateUser(updateUser);
|
|
|
respVO.getUpdateUsernames().add(importUser.getUsername());
|
|
|
});
|
|
|
return respVO;
|
|
@@ -932,5 +941,10 @@ public class AdminUserServiceImpl implements AdminUserService {
|
|
|
return 0L;
|
|
|
}
|
|
|
|
|
|
+ //获取三天内都缺勤的人
|
|
|
+ @Override
|
|
|
+ public List<AdminUserDO> getStudentErrorAttendance(){
|
|
|
+ return userMapper.getStudentErrorAttendance();
|
|
|
+ }
|
|
|
}
|
|
|
|