bugfix: 修复修改用户信息时若没有修改用户表内列内容执行update报错、修改用户角色时没有执行user_role的更新
This commit is contained in:
parent
91492960f7
commit
0be8abfaaa
@ -72,18 +72,39 @@ public class UserServiceImpl implements UserService {
|
||||
|
||||
@Override
|
||||
public void updateUser(Long id, UserDTO dto) {
|
||||
boolean hasUpdate = false;
|
||||
LambdaUpdateWrapper<User> wrapper = new LambdaUpdateWrapper<User>()
|
||||
.eq(User::getId, id)
|
||||
.set(StringUtils.hasText(dto.getName()), User::getName, dto.getName())
|
||||
.set(StringUtils.hasText(dto.getPhone()), User::getPhone, dto.getPhone())
|
||||
.set(StringUtils.hasText(dto.getUsername()),User::getUsername, dto.getUsername())
|
||||
.set(Objects.nonNull(dto.getTeamId()), User::getTeamId, dto.getTeamId());
|
||||
.eq(User::getId, id);
|
||||
if (StringUtils.hasText(dto.getUsername())) {
|
||||
wrapper.set(User::getUsername, dto.getUsername());
|
||||
hasUpdate = true;
|
||||
}
|
||||
if (StringUtils.hasText(dto.getName())) {
|
||||
wrapper.set(User::getName, dto.getName());
|
||||
hasUpdate = true;
|
||||
}
|
||||
if (StringUtils.hasText(dto.getPhone())) {
|
||||
wrapper.set(User::getPhone, dto.getPhone());
|
||||
hasUpdate = true;
|
||||
}
|
||||
if (Objects.nonNull(dto.getTeamId())) {
|
||||
wrapper.set(User::getTeamId, dto.getTeamId());
|
||||
hasUpdate = true;
|
||||
}
|
||||
if (StringUtils.hasText(dto.getPassword())) {
|
||||
String encoded = PasswordUtil.encode(dto.getPassword());
|
||||
wrapper.set(User::getPassword, encoded);
|
||||
hasUpdate = true;
|
||||
}
|
||||
if (hasUpdate) {
|
||||
userMapper.update(wrapper);
|
||||
}
|
||||
if (Objects.nonNull(dto.getRoleId())) {
|
||||
userRoleMapper.update(new LambdaUpdateWrapper<UserRole>()
|
||||
.eq(UserRole::getUserId, id)
|
||||
.set(UserRole::getRoleId, dto.getRoleId()));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Page<UserVO> getUserVOs(Page<User> pageRequest, String name) {
|
||||
|
@ -9,7 +9,7 @@
|
||||
d.id AS deviceId,
|
||||
d.name AS deviceName,
|
||||
COUNT(*) AS usageCount,
|
||||
SUM(TIMESTAMPDIFF(DAY, r.start_time, r.end_time)) AS totalUsageDays
|
||||
SUM(TIMESTAMPDIFF(DAY, r.start_time, r.end_time) + 1) AS totalUsageDays
|
||||
FROM reservations r
|
||||
JOIN devices d ON r.device_id = d.id
|
||||
WHERE r.status IN ('APPROVED', 'APPROVED_ASSIST')
|
||||
|
Loading…
x
Reference in New Issue
Block a user