farm模块-用户及角色关联,级联删除
This commit is contained in:
@@ -7,4 +7,7 @@ import org.apache.ibatis.annotations.Mapper;
|
||||
@Mapper
|
||||
public interface PersonnelMapper extends BaseMapperX<PersonnelDO> {
|
||||
|
||||
default PersonnelDO selectByPhone(String mobile) {
|
||||
return selectOne(PersonnelDO::getPhone, mobile);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -176,6 +176,27 @@ public class AdminUserServiceImpl implements AdminUserService {
|
||||
// 2.1 更新用户
|
||||
AdminUserDO updateObj = BeanUtils.toBean(updateReqVO, AdminUserDO.class);
|
||||
userMapper.updateById(updateObj);
|
||||
AdminUserDO adminUserDO = userMapper.selectById(updateObj.getId());
|
||||
PersonnelDO userDo = personnelMapper.selectByPhone(adminUserDO.getMobile());
|
||||
if (updateObj.getNickname() != null) userDo.setName(updateObj.getNickname());
|
||||
if (updateObj.getMobile() != null) userDo.setPhone(updateObj.getMobile());
|
||||
if (updateObj.getDeptId() != null) userDo.setDepartment(updateObj.getDeptId().toString());
|
||||
if (updateObj.getTenantId() != null) userDo.setTenantId(updateObj.getTenantId().toString());
|
||||
if (updateObj.getAvatar() != null) userDo.setPicture(updateObj.getAvatar());
|
||||
userDo.setAccountStatus(0);
|
||||
List<UserPostDO> userPostDOS = convertList(updateObj.getPostIds(),
|
||||
postId -> new UserPostDO().setUserId(updateObj.getId()).setPostId(postId));
|
||||
String roles = "";
|
||||
for (UserPostDO up : userPostDOS) {
|
||||
if (roles.length() > 0) {
|
||||
roles += "," + up.getPostId();
|
||||
} else {
|
||||
roles = up.getPostId().toString();
|
||||
}
|
||||
}
|
||||
userDo.setRole(roles);
|
||||
personnelMapper.updateById(userDo);
|
||||
|
||||
// 2.2 更新岗位
|
||||
updateUserPost(updateReqVO, updateObj);
|
||||
|
||||
@@ -262,7 +283,8 @@ public class AdminUserServiceImpl implements AdminUserService {
|
||||
public void deleteUser(Long id) {
|
||||
// 1. 校验用户存在
|
||||
AdminUserDO user = validateUserExists(id);
|
||||
|
||||
AdminUserDO adminUserDO = userMapper.selectById(id);
|
||||
personnelMapper.delete(PersonnelDO::getPhone, adminUserDO.getMobile());
|
||||
// 2.1 删除用户
|
||||
userMapper.deleteById(id);
|
||||
// 2.2 删除用户关联数据
|
||||
|
||||
Reference in New Issue
Block a user