完善管理员分页查询用户功能

--AdminPageUserDTO.java 修改的dto的说明
--AdminPageUserVO.java 添加了状态的字段
--DeviceService.java 添加了查询用户设备数量定义
--DeviceServiceImpl.java 实现查询用户设备方法
--SysUserServiceImpl.java 完善分页查询,查询出每个用户的设备数量和状态字段
This commit is contained in:
剑雨
2025-03-31 16:30:56 +08:00
parent d10ba456d7
commit 26e471616c
5 changed files with 22 additions and 3 deletions
@@ -45,4 +45,11 @@ public interface DeviceService {
* @param userId 用户id
*/
void deleteByUserId(Long userId);
/**
* 获取指定用户的设备数量
* @param userId 用户id
* @return 设备数量
*/
Long selectCountByUserId(Long userId);
}
@@ -205,6 +205,13 @@ public class DeviceServiceImpl extends BaseServiceImpl<DeviceDao, DeviceEntity>
baseDao.delete(wrapper);
}
@Override
public Long selectCountByUserId(Long userId) {
UpdateWrapper<DeviceEntity> wrapper = new UpdateWrapper<>();
wrapper.eq("user_id", userId);
return baseDao.selectCount(wrapper);
}
private DeviceReportRespDTO.ServerTime buildServerTime() {
DeviceReportRespDTO.ServerTime serverTime = new DeviceReportRespDTO.ServerTime();
TimeZone tz = TimeZone.getDefault();
@@ -10,7 +10,7 @@ import lombok.Data;
* @since 2025-3-21
*/
@Data
@Schema(description = "音色分页参数")
@Schema(description = "管理员分页用户的参数DTO")
public class AdminPageUserDTO {
@Schema(description = "手机号码")
@@ -161,12 +161,14 @@ public class SysUserServiceImpl extends BaseServiceImpl<SysUserDao, SysUserEntit
new QueryWrapper<SysUserEntity>()
// 必须按照手机号码查找
.eq(StringUtils.isNotBlank(dto.getMobile()), "username", dto.getMobile()));
// 循环处理page获取回来的数据,返回需要的字段
List<AdminPageUserVO> list = page.getRecords().stream().map(user -> {
AdminPageUserVO adminPageUserVO = new AdminPageUserVO();
adminPageUserVO.setUserid(user.getId().toString());
adminPageUserVO.setMobile(user.getUsername());
// TODO 2. 等设备功能写好,获取对应数据
adminPageUserVO.setDeviceCount("0");
String deviceCount = deviceService.selectCountByUserId(user.getId()).toString();
adminPageUserVO.setDeviceCount(deviceCount);
adminPageUserVO.setStatus(user.getStatus().toString());
return adminPageUserVO;
}).toList();
return new PageData<>(list, page.getTotal());
@@ -20,4 +20,7 @@ public class AdminPageUserVO {
@Schema(description = "用户id")
private String userid;
@Schema(description = "用户状态")
private String status;
}