Compare commits

...

2 Commits

3 changed files with 57 additions and 7 deletions

View File

@ -72,17 +72,38 @@ public class UserServiceImpl implements UserService {
@Override @Override
public void updateUser(Long id, UserDTO dto) { public void updateUser(Long id, UserDTO dto) {
boolean hasUpdate = false;
LambdaUpdateWrapper<User> wrapper = new LambdaUpdateWrapper<User>() LambdaUpdateWrapper<User> wrapper = new LambdaUpdateWrapper<User>()
.eq(User::getId, id) .eq(User::getId, id);
.set(StringUtils.hasText(dto.getName()), User::getName, dto.getName()) if (StringUtils.hasText(dto.getUsername())) {
.set(StringUtils.hasText(dto.getPhone()), User::getPhone, dto.getPhone()) wrapper.set(User::getUsername, dto.getUsername());
.set(StringUtils.hasText(dto.getUsername()),User::getUsername, dto.getUsername()) hasUpdate = true;
.set(Objects.nonNull(dto.getTeamId()), User::getTeamId, dto.getTeamId()); }
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())) { if (StringUtils.hasText(dto.getPassword())) {
String encoded = PasswordUtil.encode(dto.getPassword()); String encoded = PasswordUtil.encode(dto.getPassword());
wrapper.set(User::getPassword, encoded); 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()));
} }
userMapper.update(wrapper);
} }
@Override @Override

View File

@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
<property name="LOG_PATH" value="logs" />
<property name="LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n"/>
<!-- 控制台日志 -->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${LOG_PATTERN}</pattern>
</encoder>
</appender>
<!-- 文件日志,自动带时间戳 -->
<appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_PATH}/equip-reserve.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_PATH}/equip-reserve.%d{yyyy-MM-dd}.log</fileNamePattern>
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<pattern>${LOG_PATTERN}</pattern>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="console" />
<appender-ref ref="file" />
</root>
</configuration>

View File

@ -9,7 +9,7 @@
d.id AS deviceId, d.id AS deviceId,
d.name AS deviceName, d.name AS deviceName,
COUNT(*) AS usageCount, 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 FROM reservations r
JOIN devices d ON r.device_id = d.id JOIN devices d ON r.device_id = d.id
WHERE r.status IN ('APPROVED', 'APPROVED_ASSIST') WHERE r.status IN ('APPROVED', 'APPROVED_ASSIST')